Proveedor de Equinix
El proveedor Equinix se utiliza para interactuar con los recursos proporcionados por la plataforma Equinix. Es necesario configurar el proveedor con las credenciales adecuadas antes de poder utilizarlo.
Para obtener información sobre la obtención de la clave API y el secreto necesarios para Equinix Fabric y Network Edge, consulte [Generación de la clave ID de cliente y secreto de cliente del [portal de la plataforma de desarrolladores Equinix.
Equinix Fabric también admite la autenticación mediante un [Token de identidad de carga de trabajo, que puede utilizarse en lugar de los argumentos client_id y client_secret. Requiere un ámbito de autorización y un token OIDC de un IdP en el que confíe Equinix STS. Tenga en cuenta que se trata de una función alfa no disponible para todos los usuarios. El uso de tokens de identidad de carga de trabajo anulará el ID/secreto de cliente, debe utilizar [alias de proveedor para gestionar tanto los tokens de identidad de carga de trabajo como el ID/secreto de cliente en una única configuración de Terraform.
La interacción con Equinix Metal requiere un token de autenticación de la API que puede generarse a [nivel de proyecto o pueden utilizarse tokens a [nivel de usuario.
Si sólo utiliza recursos Equinix Metal, puede omitir los parámetros de configuración del proveedor Client ID y Client Secret necesarios para acceder a otros tipos de recursos Equinix (Network Edge, Fabric, etc.).
Utilice la navegación de la izquierda para leer sobre los recursos disponibles.
Ejemplo de uso
Ejemplo de HCL con [configuración de proveedores y una [definición de proveedores requerida:
terraform {
required_providers {
equinix = {
source = "equinix/equinix"
}
}
}
# Credentials for all Equinix resources
provider "equinix" {
client_id = "someEquinixAPIClientID"
client_secret = "someEquinixAPIClientSecret"
auth_token = "someEquinixMetalToken"
}
El ID de cliente y el Secreto de cliente pueden omitirse cuando los únicos recursos de Equinix consumidos sean recursos de Equinix Metal.
# Credentials for only Equinix Metal resources
provider "equinix" {
auth_token = "someEquinixMetalToken"
}
Los tokens de identidad de carga de trabajo pueden utilizarse en escenarios de autorización de servicios, como HCP Terraform. Otras variables de credenciales son opcionales para equinix_fabric_* recursos y fuentes de datos cuando se utiliza este método.
# Configuration for using Workload Identity Federation
provider "equinix" {
# Desired scope of the requested security token. Must be an Access Policy ERN or a string of the form `roleassignments:<organization_id>`
token_exchange_scope = "roleassignments:<organization_id>"
# The name of the environment variable containing the token exchange subject token
# For example, HCP Terraform automatically sets TFC_WORKLOAD_IDENTITY_TOKEN
token_exchange_subject_token_env_var = "TFC_WORKLOAD_IDENTITY_TOKEN"
}
Ejemplo de configuración de proveedor utilizando environment variables:
export EQUINIX_API_CLIENTID=someEquinixAPIClientID
export EQUINIX_API_CLIENTSECRET=someEquinixAPIClientSecret
export METAL_AUTH_TOKEN=someEquinixMetalToken
Autenticación por token
Los tokens pueden generarse para el cliente API utilizando las funciones de tokens OAuth2 descritas en la documentación [API OAuth2.
Los tokens API pueden proporcionarse utilizando el argumento de proveedor token, o la variable evironment EQUINIX_API_TOKEN. Los argumentos client_id y client_secret serán ignorados en presencia de un argumento token.
Consulte la guía [Equinix API Testing para obtener información detallada sobre las prácticas de prueba recomendadas.
provider "equinix" {
token = "someToken"
}
Argumento de referencia
El proveedor Equinix requiere algunos parámetros básicos. Mientras que los argumentos de autenticación son opcionales de forma individual, token o client_id y client_secret deben definirse mediante argumentos o ajustes de entorno para interactuar con los servicios Equinix Fabric y Network Edge, y auth_token para interactuar con Equinix Metal.
Estos parámetros pueden proporcionarse en [archivos de variables de Terraform o como variables de entorno. No obstante, tenga en cuenta que [no se recomienda guardar datos sensibles en archivos de texto sin formato.
Esquema
Opcional:
auth_token(String, Deprecated) La clave de autenticación de la API de Equinix Metal para las operaciones de la APIclient_id(Cadena) Clave de consumidor API disponible en "Mis aplicaciones" en el portal del desarrollador. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_API_CLIENTID.client_secret(Cadena) API Secreto del consumidor disponible en "Mis aplicaciones" en el portal del desarrollador. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_API_CLIENTSECRET.endpoint(Cadena) La URL base de la API de Equinix para señalar el entorno deseado. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_API_ENDPOINT. (Por defecto eshttps://api.equinix.com)max_retries(Número) Número máximo de reintentos en caso de fallo de la red.max_retry_wait_seconds(Número) Número máximo de segundos a esperar antes de reintentar una petición.request_timeout(Número) El tiempo, en segundos, que el cliente de API de la plataforma Equinix debe esperar antes de cancelar una solicitud de API. Las solicitudes canceladas aún pueden dar lugar a recursos aprovisionados. (Por defecto es30)response_max_page_size(Número) El número máximo de registros en una única respuesta para consultas REST que producen respuestas paginadas. (Por defecto es específico del cliente)sts_endpoint(Cadena) La URL base de la API STS para apuntar al entorno deseado. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_STS_ENDPOINT. (Por defecto eshttps://sts.eqix.equinix.com). Tenga en cuenta que STS es una función alfa y no está disponible para todos los usuarios.token(Cadena) Los tokens de API se generan a partir de clientes consumidores de API que utilizan la [API OAuth2. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_API_TOKEN.token_exchange_scope(Cadena) El ámbito del token de autenticación. Debe ser una NRE de política de acceso o una cadena de la formaroleassignments:<org_id>. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_TOKEN_EXCHANGE_SCOPE. Tenga en cuenta que el intercambio de tokens es una función alfa y no está disponible para todos los usuarios.token_exchange_subject_token(Cadena) El token de sujeto a utilizar para la autenticación de intercambio de tokens. Debe ser un token de identificación de OIDC emitido por un proveedor de OIDC en el que confíe Equinix STS. Si no se establece, el proveedor utilizará la variable de entorno especificada entoken_exchange_subject_token_env_var. Tenga en cuenta que el intercambio de tokens es una característica alfa y no está disponible para todos los usuarios.token_exchange_subject_token_env_var(Cadena) El nombre de la variable de entorno que contiene el token de sujeto para el intercambio de tokens. Este argumento también puede especificarse con la variable de entorno de shellEQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR. (Por defecto esEQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN). Tenga en cuenta que el intercambio de tokens es una función alfa y no está disponible para todos los usuarios.