Utilisation de variables d'environnement avec des espaces de travail

Terraform utilise des variables d'environnement pour personnaliser certains aspects de son fonctionnement. Les variables d'environnement sont utilisées pour augmenter la prolixité de sortie pour le débogage ou pour définir des paramètres d'exécution rarement utilisés.

Par exemple, « parallelism » est une variable d'environnement dont la valeur peut prendre des valeurs comprises entre 1 and 256; la valeur par défaut est 10. Le parallélisme sert à configurer les fournisseurs d'infrastructure qui génèrent des erreurs lors d'opérations simultanées ou en cas de limitation de débit non standard, lorsque vous exécutez les commandes terraform plan et terraform apply lors de l'exécution.

Les variables d'environnement ne peuvent être définies qu'à l'aide de l'API de mise à jour de l'espace de travail et de l'interface de ligne de commande transmettant un fichier JSON. Pour plus d'informations, voir la commande CLI de mise à jour de l'espace de travail.

Si votre espace de travail a été créé par le service de projets IBM Cloud, voir Activation des journaux Terraform à l'aide du CLI pour savoir comment définir les variables d'environnement.

Utilisation

Transmission de TF_CLI_ARGS en tant que env-vars

Vous pouvez transmettre des arguments de ligne de commande Terraform TF_CLI_ARGS en tant que variables d'environnement, telles que TF_CLI_ARGS_plan et TF_CLI_ARGS_apply dans l'espace de travail Schematics pour personnaliser les opérations.

Terraform lit ces variables d'environnement et les applique à l'exécution. Pour plus d'informations sur les arguments de ligne de commande de Terraform, consultez TF_CLI_ARGS and TF_CLI_ARGS_name.

Exemple de définition du parallélisme ou TF_LOGS

Les exemples présentés ici peuvent être utilisés pour définir une variable d'environnement à transmettre à Terraform.

Définition du parallélisme au moment de la création

Le bloc de code est l'exemple de charge utile pour la création d'un espace de travail avec Schematics Créer une API avec le parallélisme transmis en tant que variable d'environnement.

{
    "name": "bb",
    "type": [
        "terraform_v1.4"
    ],
    "template_repo": {
        "url": "url"
    },
    "template_data": [
        {
        "folder": ".",
        "type": "terraform_v1.4",
        "variablestore": [
        {
          "value": "<val>",
          "name": "ibmcloud_api_key",
          "type": "string",
          "secure": true
        }
        ],
        "env_values": [
        {
          "TF_LOG": "debug"
        },
        {
          "TF_CLI_ARGS_apply": "-parallelism=20"
        },
        {
          "TF_CLI_ARGS_plan": "-parallelism=20"
        }
        ]
    }
    ]
}

Définition du parallélisme après la création

Exemple de bloc env_values dans le contenu pour mettre à jour les variables d'environnement à l'aide de l'API de mise à jourde l'espace de travail Schematics. Pour un exemple plus détaillé, voir l'API Mettre à jour les variables d'entrée de l'espace de travail.

"env_values": [
    {
        "TF_CLI_ARGS_plan": "-parallelism=20"
    },
    {
        "TF_LOG": "debug"
    }
    ]

Définition du parallélisme pour les déploiements de catalogue

Les variables d'environnement ne peuvent être définies qu'au moment de l'intégration du contenu. Reportez-vous à la documentation du catalogue pour définir les variables d'environnement TF_CLI_ARGS.

Liste des variables d'environnement Terraform

IBM Cloud Schematics prend en charge les variables d'environnement suivantes à des fins de débogage. Pour plus d'informations sur les variables d'environnement spéciales, consultez la section « Variables d'environnement ».

Variables d'environnement prises en charge
Variable Description Utilisation
TF_LOG Journaux détaillés générés en cas d'erreur standard. Les valeurs prises en charge sont TRACE, DEBUG, INFO, WARN ou ERROR "TF_LOG": "TRACE"
TF_LOG_PROVIDER Pour le débogage des problèmes du fournisseur Terraform, voir Gestion de la sortie de journal. "TF_LOG_PROVIDER": "TRACE"
TF_INPUT Commande de désactivation des invites pour la saisie de la valeur d'entrée. La valeur par défaut est false ou 0. "TF_INPUT": "0"
TF_CLI_ARGS et TF_CLI_ARGS_name TF_CLI_ARGS spécifie des arguments supplémentaires à la ligne de commande. Facilite l'automatisation dans les environnements d'infrastructure de cloud. Modifiez également le comportement par défaut de Terraform sur votre propre système. TF_CLI_ARGS et TF_CLI_ARGS_name sont uniquement destinés au catalogue non contenu. "TF_CLI_ARGS_apply": "-parallelism=20"
TF_REGISTRY_DISCOVERY_RETRY Définit le nombre maximal de tentatives de demande accordé au client de registre distant pour les erreurs de connexion client. "TF_REGISTRY_DISCOVERY_RETRY": "10"
TF_REGISTRY_CLIENT_TIMEOUT Permet d'augmenter les circonstances extérieures. La valeur par défaut pour le registre distant est 10 seconds. "TF_REGISTRY_CLIENT_TIMEOUT": "15"
TF_IGNORE Permet de sortir les messages de débogage pour afficher les dossiers et fichiers ignorés. Cela s'avère utile lorsque vous déboguez les dépôts contenant des fichiers « .terraformignore ». La valeur par défaut est trace. "TF_IGNORE": "trace"
TF_PARALLELISM Lire la variable d'environnement relative au parallélisme dans l'action d'exécution et réinitialiser la valeur de parallélisme sur toutes les actions « Schematics » uniquement pour le catalogue de contenu. L'action « TF_PARALLELISM » s'applique uniquement au catalogue de contenu. "TF_PARALLELISM": "20"

Des variables d'environnement supplémentaires sont prises en charge pour le débogage des problèmes du fournisseur Terraform. Voir Gestion de la sortie de journal.