繁体   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