Utilización de variables de entorno con espacios de trabajo

Terraform utiliza variables de entorno para personalizar determinados aspectos de su funcionamiento. Las variables de entorno se utilizan para aumentar el nivel de detalle de salida para la depuración o para establecer parámetros de tiempo de ejecución utilizados raramente.

Por ejemplo, «parallelism» es una de las variables de entorno cuyo valor puede oscilar entre 1 and 256; el valor por defecto es 10. El paralelismo se utiliza para configurar proveedores de infraestructura que dan error en operaciones simultáneas o durante la limitación de velocidad no estándar, al ejecutar terraform plan y terraform apply en tiempo de ejecución.

Las variables de entorno sólo se pueden establecer utilizando la API de actualización de espacio de trabajo y la CLI pasando un archivo JSON. Consulte el Mandato de CLI de actualización de espacio de trabajo para obtener más detalles.

Si su espacio de trabajo fue creado por el servicio de proyectos IBM Cloud, consulte Activación de los registros de Terraform mediante la CLI como referencia sobre cómo establecer las variables de entorno.

Uso

Pasando TF_CLI_ARGS como env-vars

Puede pasar argumentos de línea de mandatos de Terraform TF_CLI_ARGS como variables de entorno, como TF_CLI_ARGS_plan, y TF_CLI_ARGS_apply en el espacio de trabajo Schematics para personalizar las operaciones.

Terraform lee estas variables de entorno y las aplica en tiempo de ejecución. Para obtener más información sobre los argumentos comando de Terraform, consulta TF_CLI_ARGS and TF_CLI_ARGS_name.

Ejemplo de establecimiento de paralelismo o TF_LOGS

Los ejemplos que se muestran aquí se pueden utilizar para establecer cualquier variable de entorno que se vaya a pasar a Terraform.

Establecimiento del paralelismo en el momento de la creación

El bloque de código es la carga útil de ejemplo para crear espacio de trabajo con Schematics Crear API con paralelismo pasado como variable de entorno.

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

Establecer paralelismo después de crear

Un bloque env_values de ejemplo en la carga útil para actualizar variables de entorno utilizando la API de actualizaciónde Schematics Workspace. Para obtener un ejemplo más detallado, consulte la API Actualizar variables de entrada de espacio de trabajo.

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

Establecimiento del paralelismo para despliegues de catálogo

Las variables de entorno sólo se pueden establecer en el momento de la incorporación de contenido. Consulte la documentación del catálogo para establecer las variables de entorno de TF_CLI_ARGS.

Lista de variables de entorno de Terraform

IBM Cloud Schematics da soporte a las siguientes variables de entorno con fines de depuración. Para obtener más información sobre las variables de entorno especiales, consulta la sección « Variables de entorno ».

Variables de entorno soportadas
Variable Descripción Uso
TF_LOG Los registros detallados que aparecen en el error estándar. Los valores admitidos son TRACE, DEBUG, INFO, WARN o ERROR "TF_LOG": "TRACE"
TF_LOG_PROVIDER Para depurar problemas del proveedor de Terraform, consulte Gestión de la salida de registro. "TF_LOG_PROVIDER": "TRACE"
TF_INPUT Mandato para inhabilitar solicitudes para especificar el valor de entrada. El valor predeterminado es false o 0. "TF_INPUT": "0"
TF_CLI_ARGS y TF_CLI_ARGS_name TF_CLI_ARGS especifica argumentos adicionales para la línea de mandatos. Esto permite una automatización más fácil en entornos de infraestructura de nube. También para modificar el comportamiento predeterminado de Terraform en su propio sistema. TF_CLI_ARGS y TF_CLI_ARGS_name solo son para el catálogo de no contenido. "TF_CLI_ARGS_apply": "-parallelism=20"
TF_REGISTRY_DISCOVERY_RETRY Establezca el número máximo de reintentos de solicitud que el cliente de registro remoto puede intentar en caso de error de conexión de cliente. "TF_REGISTRY_DISCOVERY_RETRY": "10"
TF_REGISTRY_CLIENT_TIMEOUT Establézcalo para aumentar las circunstancias extrañas. El valor predeterminado para el registro remoto es de 10 seconds. "TF_REGISTRY_CLIENT_TIMEOUT": "15"
TF_IGNORE Salida de los mensajes de depuración para visualizar archivos y carpetas ignorados. Esto resulta útil a la hora de depurar los repositorios con archivos « .terraformignore ». El valor predeterminado es trace. "TF_IGNORE": "trace"
TF_PARALLELISM Lee la variable de entorno de paralelismo en la acción de tiempo de ejecución y restablece el valor de paralelismo en todas las acciones de « Schematics » únicamente para el catálogo de contenidos. « TF_PARALLELISM » se aplica únicamente al catálogo de contenidos. "TF_PARALLELISM": "20"

Se da soporte a variables de entorno adicionales para depurar problemas del proveedor de Terraform, consulte Gestión de la salida de registro.