Skip to main content

Fournisseur Equinix

Le fournisseur Equinix est utilisé pour interagir avec les ressources fournies par la plate-forme Equinix. Le fournisseur doit être configuré avec les informations d'identification appropriées avant de pouvoir être utilisé.

Pour plus d'informations sur l'obtention de la clé API et du secret requis pour Equinix Fabric et Network Edge, reportez-vous à [Generating Client ID and Client Secret key sur [Equinix Developer Platform portal.

Equinix Fabric prend également en charge l'authentification à l'aide d'un [jeton d'identité de charge de travail, qui peut être utilisé à la place des arguments client_id et client_secret. Nécessite une portée d'autorisation et un jeton OIDC d'un IdP approuvé par Equinix STS. Veuillez noter qu'il s'agit d'une fonction alpha qui n'est pas disponible pour tous les utilisateurs. L'utilisation des jetons d'identité de la charge de travail remplacera l'ID/secret du client, vous devez utiliser [provider aliases pour gérer à la fois les jetons d'identité de la charge de travail et l'ID/secret du client dans une seule configuration Terraform.

L'interaction avec Equinix Metal nécessite un jeton d'authentification API qui peut être généré au [niveau du projet ou au [niveau de l'utilisateur ; des jetons peuvent être utilisés.

Si vous utilisez uniquement les ressources Equinix Metal, vous pouvez omettre les paramètres de configuration du fournisseur Client ID et Client Secret nécessaires pour accéder à d'autres types de ressources Equinix (Network Edge, Fabric, etc.).

Utilisez la navigation à gauche pour découvrir les ressources disponibles.

Exemple d'utilisation

Exemple de HCL avec [configuration du fournisseur et une [définition des fournisseurs requis :

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

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

L'identifiant et le secret du client peuvent être omis lorsque les seules ressources Equinix consommées sont des ressources Equinix Metal.

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

Les jetons d'identité de charge de travail peuvent être utilisés dans des scénarios d'autorisation de service, comme HCP Terraform. Les autres variables d'identification sont facultatives pour les ressources equinix_fabric_* et les sources de données lorsque vous utilisez cette méthode.

# 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"
}

Exemple de configuration de fournisseur utilisant environment variables :

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

Authentification par jeton

Les jetons peuvent être générés pour le client API à l'aide des fonctions de jeton OAuth2 décrites dans la documentation [OAuth2 API.

Les jetons d'API peuvent être fournis à l'aide de l'argument token du fournisseur ou de la variable d'environnement EQUINIX_API_TOKEN. Les arguments client_id et client_secret seront ignorés en présence d'un argument token.

Consultez le guide [Equinix API Testing pour en savoir plus sur les pratiques de test recommandées.

provider "equinix" {
token = "someToken"
}

Référence de l'argument

Le fournisseur Equinix a besoin de quelques paramètres de base. Alors que les arguments d'authentification sont individuellement facultatifs, token ou client_id et client_secret doivent être définis par le biais d'arguments ou de paramètres d'environnement pour interagir avec les services Equinix Fabric et Network Edge, et auth_token pour interagir avec Equinix Metal.

Ces paramètres peuvent être fournis dans des [fichiers variables Terraform ou en tant que variables d'environnement. Néanmoins, veuillez noter qu'il est [déconseillé de conserver des données sensibles dans des fichiers texte en clair.

Schéma

En option

  • auth_token (String, Deprecated) La clé d'authentification de l'API Metal d'Equinix pour les opérations de l'API.
  • client_id (Chaîne) Clé de consommation API disponible sous "My Apps" dans le portail des développeurs. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_API_CLIENTID.
  • client_secret (Chaîne) API Consumer secret disponible sous "My Apps" dans le portail des développeurs. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_API_CLIENTSECRET.
  • endpoint (Chaîne) L'URL de base de l'API Equinix pour indiquer l'environnement souhaité. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_API_ENDPOINT. (La valeur par défaut est https://api.equinix.com)
  • max_retries (Nombre) Nombre maximum de tentatives en cas de défaillance du réseau.
  • max_retry_wait_seconds (Nombre) Nombre maximal de secondes à attendre avant de réessayer une requête.
  • request_timeout (Nombre) Durée, en secondes, pendant laquelle le client API de la plate-forme Equinix doit attendre avant d'annuler une demande d'API. Les demandes annulées peuvent toujours donner lieu à des ressources provisionnées. (La valeur par défaut est 30)
  • response_max_page_size (Nombre) Le nombre maximum d'enregistrements dans une seule réponse pour les requêtes REST qui produisent des réponses paginées. (La valeur par défaut est spécifique au client)
  • sts_endpoint (Chaîne) L'URL de base de l'API STS pour pointer vers l'environnement souhaité. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_STS_ENDPOINT. (La valeur par défaut est https://sts.eqix.equinix.com). Veuillez noter que STS est une fonctionnalité alpha et qu'elle n'est pas disponible pour tous les utilisateurs.
  • token (Chaîne) Les jetons d'API sont générés par les clients consommateurs d'API à l'aide de l'[API OAuth2. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_API_TOKEN.
  • token_exchange_scope (String) La portée du jeton d'authentification. Il doit s'agir d'un ERN de politique d'accès ou d'une chaîne de la forme roleassignments:<org_id>. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_TOKEN_EXCHANGE_SCOPE. Veuillez noter que l'échange de jetons est une fonctionnalité alpha et qu'elle n'est pas disponible pour tous les utilisateurs.
  • token_exchange_subject_token (Chaîne) Le jeton sujet à utiliser pour l'authentification par échange de jetons. Il doit s'agir d'un jeton d'identification OIDC émis par un fournisseur OIDC auquel Equinix STS fait confiance. S'il n'est pas défini, le fournisseur utilisera la variable d'environnement spécifiée dans token_exchange_subject_token_env_var. Veuillez noter que l'échange de jetons est une fonction alpha et qu'elle n'est pas disponible pour tous les utilisateurs.
  • token_exchange_subject_token_env_var (Chaîne) Le nom de la variable d'environnement contenant le jeton sujet pour l'échange de jetons. Cet argument peut également être spécifié avec la variable d'environnement shell EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN_ENV_VAR. (La valeur par défaut est EQUINIX_TOKEN_EXCHANGE_SUBJECT_TOKEN). Veuillez noter que l'échange de jetons est une fonctionnalité alpha et qu'elle n'est pas disponible pour tous les utilisateurs.
Cette page vous a-t-elle été utile ?