Как получить значение счетчика Terraform - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно получить значение count в приведенном ниже коде Terraform, чтобы я мог написать условный оператор в bash.

вот terraform

resource "aws_instance" "kubernetes_master" {
  ami = "${var.ec2-ami}"
  count = 3
  instance_type = "${var.ec2-type}"
  key_name = "${aws_key_pair.public.key_name}"
  subnet_id = "${aws_subnet.kube-master-subnet.id}"
  vpc_security_group_ids = ["${aws_security_group.sg-kube-master-allow-ssh.id}"]
  associate_public_ip_address = true

  user_data = <<-EOF
              #!/bin/bash           

              # if count=0; then echo "done"; fi

              pwd
            EOF
}

Итак, я хочу напечатать done, если count=0

Как я могу это сделать?

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете использовать ${count.index} внутри вашего heredo user_data c для ссылки на текущий счетчик.

resource "aws_instance" "kubernetes_master" {
  ami = "${var.ec2-ami}"
  count = 3
  instance_type = "${var.ec2-type}"
  key_name = "${aws_key_pair.public.key_name}"
  subnet_id = "${aws_subnet.kube-master-subnet.id}"
  vpc_security_group_ids = ["${aws_security_group.sg-kube-master-allow-ssh.id}"]
  associate_public_ip_address = true

  user_data = <<-EOF
              #!/bin/bash           

              # if ${count.index} -eq 0; then echo "done"; fi

              pwd
            EOF
}

Если бы общее количество на ресурсе было 0, ресурс aws_instance не был бы создан, и никакие user_data не были бы быть запущенным.

...