- コマンドライン
- 基本的なCLI機能
- コマンド: state
- コマンド: state show
コマンド: state show
tofu state show
コマンドは、OpenTofuステート内の単一リソースの属性を表示するために使用されます。
使い方
使い方: tofu state show [options] ADDRESS
このコマンドは、指定されたアドレスに一致するステートファイル内の単一リソースの属性を表示します。
このコマンドには、ステート内の単一リソースを指すアドレスが必要です。アドレスはリソースアドレス形式です。
モジュールソース、バックエンド構成、または暗号化ブロックでの変数の使用には、tofu show
を実行する際にルートモジュール変数に値を割り当てる必要があります。
コマンドラインフラグはすべてオプションです。次のフラグが利用可能です。
-
-state=path
- ステートファイルへのパス。デフォルトは"terraform.tfstate"です。リモートステートが使用されている場合は無視されます。 -
-var 'NAME=VALUE'
- 構成のルートモジュールで宣言された単一の入力変数の値を設定します。複数の変数を設定するには、このオプションを複数回使用します。詳細については、コマンドラインでの入力変数を参照してください。 -
-var-file=FILENAME
- "tfvars"ファイルからの定義を使用して、構成のルートモジュールで宣言された多数の入力変数の値を設定します。複数のファイルから値を含めるには、このオプションを複数回使用します。
-var
および-var-file
オプション以外にも、ルートモジュールの入力変数の値を設定する方法がいくつかあります。詳細については、ルートモジュール変数への値の割り当てを参照してください。
tofu state show
の出力は、プログラムによる消費ではなく、人間が消費することを目的としています。他のソフトウェアで使用するためにステートデータを抽出するには、tofu show -json
を使用し、文書化された構造を使用して結果をデコードしてください。
例: リソースの表示
以下の例は、worker
という名前のpacket_device
リソースを示しています。
$ tofu state show 'packet_device.worker'
# packet_device.worker:
resource "packet_device" "worker" {
billing_cycle = "hourly"
created = "2015-12-17T00:06:56Z"
facility = "ewr1"
hostname = "prod-xyz01"
id = "6015bg2b-b8c4-4925-aad2-f0671d5d3b13"
locked = false
}
例: モジュールリソースの表示
以下の例は、foo
という名前のモジュール内にあるworker
という名前のpacket_device
リソースを示しています。
$ tofu state show 'module.foo.packet_device.worker'
例: countで構成されたリソースの表示
以下の例は、count
で構成されたworker
という名前のpacket_device
リソースの最初のインスタンスを示しています。
$ tofu state show 'packet_device.worker[0]'
例: for_eachで構成されたリソースの表示
次の例は、for_each
メタ引数で構成されたworker
という名前のpacket_device
リソースの"example"
インスタンスを示しています。リソース名に二重引用符などの特殊文字が含まれている場合は、単一引用符で囲む必要があります。
Linux、Mac OS、およびUNIX
$ tofu state show 'packet_device.worker["example"]'
PowerShell
$ tofu state show 'packet_device.worker[\"example\"]'
Windows cmd.exe
$ tofu state show packet_device.worker[\"example\"]