У меня есть этот блок кода в моей конфигурации terraform.
resource "aws_instance" "k8s" {
count = var.instance_count
ami = data.aws_ami.latest-ubuntu.id
instance_type = "t2.medium"
subnet_id = element(var.subnets, count.index)
vpc_security_group_ids = [var.security_group]
key_name = var.keyname
dynamic "iam_instance_profile" {
for_each = var.profiles
content {
iam_instance_profile = profiles.value
}
}
connection {
type = "ssh"
host = self.public_ip
user = "ubuntu"
private_key = file(var.private_key_path)
}
tags = {
Name = var.instance_name[count.index]
}
}
Но я определенно делаю что-то не так с iam_instance_profile config.
Я создаю 4 экземпляра,
instance_name = [
"PINF-Master",
"PINF-Node1",
"PINF-Node2",
"PINF-Node3"
]
У меня есть два отдельных профиля экземпляра IAM, которые я хотел бы динамически назначать экземплярам
variable "profiles" {
master = PINF-K8sMaster-Profile,
worker = PINF-K8sWorker-Profile
}
И я хочу назначить ПИНФ-К8сМастер-Профиль . только на PINF Master и PINF-K8sWorker-Profile на все остальные 3 рабочих узла.
Есть ли способ сделать это с помощью for_each ?
Надеюсь, в этом есть смысл.