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.
| 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.