반응형
for_each
: 반복을 할 때 인덱스가 아닌 each object로 접근하는 방법
- map, set만 for_each 사용 가능함
- for_each를 사용하려면 타입 변환이 필요함
list vs each object
list
variable "sample" {
type = list(string)
default = ["aaa", "bbb", "ccc"]
}
- IAM user 생성
resource "aws_iam_user" "count" {
count = length(var.user_names)
name = var.user_names[count.index]
}
- for_each를 이용해 IAM 생성할 경우
resource "aws_iam_user" "for_each_set" {
for_each = toset(var.user_names)
name = each.key
}
--> sample에서 리스트 값 순서 바뀌어도 업데이트 할 때 error 안생김.
map (키: 값)
variable "sample" {
type = map(string)
default = {"aaa": "aaa", "bbb": "bbb", "ccc": "ccc"}
}
> var.sample["bbb"] --> "bbb"
- terraform apply를 실행하면 count와 달리 key로 접근하여 생성하는 것을 알 수 있다.
반응형
'Public Cloud > Terraform' 카테고리의 다른 글
.gitlab-ci.yml (0) | 2023.02.01 |
---|---|
Terraform이란 (0) | 2023.01.13 |
Terraform - 중앙 집중식 비밀 저장소 (0) | 2023.01.13 |
Terraform - 민감정보 보안 / Provider Block / OIDC (0) | 2023.01.13 |
Terraform - for expression (0) | 2023.01.13 |