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>
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the preferred connection type for this cloud provider.Returns the preferred link protocol for this cloud provider connection.Returns the cloud provider type for this adapter.static AwsDirectConnectAdapter<Void> Creates an adapter without an AWS SDK object, using manually specified parameters.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CloudProviderConnectionAdapter
describe, getActivationKey, getAuthenticationKey, getMetroCode, getPreferredPeeringType, getSellerRegion, getServiceProfileUuid, getSourceModifier and TypeMethodDescriptiondefault Stringdescribe()Returns a human-readable description of the cloud provider connection for use in logging and diagnostics.default StringReturns the activation key to send asAccessPoint.activationKey, ornullto omit that property.Returns the authentication key required by the cloud provider to authorize the connection.default StringReturns the metro code to send asAccessPoint.location.metroCodeon the provider side.default PeeringTypeReturns the preferred peering type for this cloud provider connection.Returns the cloud provider's region where the connection will terminate.Returns the Equinix Fabric service profile UUID for this cloud provider.Returns the underlying cloud provider SDK object that was adapted.
-
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 keyawsRegion- the AWS region (e.g.,"us-east-1")serviceProfileUuid- the Equinix Fabric service profile UUID for AWS Direct ConnectmetroCode- the Equinix metro the provider is reached in, e.g."SV"; required, sent aszSide.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 IDawsRegion- the AWS region (e.g.,"us-east-1")serviceProfileUuid- the Equinix Fabric service profile UUID for AWS Direct ConnectmetroCode- the Equinix metro the provider is reached in, e.g."SV"; required, sent aszSide.accessPoint.location.metroCode- Returns:
- a new adapter configured for AWS Direct Connect
-
getProviderType
Description copied from interface:CloudProviderConnectionAdapterReturns the cloud provider type for this adapter.Used for logging, diagnostics, and provider-specific defaults. Implementations should return the appropriate
CloudProviderTypeconstant.- Specified by:
getProviderTypein interfaceCloudProviderConnectionAdapter<T>- Returns:
- the cloud provider type
-
getPreferredConnectionType
Description copied from interface:CloudProviderConnectionAdapterReturns 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:
getPreferredConnectionTypein interfaceCloudProviderConnectionAdapter<T>- Returns:
- the preferred connection type; defaults to
ConnectionType.EVPL_VC
-
getPreferredLinkProtocol
Description copied from interface:CloudProviderConnectionAdapterReturns 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
nullto indicate no default (the user must specify the link protocol explicitly).- Specified by:
getPreferredLinkProtocolin interfaceCloudProviderConnectionAdapter<T>- Returns:
- the preferred link protocol, or
nullif none
-