Ir para o conteúdo principal

Fornecedor Equinix

O provedor Equinix é usado para interagir com os recursos fornecidos pela Plataforma Equinix. O provedor precisa ser configurado com as credenciais corretas antes de poder ser usado.

Para obter informações sobre como obter a chave de API e o segredo necessários para o Equinix Fabric e o Network Edge, consulte [Gerando ID do cliente e chave secreta do cliente no portal da plataforma de desenvolvedores Equinix .

O Equinix Fabric também oferece suporte à autenticação usando um [Token de Identidade de Carga de Trabalho, que pode ser usado no lugar dos argumentos client_id e client_secret. Requer um escopo de autorização e um token OIDC de um IdP confiável pelo Equinix STS. Observe que este é um recurso alfa não disponível para todos os usuários. O uso de tokens de identidade de carga de trabalho substituirá o ID/segredo do cliente; você deve usar aliases de provedor para gerenciar tokens de identidade de carga de trabalho e ID/segredo do cliente em uma única configuração do Terraform.

A interação com o Equinix Metal requer um token de autenticação de API que pode ser gerado no nível do projeto (https://docs.equinix.com/metal/identity-access-management/api-keys/) ou tokens de nível do usuário (https://docs.equinix.com/metal/identity-access-management/api-keys/) podem ser usados.

Se você estiver usando apenas recursos do Equinix Metal, poderá omitir os parâmetros de configuração do provedor Client ID e Client Secret necessários para acessar outros tipos de recursos do Equinix (Network Edge, Fabric, etc.).

Utilize a navegação à esquerda para ler sobre os recursos disponíveis.

Exemplo de uso

Exemplo de HCL com configuração de provedor e uma [definição de provedores obrigatórios:

terraform {
required_providers {
equinix = {
source = "equinix/equinix"
}
}
}

# Credentials for all Equinix resources
provider "equinix" {
client_id = "someEquinixAPIClientID"
client_secret = "someEquinixAPIClientSecret"
auth_token = "someEquinixMetalToken"
}

O ID do cliente e o segredo do cliente podem ser omitidos quando os únicos recursos da Equinix consumidos forem recursos do Equinix Metal.

# Credentials for only Equinix Metal resources
provider "equinix" {
auth_token = "someEquinixMetalToken"
}

Os tokens de identidade de carga de trabalho podem ser usados ​​em cenários de autorização de serviço, como o HCP Terraform. Outras variáveis ​​de credenciais são opcionais para recursos e fontes de dados equinix_fabric_* ao usar 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"
}

Exemplo de configuração do provedor usando environment variables:

export EQUINIX_API_CLIENTID=someEquinixAPIClientID
export EQUINIX_API_CLIENTSECRET=someEquinixAPIClientSecret
export METAL_AUTH_TOKEN=someEquinixMetalToken

Autenticação por token

Os tokens podem ser gerados para o cliente da API usando os características de token OAuth2 descritos na documentação da [ API OAuth2.

Os tokens de API podem ser fornecidos usando o argumento do provedor token ou a variável de ambiente EQUINIX_API_TOKEN. Os argumentos client_id e client_secret serão ignorados na presença de um argumento token.

Consulte o guia [Equinix API Testing para obter detalhes sobre as práticas de teste recomendadas.

provider "equinix" {
token = "someToken"
}

Referência do argumento

O provedor Equinix requer alguns parâmetros básicos. Embora os argumentos de autenticação sejam opcionais individualmente, token ou client_id e client_secret devem ser definidos por meio de argumentos ou configurações de ambiente para interagir com os serviços Equinix Fabric e Network Edge, e auth_token para interagir com o Equinix Metal.

Esses parâmetros podem ser fornecidos em [arquivos de variáveis ​​do Terraform ou como variáveis ​​de ambiente . No entanto, observe que [não é recomendável manter dados sensíveis em arquivos de texto simples.

Esquema

Opcional

  • auth_token (String, Obsoleto) A chave de autenticação da API Equinix Metal para operações de API
  • client_id (String) Chave do consumidor da API disponível em "Meus aplicativos" no portal do desenvolvedor. Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_API_CLIENTID.
  • client_secret (String) Segredo do consumidor da API disponível em "Meus aplicativos" no portal do desenvolvedor. Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_API_CLIENTSECRET.
  • endpoint (String) A URL base da API Equinix para apontar o ambiente desejado. Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_API_ENDPOINT. (O padrão é https://api.equinix.com)
  • max_retries (Número) Número máximo de tentativas em caso de falha de rede .
  • max_retry_wait_seconds (Número) Número máximo de segundos a aguardar antes de tentar novamente uma solicitar.
  • request_timeout (Número) A duração, em segundos, que o cliente da API da Plataforma Equinix deve aguardar antes de cancelar uma solicitar de API . Solicitações canceladas ainda podem resultar em recursos provisionados. (O padrão é 30)
  • response_max_page_size (Número) O número máximo de registros em uma única resposta para consultas REST que produzem respostas paginadas. (O padrão é específico do cliente)
  • sts_endpoint (String) A URL base da API STS para apontar para o ambiente desejado. Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_STS_ENDPOINT. (O padrão é https://sts.eqix.equinix.com). Observe que o STS é um recurso alfa e não está disponível para todos os usuários.
  • token (String) Os tokens de API são gerados a partir de clientes consumidores de API usando a API OAuth2 . Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_API_TOKEN.
  • token_exchange_scope (String) O escopo do token de autenticação. Deve ser um ERN de política de acesso ou uma string no formato roleassignments:<org_id>. Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_TOKEN_EXCHANGE_SCOPE. Observe que a troca de tokens é um recurso alfa e não está disponível para todos os usuários.
  • token_exchange_subject_token (String) O token do sujeito a ser usado para autenticação de troca de tokens. Deve ser um token de ID OIDC emitido por um provedor OIDC confiável pela Equinix STS. Se não for definido, o provedor usará a variável de ambiente especificada em token_exchange_subject_token_env_var. Observe que a troca de tokens é um recurso alfa e não está disponível para todos os usuários.
  • token_exchange_subject_token_env_var (String) O nome da variável de ambiente que contém o token sujeito para troca de tokens. Este argumento também pode ser especificado com a variável de ambiente do shell EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR. (O padrão é EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN). Observe que a troca de tokens é um recurso alfa e não está disponível para todos os usuários.
Esta página foi útil?