我想知道在 terraform 中调用数据源时是否可以使用变量:
而不是:
data.terraform_remote_state.dev_vpc
我想要一个变量调用 dev 像:
data.terraform_remote_state.${var.stage}_vpc
我尝试使用上面的变量,但收到错误:
错误:属性名称无效
在 locals.tf 第 21 行,在 locals 中:
21:对于 data.terraform_remote_state.${var.stage}_vpc 中的 n:
点后需要属性名称。
任何帮助将不胜感激。
提前致谢。
您无法像这样模板化标识符,但还有其他一些方法可以做到这一点。
在远程状态定义中使用变量:
data "terraform_remote_state" "rs" {
backend = "local"
config = {
path = local.remote_path
}
}
这稍微简单一些,允许您根据需要使用配置文件、本地变量或变量在远程配置中进行模板化。
定义多个远程状态,并索引:
locals {
remote_paths = { dev = "./dev/terraform.tfstate", prod = "./prod/terraform.tfstate" }
}
data "terraform_remote_state" "rs" {
for_each = local.remote_paths
backend = "local"
config = {
path = each.value
}
}
您现在可以在以下位置参考开发和产品data.terraform_remote_state.rs["dev"]
or data.terraform_remote_state.rs["prod"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)