The official provider isDocumentation Index
Fetch the complete documentation index at: https://docs.equinix.dev/llms.txt
Use this file to discover all available pages before exploring further.
equinix/equinix — version ~> 4.15 at the time of this writing.
Minimum config
equinix-dev compile always emits this block at the top of main.tf.
Authentication modes
The provider supports two auth modes. equinix.dev defaults to OAuth 2.0 client credentials for everything except Metal.OAuth 2.0 client credentials (recommended)
OAuth 2.0 client credentials (recommended)
Used for Fabric, Network Edge, and the Equinix portal API.Generate credentials at: https://developer.equinix.com → My Apps → Create App.
Metal API token (Metal-only)
Metal API token (Metal-only)
Equinix Metal uses a separate auth header. If you’re targeting Metal alongside Fabric, set both:
Environment variables
| Variable | Purpose |
|---|---|
EQUINIX_CLIENT_ID | OAuth 2.0 client ID |
EQUINIX_CLIENT_SECRET | OAuth 2.0 client secret |
EQUINIX_ACCOUNT_NUMBER | Required for Fabric Cloud Router and Network Edge resources (the customer-facing account number, distinct from the OAuth app ID) |
METAL_AUTH_TOKEN | Equinix Metal API token (Metal only) |
EQUINIX_API_ENDPOINT | Override for sandbox or staging Equinix portals (default: https://api.equinix.com) |
equinix-dev add writes the first three to .env.local automatically.
Retry and timeout knobs
Default behavior is reasonable, but for CI or noisy networks you may want to bump:Multi-region Fabric
If your plan touches multiple Equinix metros, you don’t need multiple provider blocks — Fabric resources accept ametro_code parameter and the same provider block routes correctly. This differs from AWS / Azure / GCP, where regional provider aliasing is the norm.
Common pitfalls
`account_number` not set
`account_number` not set
Most Fabric resources require an Symptom of missing it:
account_number — the customer-facing billing identifier from the Equinix portal. It’s distinct from the OAuth client ID and is not injected automatically. equinix.dev sets it from EQUINIX_ACCOUNT_NUMBER."account_number must be specified" at plan time.Service profile lookup returns empty
Service profile lookup returns empty
data "equinix_fabric_service_profiles" only returns profiles your account has visibility on. Some partner profiles (Lambda, certain neoclouds) require an explicit access grant first. If data.*.data is empty, request access via the Equinix portal or the partner’s onboarding form.Connection plan diff after apply
Connection plan diff after apply
Some Fabric resources mutate their fields server-side on creation (UUIDs, change logs, account references). Set
lifecycle { ignore_changes = [account, change_log] } if these cause a diff in subsequent plans.Network Edge SSH key not found
Network Edge SSH key not found
The
equinix_network_device resource references SSH keys by key_name, not by content. Upload the public key to the Equinix portal first; only then will the resource resolve.Next
Modules
When to use
terraform-equinix-fabric instead of raw resources.Resources index
Every
equinix_* resource we wrap, alphabetical.