fix: prevent delayed cancellation for mcr and transit vxc #117
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.
Summary
This PR enforces API lifecycle restrictions for MCR and Transit VXC (Megaport Internet) products by preventing scheduled deletion (cancel later) and allowing only immediate deletion (CANCEL_NOW). When attempting to delete an MCR with
DeleteNow: false, the SDK now returnsErrMCRCancelLaterNotAllowed; similarly, Transit VXCs are detected by checking forconnectType: "TRANSIT"in the CSP connection configuration and returnErrTransitVXCCancelLaterNotAllowedwhen scheduled deletion is attempted. This change aligns the SDK with API requirements while maintaining backward compatibility for all other product types.Changes
DeleteMCRnow returns an error ifDeleteNow: falseis specifiedDeleteVXCdetects Transit VXCs and returns an error ifDeleteNow: falseis specifiedErrMCRCancelLaterNotAllowedandErrTransitVXCCancelLaterNotAllowedwith descriptive messagesisTransitVXC()to detect Transit VXCs by examining CSP connection typeBreaking Changes
Users who were previously scheduling MCR or Transit VXC deletions with
DeleteNow: falsewill now receive an error. They must useDeleteNow: truefor these product types.