Amazon web services 通过aws资源访问管理器中的terraform与多个aws帐户共享多个DNS域
我正在使用AWS Route53解析器转发发送到内部域列表(本地)的DNS请求。通过terraform,我想将我创建的规则共享给公司的其他帐户,因此我有以下内容:Amazon web services 通过aws资源访问管理器中的terraform与多个aws帐户共享多个DNS域,amazon-web-services,amazon-route53,terraform-provider-aws,Amazon Web Services,Amazon Route53,Terraform Provider Aws,我正在使用AWS Route53解析器转发发送到内部域列表(本地)的DNS请求。通过terraform,我想将我创建的规则共享给公司的其他帐户,因此我有以下内容: # I create as much share endpoint as domain I have, so If I have 30 domains, I'll make 30 endpoint RAM: resource "aws_ram_resource_share" "endpoint_share
# I create as much share endpoint as domain I have, so If I have 30 domains, I'll make 30 endpoint RAM:
resource "aws_ram_resource_share" "endpoint_share" {
count = length(var.forward_domain)
name = "route53-${var.forward_domain[count.index]}-share"
allow_external_principals = false
}
# Here I share every single endpoint with all the AWS ACcount we have
resource "aws_ram_principal_association" "endpoint_ram_principal" {
count = length(var.resource_share_accounts)
principal = var.resource_share_accounts[count.index]
resource_share_arn = {
for item in aws_ram_resource_share.endpoint_share[*]:
item.arn
}
}
最后一个块调用第一个块(列表)的arn输出。
现在,最后一个块不起作用,我不知道如何使用多个计数,当我运行这个时,我得到以下错误:
Error: Invalid 'for' expression
line 37: Key expression is required when building an object.
你知道怎么做吗
Terraform version: 0.12.23
在资源共享中使用方括号,如下所示:
resource_share_arn = [
for item in aws_ram_resource_share.endpoint_share[*]:
item.arn
]