Eliminate bad assumption about logical interface node IDs #980
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
apstra_datacenter_ip_link_addressing
resource takes the ID of a logicallink
node as input (link_id
).The actual IP addresses need to be assigned to the logical
interface
nodes on either end of thelink
, and the associated API call requires thoseinterface
node IDs as input.The original version of the
apstra_datacenter_ip_link_addressing
resource assumed that the logical link IDs were immutable, but that's only partly true: Changes to the CT which created the logical link may cause the link and associated interfaces to be replaced. The link ID is constructed from predictable values, so it doesn't change even if replaced. The interface IDs will be different when they are removed and recreated.Changes in this PR:
generic_interface_id
andswitch_interface_id
have been removed.Create()
) interface addressing strategy are now stored in private state (for restoration duringDestroy()
) using structs and methods in a new packageprivate
which can be extended to support similar use cases in the future.Closes #978