eqixiacEquinix Infrastructure as Code

A Java SDK for the Equinix APIs, with placement, planning and cost tools built on it

eqixiac is a hand-written Java 21 SDK for the Equinix REST APIs. It covers eight API domains with one session, adds a design layer that places, plans and prices a deployment, and ships an MCP server that exposes those engines to an agent.

Install the SDK Read what it covers

Equinix metro DC (Ashburn)Fabric portDOT1Q, VLAN 1000Fabric Cloud RouterSTANDARD packageAWSDirect Connect, us-east-1AzureExpressRouteGoogle CloudPartner InterconnectEVPL_VC 100 MbpsIP_VCIP_VC
The connection the code below validates: a colocation port in Ashburn to AWS Direct Connect over an EVPL virtual connection. The Cloud Router path to Azure and Google Cloud is the subject of the hybrid multicloud walkthrough.
  • 8 API domainsFabric v4, Network Edge, Customer Portal, Internet Access, IBX SmartView, IAM, STS, Projects
  • One sessionOne OAuth token and one connection pool shared by every domain
  • Dry run firstAll nine Fabric dryRun operations, plus plan validation in the design layer
  • Checked against the serviceRead-only live tier of 274 tests, last run 2026-11-11

A first call#

The block below sends a port-to-AWS connection request with dryRun=true, so Fabric validates the payload and creates no connection. The same block without .dryRun() creates the connection.

Java
import com.eqixiac.equinix.Equinix;
import com.eqixiac.equinix.core.auth.BasicEquinixCredentials;
import com.eqixiac.equinix.fabric.enums.ConnectionType;
import com.eqixiac.equinix.fabric.model.Connection;
import com.eqixiac.equinix.fabric.model.implementation.LinkProtocol;
import com.eqixiac.equinix.fabric.model.implementation.cloud.AwsDirectConnectAdapter;

try (Equinix eq = new Equinix(new BasicEquinixCredentials("CLIENT_ID", "CLIENT_SECRET"))) {
    Connection validated = eq.fabric().connections()
        .define(ConnectionType.EVPL_VC)
        .name("dc-port-to-aws")
        .bandwidth(100)                                    // Mbps
        .aSideAccessPointPort(portUuid, LinkProtocol.dot1q().vlanTag(1000).create())
        .zSideCloudProvider(
            // account ID, AWS region, service profile, and the metro where AWS is reached (required by Fabric)
            AwsDirectConnectAdapter.of("123456789012", "us-east-1", awsProfileUuid, "DC"))
        .notification("noc@example.com")
        .dryRun()
        .create();
    System.out.println(validated.getName() + " accepted by Fabric validation");
}

Sections#

Release status#

Version 3.0.0 is published on Maven Central. This site documents the 4.0 development tree. Pages and sections that describe something absent from 3.0.0 carry the New in 4.0 label, Fabric API families that the Fabric specification labels Beta carry Beta, and work that is not in the tree yet carries Planned. The upgrade notes list every breaking change.

eqixiac is an independent community project with no affiliation to Equinix, Inc., as described on the About page.