计数资源上的嵌套动态块未按预期工作



需要您的帮助。我被以下资源创建所困扰。使用Terraform v1.0.6

我需要在两个VPCs 中动态创建适当的子网

变量.tf

vpc_resource_networks = {
pnw-01 =  [
[
{
subnet_name   = "wb-01"
subnet_ip     = "10.58.72.0/25"
description   = "WEB01"
index         = 0
},
{
subnet_name   = "wb-02"
subnet_ip     = "10.58.72.128/25"
description   = "WEB02"
index         = 1
}
],
[
{
subnet_name   = "wb-01"
subnet_ip     = "10.58.80.0/25"
description   = "WEB01"
index        = 0
},
{
subnet_name   = "web-02"
subnet_ip     = "10.58.72.128/25"
description   = "WEB02"
index        = 1
}
]
]
}

主.tf

locals {
wlb_net   = element(keys(var.vpc_resource_networks), 0)
}
resource "aws_subnet" "wlb" {

count = length(module.aws_vpc_app_resource)
vpc_id = element(module.aws_vpc_app_resource.*.vpc_id, count.index)
dynamic "subnet_group" {
for_each = var.vpc_resource_networks[local.wlb_net][count.index]
content {
dynamic "subnet" {
for_each = subnet_group.value
content {
cidr_block = subnet.subnet_ip
availability_zone  = element(var.azs, subnet.index)
tags = {
Name = subnet.subnet_name
}
}
}
}
}

我打算动态创建子网,即var.vpc_resource_networks.pnw01[0]应该在一个vpc上,另一个索引应该在另一个vpc上。上面的块返回

动态"子网组"{此处不应出现"subnet_group"类型的块。

请协助

查看aws_subnet的资源定义,我可以看到,正如错误消息所示,没有"的属性;subnet_group";。

有几种不同的资源类型是子网组,但用于不同的服务;如DMS、DocumentDB、DAX、Elasticache、MemoryDB、Neptune、RDS和Redshift。搜索术语";subnet_group";在提供者页面的左侧面板上。

也许AWS专家可以在这里发表评论,但我相信你试图在一个动作中做两件事。

首先,您应该创建子网并定义其范围,然后创建需要访问特定服务的不同子网的子网组。

以下是有关子网和子网组的更多信息。

相关内容

  • 没有找到相关文章

最新更新