Class InternetAccess

java.lang.Object
com.eqixiac.equinix.EquinixClient
com.eqixiac.equinix.InternetAccess
All Implemented Interfaces:
Closeable, AutoCloseable

public final class InternetAccess extends EquinixClient
The primary entry point for accessing the Equinix Internet Access (EIA) v2 API.

Equinix Internet Access provides managed internet connectivity services through Equinix data centers. The services() accessor exposes the full EIA v2 service lifecycle (create / get / update / delete / search) and the ibxs() accessor exposes the EIA v2 product-availability lookup (GET /internetAccess/v2/ibxs). The remaining accessors expose the EIA v1 read API used when building EIA requests - price search, accounts/agreements, terms and conditions, operational units, signature policies, the attribute/default-configuration lookups, purchase orders, the product-availability inventory (cages/cabinets/patch panels/connection services), order history, and a single-IBX get.

Each accessor uses lazy initialization - the internal client is created on first access and reused for subsequent calls.

Scope (v1 selective)

This domain surfaces the EIA v2 service lifecycle plus the read-only EIA v1 API. The v1 surfaces exposed are:

The v1 service create/delete/search/details operations are intentionally not exposed, as they are superseded by the v2 service lifecycle.

Unified EIA API (Fabric v4)

Since 2026-07 the Unified EIA API lives in Fabric v4: unifiedServices() (/fabric/v4/internetAccessServices) and ipBlocks() (/fabric/v4/ipBlocks). They are the Fabric.eiaServices() and Fabric.ipBlocks() clients, reachable here over the same core client. IP Blocks are standalone since 2026-05 and survive the termination of the service that uses them.

Quick Start

BasicEquinixCredentials credentials = new BasicEquinixCredentials("clientId", "clientSecret");
InternetAccess internetAccess = new InternetAccess(credentials);

InternetAccessService service = internetAccess.services().define()
    .name("WebServers")
    .type(ServiceTypeV2.SINGLE)
    .connection("9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81")
    .routingProtocol(BgpRoutingProtocolRequest.builder()
        .customerAsn(16220L)
        .exportPolicy(ExportPolicy.FULL)
        .build())
    .create();
