Class GoogleCloudInterconnectAdapter<T>

java.lang.Object
com.eqixiac.equinix.fabric.model.implementation.cloud.GoogleCloudInterconnectAdapter<T>
Type Parameters:
T - the type of the Google Cloud SDK object being adapted
All Implemented Interfaces:
CloudProviderConnectionAdapter<T>

public class GoogleCloudInterconnectAdapter<T> extends Object implements CloudProviderConnectionAdapter<T>
Adapter for bridging Google Cloud Interconnect SDK objects with Equinix Fabric connections.

Google Cloud Interconnect provides dedicated, high-bandwidth connections between on-premises networks and Google Cloud. When creating an Equinix Fabric connection to Google Cloud, you need:

  • Authentication Key: The GCP Pairing Key (provided by Google when creating an Interconnect Attachment)
  • Seller Region: The GCP region (e.g., "us-east1", "europe-west1")
  • Service Profile: The Equinix Fabric service profile UUID for Google Cloud

Usage with Google Cloud SDK Object

// From Google Cloud SDK
InterconnectAttachment attachment = computeClient.getInterconnectAttachment(
    "my-project", "us-east1", "my-attachment");

GoogleCloudInterconnectAdapter<InterconnectAttachment> adapter =
    new GoogleCloudInterconnectAdapter<>(
        attachment,
        attachment.getPairingKey(),           // GCP Pairing Key
        attachment.getRegion(),               // e.g., "us-east1"
        "equinix-gcp-profile-uuid",            // Equinix service profile for GCP
    "SV"                                   // Equinix metro of the provider port
    );

Connection conn = fabric.connections()
    .define(ConnectionType.EVPL_VC)
    .name("GCP-Interconnect")
    .bandwidth(100)
    .aSideAccessPointPort(portUuid, LinkProtocol.dot1q().vlanTag(2000).create())
    .zSideCloudProvider(adapter)
    .notification("ops@example.com")
    .create();

Manual Construction (No GCP SDK)

GoogleCloudInterconnectAdapter<?> adapter = GoogleCloudInterconnectAdapter.of(
    "xxxx/xxxx/xxxx/xxxx",                   // GCP Pairing Key
    "us-east1",                               // Region
    "equinix-gcp-profile-uuid",                // Equinix service profile
    "SV"                                   // Equinix metro of the provider port
);
Author:
ianjones
See Also:
  • Constructor Details

    • GoogleCloudInterconnectAdapter

      public GoogleCloudInterconnectAdapter(T source, String gcpPairingKey, String gcpRegion, String serviceProfileUuid, String metroCode)
      Creates an adapter wrapping a Google Cloud Interconnect SDK object.
      Parameters:
      source - the GCP SDK object (e.g., InterconnectAttachment)
      gcpPairingKey - the GCP Pairing Key provided by Google Cloud
      gcpRegion - the GCP region (e.g., "us-east1")
      serviceProfileUuid - the Equinix Fabric service profile UUID for Google Cloud
      metroCode - the Equinix metro the provider is reached in, e.g. "SV"; required, sent as zSide.accessPoint.location.metroCode
  • Method Details

    • of

      public static GoogleCloudInterconnectAdapter<Void> of(String gcpPairingKey, String gcpRegion, String serviceProfileUuid, String metroCode)
      Creates an adapter without a GCP SDK object, using manually specified parameters.
      Parameters:
      gcpPairingKey - the GCP Pairing Key
      gcpRegion - the GCP region
      serviceProfileUuid - the Equinix Fabric service profile UUID for Google Cloud
      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 Google Cloud Interconnect
    • 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