【发布时间】:2020-11-01 21:12:12
【问题描述】:
如果您使用 for_each 而不是 count,如何获得子网 ID? 就我而言,我正在做这样的事情
resource "aws_instance" "k8s" {
for_each = var.profiles
ami = data.aws_ami.latest-ubuntu.id
instance_type = "t2.medium"
iam_instance_profile = "${each.value}"
subnet_id = ??????????????
vpc_security_group_ids = [var.security_group]
key_name = var.keyname
connection {
type = "ssh"
host = self.public_ip
user = "ubuntu"
private_key = file(var.private_key_path)
}
tags = {
Name = "${each.key}"
}
}
这是因为我正在创建类似的实例,但需要为它们分配不同的实例配置文件。
理想情况下,我会做类似的事情
subnet_id = element(var.subnets, count.index )
将实例放置在不同的子网中,但我认为 count 和 for_each 不能用于同一个块定义中。
我需要子网和 4 个实例,并且想遍历子网,将每个实例放在一个中。
有什么想法吗? 谢谢。
【问题讨论】:
标签: amazon-web-services terraform terraform-provider-aws terraform0.12+