Umgebungsvariablen mit Arbeitsbereichen verwenden

Terraform nutzt Umgebungsvariablen, um bestimmte Aspekte seines Verhaltens anzupassen. Umgebungsvariablen werden verwendet, um die Ausführlichkeit der Ausgabe für das Debugging zu erhöhen oder selten verwendete Laufzeitparameter festzulegen.

Beispielsweise ist „parallelism“ eine der Umgebungsvariablen, deren Werte im Bereich von 1 and 256 liegen; der Standardwert ist 10. Parallelität wird verwendet, um Infrastrukturanbieter zu konfigurieren, die bei gleichzeitigen Vorgängen oder bei der Verwendung außerhalb der standardmäßigen Ratenbegrenzung Fehler melden, wenn Sie zur Laufzeit die Befehle „ terraform plan “ und „ terraform apply “ ausführen.

Umgebungsvariablen können nur mit der API für Arbeitsbereichsaktualisierungen und der Befehlszeilenschnittstelle festgelegt werden, die eine JSON-Datei übergibt. Weitere Informationen finden Sie unter CLI-Befehl 'Workspace update'.

Wenn Ihr Arbeitsbereich vom IBM Cloud projects service erstellt wurde, lesen Sie bitte unter Enabling Terraform logs by using the CLI nach, wie Sie Umgebungsvariablen setzen können.

Verwendung

TF_CLI_Args als env-vars übergeben

Sie können Terraform-Befehlszeilenargumente TF_CLI_ARGS als Umgebungsvariablen wie TF_CLI_ARGS_plan und TF_CLI_ARGS_apply im Arbeitsbereich Schematics übergeben, um Operationen anzupassen.

Terraform liest diese Umgebungsvariablen und wendet sie zur Laufzeit an. Weitere Informationen zu den Befehlszeilenargumenten von Terraform finden Sie unter TF_CLI_ARGS and TF_CLI_ARGS_name.

Beispieleinstellung für Parallelität oder TF_LOGS

Die hier gezeigten Beispiele können verwendet werden, um eine beliebige Umgebungsvariable festzulegen, die an Terraform übergeben werden soll.

Parallelität beim Erstellen festlegen

Der Codeblock ist die Beispielnutzdaten für die Erstellung eines Arbeitsbereichs mit Schematics Create API, wobei die Parallelität als Umgebungsvariable übergeben wird.

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

Parallelität nach Erstellung festlegen

Ein Beispielblock env_values in den Nutzdaten zum Aktualisieren von Umgebungsvariablen mithilfe der Schematics Workspace- Update-API. Ein ausführlicheres Beispiel finden Sie unter der API Update workspace input variables.

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

Parallelität für Katalogimplementierungen festlegen

Umgebungsvariablen können nur beim Onboarding von Inhalten festgelegt werden. Informationen zum Festlegen der TF_CLI_ARGS-Umgebungsvariablen finden Sie in der Katalogdokumentation.

Liste der Terraform-Umgebungsvariablen

IBM Cloud Schematics unterstützt die folgenden Umgebungsvariablen für Debugging-Zwecke. Weitere Informationen zu speziellen Umgebungsvariablen finden Sie unter „ Umgebungsvariablen “.

Unterstützte Umgebungsvariablen
Variable Beschreibung Verwendung
TF_LOG Die detaillierten Protokolle, die bei Standardfehlern angezeigt werden. Die Unterstützungswerte sind TRACE, DEBUG, INFO, WARN oder ERROR "TF_LOG": "TRACE"
TF_LOG_PROVIDER Informationen zum Debugging von Problemen mit Terraform-Providern finden Sie unter Protokollausgabe verwalten. "TF_LOG_PROVIDER": "TRACE"
TF_INPUT Befehl zum Inaktivieren von Eingabeaufforderungen für die Eingabe des Eingabewerts. Der Standardwert ist false oder 0. "TF_INPUT": "0"
TF_CLI_ARGS und TF_CLI_ARGS_name Mit dem Befehl TF_CLI_ARGS werden zusätzliche Argumente für die Befehlszeile angegeben. Dies ermöglicht eine einfachere Automatisierung in Cloud-Infrastrukturumgebungen. Außerdem können Sie das Standardverhalten von Terraform auf Ihrem eigenen System ändern. TF_CLI_ARGS und TF_CLI_ARGS_name gelten nur für Nicht-Inhaltskataloge. "TF_CLI_ARGS_apply": "-parallelism=20"
TF_REGISTRY_DISCOVERY_RETRY Legen Sie die maximale Anzahl der Wiederholungen fest, die der ferne Registry-Client für Clientverbindungsfehler versuchen kann. "TF_REGISTRY_DISCOVERY_RETRY": "10"
TF_REGISTRY_CLIENT_TIMEOUT Setzen, um die äußeren Umstände zu erhöhen. Der Standardwert für die ferne Registry ist 10 seconds. "TF_REGISTRY_CLIENT_TIMEOUT": "15"
TF_IGNORE Die Debugnachrichten ausgeben, um ignorierte Dateien und Ordner anzuzeigen. Dies ist hilfreich, wenn Sie die Repositorys mit „ .terraformignore “-Dateien debuggen. Der Standardwert ist trace. "TF_IGNORE": "trace"
TF_PARALLELISM Die Umgebungsvariable für die Parallelität in der Laufzeitaktion auslesen und den Parallelitätswert bei allen „ Schematics “-Aktionen ausschließlich für den Inhaltskatalog zurücksetzen. „ TF_PARALLELISM “ gilt ausschließlich für den Inhaltskatalog. "TF_PARALLELISM": "20"

Zusätzliche Umgebungsvariablen werden für das Debugging von Problemen mit dem Terraform-Provider unterstützt (siehe Protokollausgabe verwalten).