【问题标题】:command to list workspaces and aws resources created using workspace命令列出使用工作区创建的工作区和 aws 资源
【发布时间】:2023-01-30 11:19:24
【问题描述】:
标签:
amazon-web-services
terraform
【解决方案1】:
从文档:
工作区允许您使用配置的相同工作副本以及相同的插件和模块缓存,同时仍然为您管理的每个资源集合保持单独的状态。
然后
工作区在技术上等同于重命名状态文件。它们并不比这更复杂。 Terraform 用一组保护和对远程状态的支持来包装这个简单的概念。
换句话说,您可能误解了工作区和 state list 的工作原理,因为
terraform state list命令可以列出当前工作目录和工作空间正在管理的资源,提供完整或过滤列表.
最重要的部分是这个
该命令将列出状态文件中与给定地址(如果有)匹配的所有资源。如果没有给出地址,则列出所有资源。
TLDR;
没有这样的额外命令,因为使用 workspaces 和 terraform state list 应该可以满足您的要求。
选择给定的工作区,然后选择terraform state show 将只为您提供该工作区的所有资源。
【解决方案2】:
要列出 Terraform 工作区,您可以使用 terraform workspace list 命令:
terraform workspace list
此命令将列出 Terraform 配置中的所有工作区。
要列出使用特定 Terraform 工作空间创建的 AWS 资源,您可以使用 terraform state list 命令:
terraform state list -state=<workspace_name>.tfstate
将 <workspace_name> 替换为您要检查的 Terraform 工作区的名称。此命令将列出已在该工作区中创建的所有资源。
请注意,terraform state list 命令需要您要检查的工作区的 .tfstate 文件。如果工作区是使用远程后端创建的,您可能需要在运行此命令之前先配置后端。