Class MulticloudLinkRequest

java.lang.Object
com.eqixiac.equinix.design.value.ratecard.MulticloudLinkRequest

public class MulticloudLinkRequest extends Object
The lookup key for RateCard.multicloudLink(MulticloudLinkRequest): one native provider-to-provider multicloud link between two clouds.

Beta: models products that reached general availability in 2026 (AWS Interconnect - multicloud, Google Partner Cross-Cloud Interconnect). Field semantics follow the providers' public pricing pages as retrieved on 2026-09-21 and may change with them.

Fields, units and defaults
FieldUnit / domainDefaultRequired
providerA, providerZCloudProviderType; must differ noneyes
regionA, regionZthe provider's own region notation ("us-east-1", "us-east4")nullno
bandwidthMbpsMbps, > 0noneyes
pathTier1-5, the AWS connectivity-scope tier 1no
termTermnullno
useAwsFreeTierbooleanfalseno

Path tier

AWS assigns each interconnect a tier from the geographic scope of the Region paths it serves: 1 local, 2 regional, 3 continental, 4 long-haul, 5 maximum scope (source: https://docs.aws.amazon.com/interconnect/latest/userguide/interconnect-pricing.html). AWS publishes no Region-path-to-tier table, so this SDK cannot derive the tier; it is an explicit input. The default of 1 assumes every workload endpoint is in the interconnect's local Region. Providers without a tier concept ignore the field.

AWS free tier

useAwsFreeTier is an opt-in. AWS offers one free local (tier 1) 500 Mbps interconnect per AWS Region per generally-available provider. A rate card that models the offer prices the AWS side at zero only when this flag is set and the request is eligible (bandwidth at or below 500 Mbps, tier 1, an eligible peer). The flag is never inferred: a customer that already consumed the free interconnect for the Region and provider pays the listed rate.

Validation

build() throws IllegalArgumentException when a provider is null, both providers are the same, bandwidthMbps <= 0, or pathTier is outside 1-5.

  • Method Details

    • involves

      public boolean involves(CloudProviderType provider)
      Whether either end of the link is the given provider.
      Parameters:
      provider - the provider to test
      Returns:
      true when provider is providerA or providerZ
    • cloudProviderOf

      public static Optional<CloudProviderType> cloudProviderOf(ProviderRef ref)
      Maps a specification-style provider id to the CloudProviderType the value layer keys prices by.
      Parameters:
      ref - a provider reference from core.model.multicloud
      Returns:
      AWS for aws, GOOGLE_CLOUD for gcp, ORACLE_CLOUD for oci, AZURE for azure; empty for null, equinix and every other id
    • providerRefOf

      public static Optional<ProviderRef> providerRefOf(CloudProviderType provider)
      Parameters:
      provider - a cloud provider
      Returns:
      the specification-style provider id, or empty for null and for providers the specification vocabulary has no well-known id for