continuous-integration - Terraform 从环境中读取变量
问题描述
我编写了一个带有变量定义的 terraform 配置,例如:
variable "GOOGLE_CLOUD_REGION" {
type = string
}
当我运行terraform plan
时,我被要求填写这个变量,即使这个变量是在我的环境中设置的。
有没有办法告诉 terraform 使用当前的环境变量?还是我必须将它们导出并以某种方式逐一手动传递?
解决方案
您可以定义环境变量TF_VAR_GOOGLE_CLOUD_REGION
来设置该变量。
如果您使用 bash,它可能如下所示:
export TF_VAR_GOOGLE_CLOUD_REGION="$GOOGLE_CLOUD_REGION"
terraform apply ...
作为定义变量的其他方法的后备,Terraform 在其自己的进程的环境中搜索命名的环境变量,
TF_VAR_
后跟声明的变量的名称。这在以自动化方式运行 Terraform 或使用相同变量连续运行一系列 Terraform 命令时很有用。例如,在
bash
Unix 系统上的提示符下:$ export TF_VAR_image_id=ami-abc123 $ terraform plan ...
推荐阅读
- javascript - cy.visit() 必须使用 url 或包含 url 作为其第一个参数的选项对象调用 - Cypress.env('StudentPortal')
- confluence - 通过 confluence 插件创建的 Confluence 嵌入式 draw.io png 不包含 xml 元数据
- r - 在“R”中制作圆形条形图
- python - 使用正则表达式 #Python #Regex 从字符串中获取一个序列
- python - 传递一个变量来引用实例属性
- docker - 如何在 docker 容器中设置卷挂载的 uid/gid
- python - 如何转置矩阵列表
- python - 如何在没有 pandas 数据框的情况下复制 seaborn 计数图?
- r - 仅过滤列中包含两个字符串的行
- r - 检测多家公司的变化