![](/img/trans.png)
[英]How to get multiple values in a list without using count in 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.