簡體   English   中英

如何獲取 Terraform 計數的值

[英]How to get the value of Terraform count

我需要在下面的 Terraform 代碼中獲取count ,以便可以在 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
}

所以如果count=0 ,我想打印done

我怎樣才能做到這一點?

您可以在 user_data heredoc 中使用${count.index}來引用當前計數。

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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM