在Terraform中列出所有配置的环境变量

63次阅读
没有评论

问题描述

在使用Terraform时,按照文档中的指示,通过设置环境变量配置了AWS提供程序的访问密钥和秘钥:

$ export AWS_ACCESS_KEY_ID="anaccesskey"
$ export AWS_SECRET_ACCESS_KEY="asecretkey"

现在,他想要在控制台上查看这些变量以及系统中配置的其他环境变量,但是他找不到正确的命令。

解决方案

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

方案1

要查看在Terraform中配置的所有环境变量,可以使用env命令。此命令将显示当前Shell环境中的所有环境变量,包括与Terraform相关的变量。
在命令行中运行以下命令:

$ env

这将显示所有环境变量,包括您在Terraform中设置的变量。

方案2

如果您只想查看与Terraform相关的环境变量,您可以在Terraform配置文件中执行命令。以下是一个示例Terraform配置文件:

terraform {
  required_version = ">= 0.12.0"
}

resource "null_resource" "get_tf_env" {
  provisioner "local-exec" {
    command     = "env"
    interpreter = ["bash", "-c"]
  }
}

在上面的示例中,我们定义了一个名为get_tf_env的null_resource资源,使用local-exec provisioner来执行env命令。这将在Terraform执行期间显示与Terraform相关的环境变量。

方案3

如果您只想查看通过Terraform定义的变量,您可以使用printenv命令结合grep来过滤环境变量。以下命令将显示以TF_VAR为前缀的所有变量,这些变量通常用于在Terraform中定义的变量:

$ printenv | grep TF_VAR

这将列出所有以TF_VAR为前缀的环境变量,这些变量将由Terraform使用。

无论您选择哪种方法,您都可以根据您的需求查看与Terraform相关的环境变量。

总结

在Terraform中查看配置的环境变量可以通过在命令行中运行env命令、在Terraform配置文件中执行命令,或者使用printenv命令结合grep过滤器来实现。这将帮助您了解在Terraform执行期间哪些环境变量正在使用,以及如何获取它们的值。

正文完