1. 반복문

1.1 count 매개 변수를 이용한 반복

iam user를 3개를 만드는 반복문을 작성하고 싶음

count : 테라폼의 가장 오래되고 단순하며 제한된 반복 구조

resource "aws_iam_user" "example" {
  count = 3
  name = "neo.${count.index}"
}

Untitled

한 번에 neo.0, neo.1, neo.2의 iam user를 생성할 수 있음

index를 이용하기 위해 terraform의 입력변수의 type을 list(string) 으로 놓고 default값을 이용해 배열을 생성할 수 있음

variable "user_names" {
  description = "Create IAM users with these names"
  type = list(string)
  default = ["neo", "trinity", "morpheus"]
}

index를 이용

resource "aws_iam_user" "example" {
  count = length(var.user_names) # 3으로 하드코딩 안해도 됨
  name = "neo.${count.index}"
}

resource에 count 를 사용한 후에는 하나의 리소스가 아니라 리소스의 배열이 된다. ⇒ example은 IAM user의 배열

그래서 출력변수로 IAM User의 ARN을 출력하고 싶으면

<PROVIDER>_<TYPE>.<NAME>**[INDEX]**.ATTRIBUTE 를 사용해 배열의 index를 명시해야 한다