1.6.18.1.1. list

terraform state list命令可以列出状态文件中记录的资源对象。

1.6.18.1.1.1. 用法

terraform state list [options] [address...]

该命令会根据address列出状态文件中相关资源的信息(如果给定了address的话)。如果没有给定address,那么所有资源都会被列出。

列出的资源根据模块深度以及字典序进行排序,这意味着根模块的资源在前,越深的子模块定义的资源越在后。

对于复杂的基础设施,状态文件可能包含成千上万到的资源对象。可以通过提供一个或多个资源地址来进行过滤。

可以使用的可选参数有:

  • -state=path:指定使用的状态文件地址。默认为"terraform.tfstate"。使用远程Backend时该参数设置无效
  • -id=id:要显示的资源ID

1.6.18.1.1.2. 例子:所有资源

$ terraform state list
aws_instance.foo
aws_instance.bar[0]
aws_instance.bar[1]
module.elb.aws_elb.main

1.6.18.1.1.3. 例子:根据资源地址过滤

$ terraform state list aws_instance.bar
aws_instance.bar[0]
aws_instance.bar[1]

1.6.18.1.1.4. 例子:根据模块过滤

$ terraform state list module.elb
module.elb.aws_elb.main

1.6.18.1.1.5. 例子:根据ID过滤

下面的例子显示了根据资源对象ID过滤资源:

$ terraform state list -id=sg-1234abcd
module.elb.aws_security_group.sg

results matching ""

    No results matching ""