- コマンドライン
- 基本的なCLI機能
- コマンド: state
- コマンド: state list
コマンド: state list
tofu state list
コマンドは、OpenTofuステート内のリソースを一覧表示するために使用します。
使用法
使用法: tofu state list [オプション] [アドレス...]
このコマンドは、指定されたアドレス(もしあれば)に一致するステートファイル内のすべてのリソースを一覧表示します。アドレスが指定されていない場合は、すべてのリソースが一覧表示されます。
一覧表示されるリソースは、モジュールの深さの順に並べられ、その後にアルファベット順に並べられます。つまり、直接の設定にあるリソースが最初に表示され、モジュール内でより深くネストされたリソースが最後に表示されます。
複雑なインフラストラクチャの場合、ステートには数千のリソースが含まれる可能性があります。これらをフィルタリングするには、コマンドに1つ以上のパターンを指定します。パターンは、リソースアドレス形式で指定します。
バックエンド設定または暗号化ブロックで変数を使用するには、tofu state list
を実行する際に、ルートモジュール変数に値を割り当てる必要があります。
コマンドラインフラグはすべてオプションです。次のフラグを使用できます。
-
-state=path
- ステートファイルへのパス。デフォルトは「terraform.tfstate」です。リモートステートが使用されている場合は無視されます。 -
-id=id
- 表示するリソースのID。設定されていない場合は無視されます。 -
-var 'NAME=VALUE'
- 設定のルートモジュールで宣言された単一の入力変数の値を設定します。複数の変数を設定するには、このオプションを複数回使用します。詳細については、コマンドラインでの入力変数を参照してください。 -
-var-file=FILENAME
- 入力変数の値を、"tfvars"ファイルの定義を使用して、設定のルートモジュールで宣言された多くの入力変数に設定します。複数のファイルから値を含めるには、このオプションを複数回使用します。
ルートモジュールの入力変数の値を設定する方法は、-var
および-var-file
オプション以外にもいくつかあります。詳細については、ルートモジュール変数への値の割り当てを参照してください。
例: すべてのリソース
この例では、モジュールを含むすべてのリソースを一覧表示します。
$ tofu state list
aws_instance.foo
aws_instance.bar[0]
aws_instance.bar[1]
module.elb.aws_elb.main
例: リソースによるフィルタリング
この例では、指定された名前のリソースのみを一覧表示します。
$ tofu state list aws_instance.bar
aws_instance.bar[0]
aws_instance.bar[1]
例: モジュールによるフィルタリング
この例では、指定されたモジュールとそのサブモジュール内のリソースを一覧表示します。
$ tofu state list module.elb
module.elb.aws_elb.main
module.elb.module.secgroups.aws_security_group.sg
例: IDによるフィルタリング
この例では、コマンドラインで指定されたIDを持つリソースのみを一覧表示します。これは、特定のリソースが構成内のどこにあるかを特定するのに役立ちます。
$ tofu state list -id=sg-1234abcd
module.elb.aws_security_group.sg