Terraform, как перебрать блок данных пользователя cloudinit - PullRequest
0 голосов
/ 05 марта 2019

Я хочу раскрутить 2 экземпляра ec2 с тегами "ins-1" и "ins-2" . Далее, при запуске обоих ins-1 / ins-2 я хочу установить их имена хостов: "server-1" и "server-2" с использованием cloudinit. Приведенный ниже код прекрасно создает 2 экземпляра с тегами ins-1 и ins-2, но оба экземпляра получают имя хоста "server-1"

variable "host_count" {
  default = "2"
}
variable "host_name_prefix" {
  default = "cluster-node-"
}
variable "aws_keypair_privatekey_filepath" {
  default = "../mykey.pem"
}


resource "aws_instance" "ins" {
  count = "${var.host_count}"
  ami       = "${lookup(var.AMIS, var.aws_region)}"
  instance_type = "t2.micro"
  subnet_id = "${aws_subnet.mypublic-1.id}"
  tags {
    Name = "server-${count.index + 1}"
  }
  vpc_security_group_ids = ["${aws_security_group.allow-ssh.id}"]
  user_data = "${data.template_cloudinit_config.example.rendered}"
  }


data "template_cloudinit_config" "example" {
  gzip          = true
  base64_encode = true
  # count = "${var.host_count}"

  part {
    content_type = "text/cloud-config"
    content      = <<EOF
    preserve_hostname: false
    fqdn: "server-${count.index + 1}"
    hostname: "server-${count.index + 1}"
EOF
  }
} 

Высоко ценю ваши отзывы об этом. Большое спасибо заранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...