eqixiacEquinix Infrastructure as Code

Internet Access

Equinix Internet Access v2 service lifecycle with dry run, and the per-IBX catalogue.

Scope#

Equinix Internet Access (EIA) delivers internet transit in an IBX, over a physical port or a Fabric connection. The SDK covers the EIA v2 service lifecycle and the EIA v1 catalogue and ordering reads.

AccessorCovers
services()EIA v2 services: create, read, search, update, delete
ibxs()Per-IBX availability and location data
prices(), accounts(), termsAndConditions(), operationalUnits(), signaturePolicies(), productConfigurations(), purchaseOrders(), orders()EIA v1 ordering reads
cages(), cabinets(), patchPanels(), connectionServices()Site infrastructure reads
unifiedServices(), ipBlocks()The Fabric-side EIA services and IP blocks, shared with fabric.eiaServices() and fabric.ipBlocks()

Service lifecycle#

Java
import com.eqixiac.equinix.internetaccess.enums.ServiceState;
import com.eqixiac.equinix.internetaccess.model.InternetAccessService;
import com.eqixiac.equinix.internetaccess.model.json.creators.ChangeOperationUpdate;
import com.eqixiac.equinix.internetaccess.model.json.creators.ServiceSearchRequest;

for (InternetAccessService service : internet.services().search(new ServiceSearchRequest().state(ServiceState.ACTIVE))) {
    System.out.println(service.getUuid() + " " + service.getName() + " " + service.getState());
}

InternetAccessService service = internet.services().getByUuid("service-uuid");

List<ChangeOperationUpdate> resize = List.of(ChangeOperationUpdate.replace("/bandwidth", "500"));
internet.services().update(service.getUuid(), resize, true);    // dryRun: validate only
internet.services().update(service.getUuid(), resize);          // apply

internet.services().delete(service.getUuid(), true);            // validate the delete

internet.services().define() starts the create builder with name, type, connection or connections, routingProtocol and order. The specification defines no dry run for EIA v2 create, so a create places an order.

The search in the block filters on /state. The specification also lists /type as a filter property, which the live service rejected on 2026-11-11. The search pages through query parameters and sends the same filter body with each page (Pagination).

IBX catalogue#

Among the APIs this SDK covers, ibxs() alone returns coordinates per data center. The design layer uses it for IBX-to-IBX latency estimates, and EquinixConfig.enrichMetroRegistry(true) merges it into the metro registry.

Java
import com.eqixiac.equinix.design.geo.SpeedOfLightLatency;
import com.eqixiac.equinix.internetaccess.model.Ibx;

Ibx la4 = internet.ibxs().getByCode("LA4");
Ibx sv5 = internet.ibxs().getByCode("SV5");
double km = SpeedOfLightLatency.distanceKm(la4, sv5);
double roundTripFloorMs = SpeedOfLightLatency.roundTrip().millisBetween(la4, sv5);

availability(connectionType) lists the IBXs where a connection type can be ordered.

Fit#

NeedChoiceTrade-off
Internet breakout for a cage or a Network Edge deviceInternet AccessOne provider relationship; routing is BGP or static with Equinix as the upstream
Multi-homed transit with carrier choiceCross connects to carriers in the IBXMore control and more contracts
Peering at an exchangeEquinix Internet Exchange, see the Beta exchange services and Peering IntelligenceReaches the networks present at the exchange, not the whole internet