Author:
ianjones
See Also:
  • Constructor Details

    • InternetAccess

      public InternetAccess(EquinixCredentials equinixCredentials)
      Creates a new Internet Access client using the provided credentials. Authentication occurs automatically on the first API call.
      Parameters:
      equinixCredentials - the OAuth2 credentials for authenticating with Equinix APIs
    • InternetAccess

      public InternetAccess(EquinixCredentials equinixCredentials, boolean isSandBoxed)
      Creates a new Internet Access client with optional sandbox mode.
      Parameters:
      equinixCredentials - the OAuth2 credentials for authenticating with Equinix APIs
      isSandBoxed - true to use the sandbox environment for testing; false for production
    • InternetAccess

      public InternetAccess(EquinixCredentialsProvider credentialsProvider)
      Creates a new Internet Access client whose credentials are resolved through the given provider. Authentication occurs automatically on the first API call.
      Parameters:
      credentialsProvider - supplies the OAuth2 credentials for authenticating with Equinix APIs
    • InternetAccess

      public InternetAccess(EquinixCredentialsProvider credentialsProvider, boolean isSandBoxed)
      Creates a new Internet Access client over a custom credentials provider, with optional sandbox mode.
      Parameters:
      credentialsProvider - supplies the OAuth2 credentials for authenticating with Equinix APIs
      isSandBoxed - true to use the sandbox environment for testing; false for production
    • InternetAccess

      public InternetAccess(EquinixCredentials equinixCredentials, EquinixConfig config)
      Creates a new InternetAccess client with explicit EquinixConfig options.
      Parameters:
      equinixCredentials - the OAuth2 credentials for authenticating with Equinix APIs
      config - the construction-time options
    • InternetAccess

      public InternetAccess(EquinixCredentialsProvider credentialsProvider, EquinixConfig config)
      Creates a new InternetAccess client over a custom credentials provider with explicit EquinixConfig options.
      Parameters:
      credentialsProvider - supplies the OAuth2 credentials for authenticating with Equinix APIs
      config - the construction-time options
  • Method Details

    • services

      public InternetAccessServices services()
      Returns the client for managing the Equinix Internet Access v2 service lifecycle (create / get / update / delete / search).
      Returns:
      the InternetAccessServices client
    • ibxs

      public InternetAccessIbxs ibxs()
      Returns the client for the Equinix Internet Access product-availability IBX lookups - the v2 list of IBXs where EIA is available (GET /internetAccess/v2/ibxs) and the v1 single-IBX get (GET /internetAccess/v1/ibxs/{ibx}).
      Returns:
      the InternetAccessIbxs client
    • prices

      public InternetAccessPrices prices()
      Returns the client for the Equinix Internet Access v1 price search (POST /internetAccess/v1/prices/search).
      Returns:
      the InternetAccessPrices client
    • accounts

      public InternetAccessAccounts accounts()
      Returns the client for the Equinix Internet Access v1 accounts lookups - the accounts available for EIA ordering (GET /internetAccess/v1/accounts), a single account (.../{accountNumber}) and account agreement statuses (.../{accountNumber}/agreements).
      Returns:
      the InternetAccessAccounts client
    • termsAndConditions

      public InternetAccessTerms termsAndConditions()
      Returns the client for the Equinix Internet Access v1 terms-and-conditions lookup (GET /internetAccess/v1/terms).
      Returns:
      the InternetAccessTerms client
    • operationalUnits

      public InternetAccessOperationalUnits operationalUnits()
      Returns the client for the Equinix Internet Access v1 operational-units lookup (GET /internetAccess/v1/operationalUnits).
      Returns:
      the InternetAccessOperationalUnits client
    • signaturePolicies

      public InternetAccessSignaturePolicies signaturePolicies()
      Returns the client for the Equinix Internet Access v1 signature-policies lookup (GET /internetAccess/v1/signaturePolicies).
      Returns:
      the InternetAccessSignaturePolicies client
    • productConfigurations

      public InternetAccessProductConfigurations productConfigurations()
      Returns the client for the Equinix Internet Access v1 attribute-eligibility / default configuration lookups - routing, dedicated/virtual bandwidth, virtual-connection default, customer-route, dedicated-port default and port configurations (all under GET /internetAccess/v1/).
      Returns:
      the InternetAccessProductConfigurations client
    • purchaseOrders

      public InternetAccessPurchaseOrders purchaseOrders()
      Returns the client for the Equinix Internet Access v1 purchase-order lookups - the purchase orders for an account (GET /internetAccess/v1/accounts/{accountNumber}/purchaseOrders) and a single purchase order (.../{number}).
      Returns:
      the InternetAccessPurchaseOrders client
    • orders

      public InternetAccessOrders orders()
      Returns the client for the Equinix Internet Access v1 order lookup (GET /internetAccess/v1/orders/{orderUUID}).
      Returns:
      the InternetAccessOrders client
    • cages

      public InternetAccessCages cages()
      Returns the client for the Equinix Internet Access v1 cages product-availability lookup (GET /internetAccess/v1/cages).
      Returns:
      the InternetAccessCages client
    • cabinets

      public InternetAccessCabinets cabinets()
      Returns the client for the Equinix Internet Access v1 cabinets product-availability lookup (GET /internetAccess/v1/cabinets).
      Returns:
      the InternetAccessCabinets client
    • patchPanels

      public InternetAccessPatchPanels patchPanels()
      Returns the client for the Equinix Internet Access v1 patch-panels product-availability lookup (GET /internetAccess/v1/patchPanels).
      Returns:
      the InternetAccessPatchPanels client
    • connectionServices

      public InternetAccessConnectionServices connectionServices()
      Returns the client for the Equinix Internet Access v1 connection-services product-availability lookup (GET /internetAccess/v1/connectionServices).
      Returns:
      the InternetAccessConnectionServices client
    • unifiedServices

      public EiaServices unifiedServices()
      Returns the client for the Unified EIA API in Fabric v4 (/fabric/v4/internetAccessServices), available since 2026-07.

      This is the same client as Fabric.eiaServices(), created over this client's core client (same OAuth token and connection pool); it adds no new endpoints. New EIA integrations should prefer it to the EIA v2 services() lifecycle under /internetAccess/v2/services, which remains available while its spec is published.

      Returns:
      the Fabric v4 EiaServices client
    • ipBlocks

      public IpBlocks ipBlocks()
      Returns the client for Fabric v4 IP Blocks (/fabric/v4/ipBlocks), the address space used by Unified EIA services.

      The same client as Fabric.ipBlocks(), created over this client's core client. Since 2026-05 IP Blocks are standalone resources: an IP Block is not deleted when the EIA service that uses it is terminated, and can be attached to another service. Delete an IP Block explicitly when it is no longer needed.

      Returns:
      the Fabric v4 IpBlocks client