Amazon web services Terraform提取子网列表会导致错误-是包含1个元素的元组
我有一个模块,可以创建一个包含公共和私有子网的VPCAmazon web services Terraform提取子网列表会导致错误-是包含1个元素的元组,amazon-web-services,terraform,terraform-provider-aws,Amazon Web Services,Terraform,Terraform Provider Aws,我有一个模块,可以创建一个包含公共和私有子网的VPC module "vpc" { count = var.vpc_enabled ? 1 : 0 source = "./vpc" } output "private_subnets" { value = aws_subnet.private.*.id } 作为该模块的输出,我提取私有子网 module "vpc
module "vpc" {
count = var.vpc_enabled ? 1 : 0
source = "./vpc"
}
output "private_subnets" {
value = aws_subnet.private.*.id
}
作为该模块的输出,我提取私有子网
module "vpc" {
count = var.vpc_enabled ? 1 : 0
source = "./vpc"
}
output "private_subnets" {
value = aws_subnet.private.*.id
}
然后我想使用该子网列表作为另一个模块的输入:
module "eks" {
source = "./eks"
name = var.name
private_subnets = var.vpc_enabled ? module.vpc.private_subnets : var.private_subnets_id
}
基本上,我试图实现的是,用户可以选择是创建新的专有网络,还是使用现有专有网络的子网列表作为输入
我现在遇到的问题是,我在terraform plan中遇到了以下错误:
on main.tf line 32, in module "eks":
32: private_subnets = var.vpc_enabled ? module.vpc.private_subnets : var.private_subnets_id
|----------------
| module.vpc is tuple with 1 element
This value does not have any attributes.
有人知道如何解决这个问题吗?您正在用
计数定义专有网络模块。因此,您需要引用模块的单个实例,即使只有1个
private_subnets = var.vpc_enabled ? module.vpc[0].private_subnets : var.private_subnets_id