メインコンテンツへスキップ

コマンド: state list

tofu state list コマンドは、OpenTofuステート内のリソースを一覧表示するために使用します。

使用法

使用法: tofu state list [オプション] [アドレス...]

このコマンドは、指定されたアドレス(もしあれば)に一致するステートファイル内のすべてのリソースを一覧表示します。アドレスが指定されていない場合は、すべてのリソースが一覧表示されます。

一覧表示されるリソースは、モジュールの深さの順に並べられ、その後にアルファベット順に並べられます。つまり、直接の設定にあるリソースが最初に表示され、モジュール内でより深くネストされたリソースが最後に表示されます。

複雑なインフラストラクチャの場合、ステートには数千のリソースが含まれる可能性があります。これらをフィルタリングするには、コマンドに1つ以上のパターンを指定します。パターンは、リソースアドレス形式で指定します。

コマンドラインフラグはすべてオプションです。次のフラグを使用できます。

  • -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