Utilizzo delle variabili di ambiente con gli spazi di lavoro

Terraform utilizza le variabili di ambiente per personalizzare gli aspetti del suo comportamento. Le variabili di ambiente vengono utilizzate per aumentare la verbosità di output per il debug o per impostare parametri di runtime raramente utilizzati.

Ad esempio, il parallelismo è una delle variabili di ambiente con un intervallo di flag numerico compreso tra 1 and 256, il valore predefinito è 10. Il parallelismo viene utilizzato per configurare i fornitori di infrastruttura che eseguono errori su operazioni simultanee o che utilizzano durante la limitazione della frequenza non standard, quando si eseguono terraform plan e terraform apply al runtime.

Le variabili di ambiente possono essere impostate solo utilizzando l'API di aggiornamento dello spazio di lavoro e la CLI che passa un file JSON. Per ulteriori dettagli, vedi il comando della CLI di aggiornamento dello spazio di lavoro.

Se lo spazio di lavoro è stato creato dal servizio progetti IBM Cloud, vedere Abilitazione dei log di Terraform usando la CLI come riferimento su come impostare le variabili d'ambiente.

Utilizzo

Passaggio di TF_CLI_ARGS come env - vars

Puoi passare gli argomenti della riga di comando Terraform TF_CLI_ARGS come variabili di ambiente, come TF_CLI_ARGS_plan e TF_CLI_ARGS_apply nello spazio di lavoro Schematics per personalizzare le operazioni.

Terraform legge queste variabili di ambiente e le applica al runtime. Per ulteriori informazioni sugli argomenti della riga di comando Terraform, vedi TF_CLI_ARGS and TF_CLI_ARGS_name.

Esempio di impostazione parallelismo o TF_LOGS

Gli esempi mostrati qui possono essere utilizzati per impostare qualsiasi variabile di ambiente da passare a Terraform.

Impostazione del parallelismo al momento della creazione

Il blocco di codice è il payload di esempio per creare lo spazio di lavoro con Schematics Crea API con parallelismo passato come una variabile di ambiente.

{
    "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"
        }
        ]
    }
    ]
}

Impostazione del parallelismo dopo la creazione

Un blocco di esempio env_values nel payload per aggiornare le variabili di ambiente utilizzando l'API di aggiornamentodello spazio di lavoro Schematics. Per un esempio più dettagliato, vedi l'API Aggiorna le variabili di input dello spazio di lavoro.

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

Impostazione del parallelismo per le distribuzioni del catalogo

Le variabili di ambiente possono essere impostate solo al momento dell'onboarding del contenuto. Fare riferimento alla documentazione del Catalogo per impostare le variabili di ambiente TF_CLI_ARGS.

Elenco delle variabili d'ambiente di Terraform

IBM Cloud Schematics supporta le seguenti variabili di ambiente a scopo di debug. Per ulteriori informazioni sulle variabili di ambiente speciali, vedi Variabili di ambiente.

Variabili di ambiente supportate
Variabile Descrizione Utilizzo
TF_LOG I log dettagliati visualizzati sull'errore standard. I valori di supporto sono TRACE, DEBUG, INFO, WARN o ERROR "TF_LOG": "TRACE"
TF_LOG_PROVIDER Per il debug dei problemi del provider Terraform, vedi Gestione dell'output del log. "TF_LOG_PROVIDER": "TRACE"
TF_INPUT Comando per disabilitare le richieste di inserimento del valore di input. Il valore predefinito è false o 0. "TF_INPUT": "0"
TF_CLI_ARGS e TF_CLI_ARGS_name Il TF_CLI_ARGS specifica ulteriori argomenti per la riga comandi. Ciò consente un'automazione più facile negli ambienti dell'infrastruttura cloud. Anche per modificare il comportamento predefinito di Terraform sul proprio sistema. TF_CLI_ARGS e TF_CLI_ARGS_name sono solo per il catalogo non contenuto. "TF_CLI_ARGS_apply": "-parallelism=20"
TF_REGISTRY_DISCOVERY_RETRY Impostare il numero massimo di tentativi di richiesta che il client di registro remoto può tentare per errori di connessione client. "TF_REGISTRY_DISCOVERY_RETRY": "10"
TF_REGISTRY_CLIENT_TIMEOUT Impostare per aumentare le circostanze estranee. Il valore predefinito per il registro remoto è 10 seconds. "TF_REGISTRY_CLIENT_TIMEOUT": "15"
TF_IGNORE Emettere i messaggi di debug per visualizzare i file e le cartelle ignorati. Ciò è utile quando si esegue il debug dei repository con file .terraformignore. Il valore predefinito è " trace ". "TF_IGNORE": "trace"
TF_PARALLELISM Leggi la variabile di ambiente del parallelismo nell'azione di runtime e reimposta il valore di parallelismo su tutte le azioni Schematics solo per il catalogo del contenuto. TF_PARALLELISM è solo per il catalogo di contenuto. "TF_PARALLELISM": "20"

Ulteriori variabili di ambiente sono supportate per il debug dei problemi del provider Terraform, vedi Gestione dell'output del log.