IBM Cloud Docs
ワークスペースでの環境変数の使用

ワークスペースでの環境変数の使用

Terraformは、動作の側面をカスタマイズするために環境変数を使用します。 環境変数は、デバッグの出力の冗長性を高めるため、またはめったに使用されないランタイム・パラメーターを設定するために使用されます。

例えば、並列処理は環境変数の1つであり、数値フラグの範囲は 1 and 256 、デフォルト値は 10 です。 並列処理は、 terraform planterraform apply を実行時に使用する際に、同時操作でエラーが発生したり、標準外のレート制限を使用したりするインフラストラクチャプロバイダを構成するために使用されます。

環境変数は、ワークスペース更新 API と、JSON ファイルを渡す CLI を使用してのみ設定できます。 詳しくは、 ワークスペース更新 CLI コマンド を参照してください。

使用法

TF_CLI_ARGS を env-vars として渡す

Terraform コマンド・ライン引数 TF_CLI_ARGS を環境変数 ( TF_CLI_ARGS_plan など) および TF_CLI_ARGS_apply として Schematics ワークスペースに渡して、操作をカスタマイズすることができます。

Terraform は、これらの環境変数を読み取り、ランタイムを適用します。 Terraformのコマンドライン引数に関する詳細については、 TF_CLI_ARGS and TF_CLI_ARGS_name

並列処理または TF_LOGS の設定例

ここに示す例は、Terraform に渡される環境変数を設定するために使用できます。

作成時の並列処理の設定

コード・ブロックは、環境変数として渡される並列処理を使用して Schematics Create API でワークスペースを作成するためのサンプル・ペイロードです。

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

作成後の並列処理の設定

Schematics Workspace Update APIを使用して環境変数を更新するためのペイロード内のサンプル env_values ブロック。 詳細な例については、 ワークスペース入力変数の更新 API を参照してください。

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

カタログ・デプロイメントの並列処理の設定

環境変数は、コンテンツのオンボーディング時にのみ設定できます。 TF_CLI_ARGS 環境変数を設定するには、カタログの資料を参照してください。

Terraform環境変数のリスト

IBM Cloud Schematics は、デバッグ目的のために以下の環境変数をサポートしています。 特別な環境変数に関する詳細は 、「環境変数」 を参照してください。

サポートされる環境変数
変数 説明 使用法
TF_LOG 標準エラーに示される詳細ログ。 サポート値は、TRACE、DEBUG、INFO、WARN、ERROR です "TF_LOG": "TRACE"
TF_LOG_PROVIDER Terraform プロバイダーの問題のデバッグについては、 ログ出力の管理を参照してください。 "TF_LOG_PROVIDER": "TRACE"
TF_INPUT 入力値を入力するためのプロンプトを無効にするコマンド。 デフォルト値は false または 0 です。 "TF_INPUT": "0"
TF_CLI_ARGS および TF_CLI_ARGS_name TF_CLI_ARGS はコマンド・ラインに追加の引数を指定します。 これにより、クラウド・インフラストラクチャー環境での自動化が容易になります。 また、ご使用のシステムで Terraform のデフォルトの動作を変更します。TF_CLI_ARGS および TF_CLI_ARGS_name は、非コンテンツ・カタログ専用です。 "TF_CLI_ARGS_apply": "-parallelism=20"
TF_REGISTRY_DISCOVERY_RETRY クライアント接続エラーに対してリモート・レジストリー・クライアントが試行できる要求再試行の最大数を設定します。 "TF_REGISTRY_DISCOVERY_RETRY": "10"
TF_REGISTRY_CLIENT_TIMEOUT 設定すると、外部事情を増やすことができます。 リモート・レジストリーのデフォルト値は 10 secondsです。 "TF_REGISTRY_CLIENT_TIMEOUT": "15"
TF_IGNORE デバッグ・メッセージを出力して、無視されたファイルとフォルダーを表示します。 これは、 .terraformignore ファイルのリポジトリをデバッグする際に便利です。 デフォルト値は trace です。 "TF_IGNORE": "trace"
TF_PARALLELISM 実行時に並列処理環境変数を読み込み、コンテンツカタログのみを対象に、 Schematicsの並列処理値をリセットします。 TF_PARALLELISM はコンテンツカタログのみを対象とします。 "TF_PARALLELISM": "20"

Terraform プロバイダーの問題をデバッグするために追加の環境変数がサポートされています。 ログ出力の管理を参照してください。