如何在Terraform中查看键名包含空格的对象的状态

57次阅读
没有评论

问题描述

在使用Terraform时,想要查看一个键名包含空格的对象的状态。他尝试使用terraform state show命令,但是在键名包含空格时遇到了问题。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在Terraform中,如果要查看键名包含空格的对象的状态,可以使用引号将键名括起来,并使用反斜杠对空格进行转义。
以下是在命令行中如何实现的步骤:
1. 打开终端或命令提示符。
2. 进入Terraform项目的根目录。
3. 运行以下命令:

terraform state show 'foo.bar["@slack-channel1\ @slack-channel2"]' -state=.terraform/terraform.tfstate

在上面的示例中,我们使用引号将键名@slack-channel1 @slack-channel2括起来,并使用反斜杠对空格进行转义。这将使Terraform正确解析键名,并显示对象的状态。

方案2

如果方案1无效,请确保您的Terraform版本已更新到最新版本,并尝试以下解决方案。
在某些情况下,方案1可能无效。如果您的Terraform版本已更新到最新版本,但仍然无法查看键名包含空格的对象的状态,可以尝试以下解决方案:
1. 打开终端或命令提示符。
2. 进入Terraform项目的根目录。
3. 运行以下命令:

terraform state list

这将显示Terraform项目中所有资源的列表。查找包含键名foo.bar["@slack-channel1 @slack-channel2"]的资源。
4. 运行以下命令,替换RESOURCE_ADDRESS为您找到的资源地址:

terraform state show RESOURCE_ADDRESS -state=.terraform/terraform.tfstate

这将显示指定资源的状态。
请注意,如果您的Terraform版本较旧,某些命令可能不可用或行为不同。在尝试上述解决方案之前,请确保您的Terraform版本已更新到最新版本。

正文完