【发布时间】:2022-07-11 22:13:38
【问题描述】:
我有一个名为 vpc 的模块和另一个名为 ecs 的模块。我正在尝试引用在 ecs 的 vpc 模块中创建的 AWS 子网。到目前为止,这是我所拥有的:
main.tf
module "ecs" {
source = "./service/ecs"
public_subnet_ids = module.vpc.ecs-public-subnet.ids
}
vpc.tf
resource "aws_subnet" "public-subnet-1" {
...
}
resource "aws_subnet" "public-subnet-2" {
...
}
output "ecs-public-subnet" {
value = [
aws_subnet.public-subnet-1.id,
aws_subnet.public-subnet-2.id
}
ecs.tf
variable "public_subnet_ids" {
type = list(string)
description = "public subnets"
}
resource "aws_ecs_service" "foo" {
name = "foo"
...
network_configuration {
...
subnets = ["${element(var.public_subnet_ids, count.index)}"]
当我执行计划时,我得到以下信息:
错误:在非计数上下文中引用“count”“count”对象 只能在“模块”、“资源”和“数据”块中使用,并且只能在“模块”、“资源”和“数据”块中使用 当设置了“count”参数时。
Terraform 版本 1.1.8, aws 提供程序版本 4.10.0
如果有更好的方法可以改变整个方法,我非常高兴。
【问题讨论】:
标签: terraform