Class AwsDirectConnectAdapter<T>

java.lang.Object
com.eqixiac.equinix.fabric.model.implementation.cloud.AwsDirectConnectAdapter<T>
Type Parameters:
T - the type of the AWS SDK object being adapted (e.g., Connection, or use ? for manual construction)
All Implemented Interfaces:
CloudProviderConnectionAdapter<T>

public class AwsDirectConnectAdapter<T> extends Object implements CloudProviderConnectionAdapter<T>
Adapter for bridging AWS Direct Connect SDK objects with Equinix Fabric connections.

AWS Direct Connect provides dedicated network connections between AWS and colocation facilities. When creating an Equinix Fabric connection to AWS, you need:

  • Authentication Key: Your 12-digit AWS Account ID
  • Seller Region: The AWS region (e.g., "us-east-1", "eu-west-1")
  • Service Profile: The Equinix Fabric service profile UUID for AWS Direct Connect

Usage with AWS SDK Object

// From AWS Direct Connect SDK
com.amazonaws.services.directconnect.model.Connection awsConnection = ...;

AwsDirectConnectAdapter<Connection> adapter = new AwsDirectConnectAdapter<>(
    awsConnection,
    awsConnection.getOwnerAccount(),   // 12-digit AWS Account ID
    awsConnection.getRegion(),          // e.g., "us-east-1"
    "equinix-aws-profile-uuid",          // Equinix service profile for AWS
    "SV"                                   // Equinix metro of the provider port
);

Connection conn = fabric.connections()
    .define(ConnectionType.EVPL_VC)
    .name("AWS-" + awsConnection.getConnectionName())
    .bandwidth(awsConnection.getBandwidth())
    .aSideAccessPointPort(portUuid, LinkProtocol.dot1q().vlanTag(1000).create())
    .zSideCloudProvider(adapter)
    .notification("ops@example.com")
    .create();

Manual Construction (No AWS SDK)

AwsDirectConnectAdapter<?> adapter = AwsDirectConnectAdapter.of(
    "123456789012",                      // AWS Account ID
    "us-east-1",                          // Region
    "equinix-aws-profile-uuid",            // Equinix service profile
    "SV"                                   // Equinix metro of the provider port
);
Author:
ianjones
See Also:
  • Constructor Details

    • AwsDirectConnectAdapter

      public AwsDirectConnectAdapter(T source, String awsAccountId, String awsRegion, String serviceProfileUuid, String metroCode)
      Creates an adapter wrapping an AWS Direct Connect SDK object.
      Parameters:
      source - the AWS SDK object (e.g., Connection)
      awsAccountId - the 12-digit AWS Account ID used as the authentication key
      awsRegion - the AWS region (e.g., "us-east-1")
      serviceProfileUuid - the Equinix Fabric service profile UUID for AWS Direct Connect
      metroCode - the Equinix metro the provider is reached in, e.g. "SV"; required, sent as zSide.accessPoint.location.metroCode
  • Method Details

    • of

      public static AwsDirectConnectAdapter<Void> of(String awsAccountId, String awsRegion, String serviceProfileUuid, String metroCode)
      Creates an adapter without an AWS SDK object, using manually specified parameters.
      Parameters:
      awsAccountId - the 12-digit AWS Account ID
      awsRegion - the AWS region (e.g., "us-east-1")
      serviceProfileUuid - the Equinix Fabric service profile UUID for AWS Direct Connect
      metroCode - the Equinix metro the provider is reached in, e.g. "SV"; required, sent as zSide.accessPoint.location.metroCode
      Returns:
      a new adapter configured for AWS Direct Connect
    • getProviderType

      public CloudProviderType getProviderType()
      Description copied from interface: CloudProviderConnectionAdapter
      Returns the cloud provider type for this adapter.

      Used for logging, diagnostics, and provider-specific defaults. Implementations should return the appropriate CloudProviderType constant.

      Specified by:
      getProviderType in interface CloudProviderConnectionAdapter<T>
      Returns:
      the cloud provider type
    • getPreferredConnectionType

      public ConnectionType getPreferredConnectionType()
      Description copied from interface: CloudProviderConnectionAdapter
      Returns the preferred connection type for this cloud provider.

      Most cloud provider connections use ConnectionType.EVPL_VC, but implementations can override this to return a different default. The user can always override the connection type when calling the builder.

      Specified by:
      getPreferredConnectionType in interface CloudProviderConnectionAdapter<T>
      Returns:
      the preferred connection type; defaults to ConnectionType.EVPL_VC
    • getPreferredLinkProtocol

      public LinkProtocol getPreferredLinkProtocol()
      Description copied from interface: CloudProviderConnectionAdapter
      Returns the preferred link protocol for this cloud provider connection.

      Most cloud provider connections use DOT1Q encapsulation. Implementations can override this to provide a provider-specific default. Returns null to indicate no default (the user must specify the link protocol explicitly).

      Specified by:
      getPreferredLinkProtocol in interface CloudProviderConnectionAdapter<T>
      Returns:
      the preferred link protocol, or null if none