Difference between revisions of "Terraform meta argument: count"

From wikieduonline
Jump to navigation Jump to search
Line 53: Line 53:
 
* <code># [[aws_instance]].your-instance-name has moved to aws_instance.your-instance-name[0]</code>
 
* <code># [[aws_instance]].your-instance-name has moved to aws_instance.your-instance-name[0]</code>
 
* [[Terraform conditional expressions]]
 
* [[Terraform conditional expressions]]
 +
[[count.index]]
  
 
== See also ==
 
== See also ==

Revision as of 12:42, 7 March 2023

Examples

  • count = 0

Terraform does not allow to use count inside module block.[1]

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}"
.../...
}


Related

count.index

See also

  • https://registry.terraform.io/modules/terraform-aws-modules/s3-bucket/aws/latest
  • Advertising: