Terraform meta argument: count
Jump to navigation
Jump to search
↑ https://www.terraform.io/docs/language/meta-arguments/count.html
↑ https://registry.terraform.io/modules/terraform-aws-modules/s3-bucket/aws/latest
Examples[edit]
count = length(var.subnet_ids)
count = var.vpc_cidr_block != null ? 1 : 0
count = local.create_node_sg ? 1 : 0
count = var.istest == true ? 3 : 0
count = 0
Terraform does not allow to use count inside module block.[2]
resource "aws_instance" "dev" { ami = "ami-082b5a644766e0e6f" instance_type = "t2.micro" count = 2 }
resource "aws_instance" "your_new_instance_in_test" { ami = "ami-082b5a644766e0e6f" instance_type = "t2.micro" count = var.istest == true ? 3 : 0 }
resource "aws_instance" "your_new_conditional_instance { count = var.your_env == "PRE" ? 1 : 0 ami = "ami-082b5a644766e0e6f" instance_type = "t2.micro" }
variable "elb_names" { type = list default = ["dev-loadbalancer", "stage-loadbalanacer","prod-loadbalancer"] } resource "aws_iam_user" "lb" { name = var.elb_names[count.index] count = 2 path = "/system/" }
resource "aws_ecs_service" "your_service" { count = var.your_env_name == "PROD" ? 1 : 0 .../... task_definition = "${aws_ecs_task_definition.dashboards_task[0].family}:${aws_ecs_task_definition.dashboards_task[0].revision}" .../... }
Error[edit]
Related[edit]
for_each
# aws_instance.your-instance-name has moved to aws_instance.your-instance-name[0]
- Terraform conditional expressions
count.index
See also[edit]
- Terraform meta argument: count
- Terraform functions, Terraform collection functions:
tolist
,toset
,length
,sum
,file
,join
,depends_on
,zipmap
,replace
,lookup
,read files
,concat
,merge, templatefile, for_each, format, element, slice, try, filebase64, upper, filemd5, coalesce, formatlist, flatten
- Terraform: Meta-Arguments:
count
,depends_on
,lifecycle: [ prevent_destroy | ignore_changes ]
Advertising: