eqixiacEquinix Infrastructure as Code

Overview

What the SDK covers, what it leaves out, and how the three layers fit together.

Scope#

eqixiac is a Java 21 library, package com.eqixiac.equinix, published as com.eqixiac.equinix:equinix-sdk-java. The code is written by hand against the OpenAPI specifications in the Equinix API catalog, without a code generator. The library has three layers.

Intelligence MCP Server16 tools over stdio, opt-in Safe Mutation BrokerDesign layerDesignSpec, Metro Optimizer, Deployment Wizard, Peering Intelligence, rate cards, savings, TCOAPI layerFabric, Network Edge, Customer Portal, Internet Access, IBX SmartView, IAM, STS, Projects
The three layers. Every design engine reads through the Fabric client, and the MCP server calls the design engines and the typed clients.

API layer#

The API layer has typed clients for eight Equinix API domains, each with an entry-point class and one client interface per resource.

DomainEntry pointCoverage
Fabric v4FabricAbout 197 endpoints: connections, ports, Cloud Routers, routing protocols, route filters and aggregations, service profiles, service tokens, networks, streams, Precision Time, prices, metrics, cloud events, and the Beta families under fabric.beta()
Network EdgeNetworkEdge66 endpoints: virtual devices, ACL templates, VPNs, BGP peerings, device links, public keys, backups, setup data
Customer PortalCustomerPortalOrders and order history, cross connects, Smart Hands, trouble tickets, work visits, shipments, billing, reports, Digital LOA
Internet AccessInternetAccessEIA v2 service lifecycle, per-IBX availability, EIA v1 catalog reads
IBX SmartViewIBXSmartViewEnvironmental readings, power events, system alerts, streaming subscriptions, asset hierarchy
IAMIAMRoles, role assignments, access policies, permission sets, principal policies, effective permissions
STSSTSRFC 8693 token exchange, OIDC providers, JWKS and OpenID discovery
ProjectsProjectsProject listing from resourceManager/v2

The endpoint counts come from the review of 2026-11-11 against Fabric v4 specification 4.34.0 and network-edgev1 1.0.0.

All clients share the same transport behaviour: pagination, retries with an idempotency rule, one replay after HTTP 401, a typed error hierarchy and dry run wherever the specification defines it.

Design layer#

The design layer consists of engines that read through the Fabric client and change an account only when a deployment plan is executed: the Metro Optimizer, the Deployment Wizard, Peering Intelligence, and the cost and value calculators. In 4.0 the engines share one input document, the DesignSpec.

MCP server#

The Model Context Protocol server is packaged as a second, runnable jar. It runs locally over stdio under the operator's own API credentials and exposes the design engines and five cross-domain reads as tools. It can create resources only through the Safe Mutation Broker, which is disabled by default.

Exclusions#

  • Equinix does not publish or support the SDK, as the About page explains.
  • The SDK calls no cloud provider API. A cloud adapter carries the provider's identifiers into a Fabric request, and the AWS, Azure, Google Cloud or Oracle side of a connection is created with that provider's own tooling.
  • The SDK does not cover Equinix Metal, which has its own API and SDKs.
  • The SDK has no client for Fabric One, for which no API reference had been published when the review of 2026-11-11 was written.
  • The SDK does not manage Terraform state. The Deployment Wizard can export HCL for the Equinix Terraform provider, which then manages the resources.
  • Cost figures are design-time estimates, not quotes. Each figure states its source and date, as described under price sources.

Requirements#

ItemValue
Java21 or later
BuildMaven 3.6 or later (to build from source)
Runtime dependenciesJackson 2.21.1, Apache HttpClient 4.5.14, SLF4J API 2.0.13
Optional dependenciesMCP Java SDK 2.0.0 and slf4j-simple, used only by the MCP server jar and not inherited by library consumers
LicenseApache License 2.0

Conventions in the code samples#

Every Java block on this site is compiled against the SDK classes before publication. The blocks assume that the following variables exist. Authentication and Sessions show how to create them.

VariableType
eqEquinix session
fabric, networkEdge, portal, internet, smartView, iam, sts, projectsThe domain clients, for example eq.fabric()
credentialsBasicEquinixCredentials
portUuid, profileUuid, routerUuid, projectId and similarString identifiers from your own account

Each page lists its imports in the first block that needs them. java.util.*, java.math.BigDecimal, java.time.*, java.nio.file.Files and java.nio.file.Path are assumed.