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áveis de ambiente suportadas
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.