【发布时间】:2020-03-03 03:09:58
【问题描述】:
我正在构建需要与两个不同的 AWS 账户对话的代码,文档说这应该可以工作。这在 0.11.14
下工作主要是在我的 providers.tf 文件中:
provider "aws" {
alias = "ca-central-1"
region = "ca-central-1"
profile = var.aws_profile
}
provider "aws" {
alias = "other-ca-central-1"
region = "ca-central-1"
profile = var.aws_other_profile
}
(这些变量在我的凭据文件中设置了正确的配置文件。)
在根目录中,在调用模块的代码中,
module "obfuscated" {
source = "./modules/obfuscated"
providers = {
aws.main = "aws.ca-central-1"
aws.other = "aws.other-ca-central-1"
}
#other stuff
}
在 ./modules/obfuscated/main.tf 我有
provider "aws" {
alias = "main"
}
provider "aws" {
alias = "other"
}
文档说的是占位符,只能为空或有别名。没有它,它会抱怨提供者不存在。 但是有了它,它抱怨我没有指定与文档冲突的区域。
文档肯定不会有错,不,这不可能..帮我obi-wan-overflow..
【问题讨论】:
-
"aws-other-ca-central-1"是您所尝试内容的准确副本,还是只是您发表评论时的编辑错误?正确的语法是aws.other-ca-central-1(带有句点而不是破折号),在 Terraform 0.12 中,您不需要引用这些引用,尽管 Terraform 0.12 会接受它,以与 0.11 兼容。跨度> -
转录错字。
-
他们可能在没有记录的情况下进行了重大更改。 Terraform 文档在某些地方存在不准确之处,尤其是在很长一段时间内的
terraform taint部分。
标签: terraform