ワークスペースでの環境変数の使用
Terraformは、動作の側面をカスタマイズするために環境変数を使用します。 環境変数は、デバッグの出力の冗長性を高めるため、またはめったに使用されないランタイム・パラメーターを設定するために使用されます。
例えば、並列処理は環境変数の1つであり、数値フラグの範囲は 1 and 256 、デフォルト値は 10 です。 並列処理は、 terraform plan と terraform 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 プロバイダーの問題をデバッグするために追加の環境変数がサポートされています。 ログ出力の管理を参照してください。