Como usar variáveis de ambiente com espaços de trabalho
O Terraform utiliza variáveis de ambiente para personalizar aspectos de seu comportamento. As variáveis de ambiente são usadas para aumentar o detalhamento de saída para depuração ou para configurar parâmetros de tempo de execução raramente usados..
Por exemplo, o paralelismo é uma das variáveis de ambiente cujo valor pode variar entre 1 and 256; o valor padrão é 10. O paralelismo é utilizado para configurar provedores de infraestrutura que apresentam erros em operações
simultâneas ou durante a limitação de taxa não padrão, quando você executa terraform plan e terraform apply em tempo de execução.
As variáveis de ambiente só podem ser configuradas usando a API de atualização da área de trabalho e a CLI que passa um arquivo JSON Consulte o Comando da CLI de atualização da área de trabalho para obter mais detalhes
Se o seu espaço de trabalho foi criado pelo serviço de projetos IBM Cloud, consulte Ativação de registros do Terraform usando a CLI como referência sobre como definir variáveis de ambiente.
Uso
Passando TF_CLI_ARGS como env-vars
É possível passar argumentos de linha de comandos do Terraform TF_CLI_ARGS como variáveis de ambiente, como TF_CLI_ARGS_plan, e TF_CLI_ARGS_apply na área de trabalho Schematics para customizar operações.
Terraform lê essas variáveis de ambiente e as aplica em tempo de execução. Para obter mais informações sobre os argumentos da linha de comando do Terraform, consulte TF_CLI_ARGS and TF_CLI_ARGS_name.
Exemplo configurando paralelismo ou TF_LOGS
Os exemplos mostrados aqui podem ser usados para configurar qualquer variável de ambiente a ser passada para Terraform.
Configurando paralelismo na hora de criar
O bloco de código é a carga útil de amostra para criar a área de trabalho com o Schematics Criar API com paralelismo transmitido como uma variável de 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"
}
]
}
]
}
Configurando paralelismo após criar
Um bloco de amostra env_values na carga útil para atualizar as variáveis de ambiente usando a Schematics Área de trabalho API de atualização.
Para um exemplo mais detalhado, consulte Atualizar variáveis de entrada da área de trabalho API.
"env_values": [
{
"TF_CLI_ARGS_plan": "-parallelism=20"
},
{
"TF_LOG": "debug"
}
]
Configurando paralelismo para implementações do Catálogo
As variáveis de ambiente podem ser configuradas somente no tempo de integração do conteúdo Consulte a documentação do Catálogo para configurar as variáveis de ambiente TF_CLI_ARGS.
Lista de variáveis de ambiente do Terraform
O IBM Cloud Schematics suporta as variáveis de ambiente a seguir para o propósito de depuração. Para obter mais informações sobre variáveis de ambiente especiais, consulte Variáveis de ambiente.
| Variável | Descrição | Uso |
|---|---|---|
TF_LOG |
Os logs detalhados que aparecem no erro padrão. Os valores de suporte são TRACE, DEBUG, INFO, WARN ou ERROR | "TF_LOG": "TRACE" |
TF_LOG_PROVIDER |
Para depurar problemas do provedor Terraform, consulte Gerenciando Saída de Log. | "TF_LOG_PROVIDER": "TRACE" |
TF_INPUT |
Comando para desativação de prompts para inserir o valor de entrada. O valor padrão é false ou 0. | "TF_INPUT": "0" |
TF_CLI_ARGS e TF_CLI_ARGS_name |
O TF_CLI_ARGS especifica argumentos adicionais na linha de comandos. Isso permite a automação mais fácil em ambientes de infraestrutura em nuvem. Também para modificar o comportamento padrão do Terraform em seu próprio sistema.
TF_CLI_ARGS e TF_CLI_ARGS_name é apenas para catálogo de não conteúdo. |
"TF_CLI_ARGS_apply": "-parallelism=20" |
TF_REGISTRY_DISCOVERY_RETRY |
Configure o número máximo de novas tentativas de solicitação que o cliente de registro remoto pode tentar para erros de conexão do cliente. | "TF_REGISTRY_DISCOVERY_RETRY": "10" |
TF_REGISTRY_CLIENT_TIMEOUT |
Configure para aumentar as circunstâncias extrínsecas. O valor padrão para o registro remoto é 10 seconds. |
"TF_REGISTRY_CLIENT_TIMEOUT": "15" |
TF_IGNORE |
Gere as mensagens de depuração para exibir arquivos e pastas ignorados. Isso é útil ao depurar os repositórios com arquivos .terraformignore . O valor padrão é trace. |
"TF_IGNORE": "trace" |
TF_PARALLELISM |
Leia a variável de ambiente de paralelismo na ação de tempo de execução e redefina o valor de paralelismo em todas as ações “ Schematics ” apenas para o catálogo de conteúdo. A ação “ TF_PARALLELISM ” é exclusiva para o catálogo
de conteúdo. |
"TF_PARALLELISM": "20" |
Variáveis de ambiente adicionais são suportadas para depuração de problemas do provedor Terraform, consulte Gerenciando Saída de Log.