Class PlanMarker

java.lang.Object
com.eqixiac.equinix.design.plan.PlanMarker

public final class PlanMarker extends Object
How resources created from a plan are marked so drift detection and reconcile can find them again.

What Fabric persists (read-only calls and dryRun=true creates, 2026-11-12):

  • Connections persist a top-level additionalInfo list of key/value pairs: live connections in the test project return it on GET / search, and a dryRun=true IP_VC create carrying the three keys below was accepted (HTTP 200) and echoed them back. The spec lists additionalInfo on ConnectionPostRequest and on Connection. A connection therefore carries "eqxSdkDeployment" (the plan's deployment name), "eqxSdkKey" (the step's logical key) and "eqxSdkPlan" (the content hash of the plan that created it).
  • Cloud Routers have no description, tag or additional-info field: the live router read returns only package, type, name, location, order, project, account, notifications, ids and state, and CloudRouterPostRequest has nothing else. A router is found by its exact planned name inside the plan's project; a router whose name starts with the plan's name prefix but is not in the plan is reported as unmanaged.
  • Routing protocols are found under their (already matched) parent connection, by name and then by type.

Fabric names are limited to 24 characters, too short to embed a plan id; the name prefix (DeploymentWizard.Builder.routerNamePrefix) is the human-visible marker, so give each deployment that shares a project a distinct prefix.

  • Field Details

    • DEPLOYMENT_KEY

      public static final String DEPLOYMENT_KEY
      additionalInfo key carrying the plan's deployment name (stable across edits of the plan).
      See Also:
    • LOGICAL_KEY

      public static final String LOGICAL_KEY
      additionalInfo key carrying the step's logical key.
      See Also:
    • PLAN_KEY

      public static final String PLAN_KEY
      additionalInfo key carrying the content hash (plan id) of the plan that created the resource.
      See Also:
  • Method Details

    • connectionMarker

      public static Map<String,String> connectionMarker(String deploymentName, String logicalKey, String planId)
      The additionalInfo entries stamped on a connection created from a plan.
      Parameters:
      deploymentName - the plan's deployment name
      logicalKey - the connection's logical key
      planId - the plan id
      Returns:
      the entries, in a stable order; entries with a null value are omitted
    • belongsTo

      public static boolean belongsTo(Map<String,String> additionalInfo, String deploymentName)
      Whether a live connection's additionalInfo marks it as belonging to the given deployment.
      Parameters:
      additionalInfo - the live entries (may be null)
      deploymentName - the plan's deployment name
      Returns:
      true when "eqxSdkDeployment" equals deploymentName
    • hasPrefix

      public static boolean hasPrefix(String name, String prefix)
      Whether a router name carries the plan's name prefix ("<prefix>-").
      Parameters:
      name - the live router name
      prefix - the plan's name prefix
      Returns:
      true when the name starts with the prefix and a dash