반응형
Terraform - for expression
: 반복을 이용해 일괄변환 작업 (expression 타입을 변환, 수정)
- 대문자 변환
variable "fruits_set" {
type = set(string)
default = ["APPLE", "BANANA"]
description = "fruit example"
}
↓
variable "fruits_set" {
type = set(string)
default = ["apple", "banana"]
description = "fruit example"
}
count | for_each | for expression | |
사용 목적 | 반복 조회 | 반복 조회 | 반복 변환 |
리턴 타입
[for item in 'expression': 변환작업] --> 리턴: tuple
{for item in 'expression': 변환작업} --> 리턴: object
조회 방법
ex) terrform console
- > [for item in var fruits_set: item] --> ERROR( key 값이 없음)
- > {for key, value in var fruits_set: key => value} --> 리턴 타입: object
- > [for item in var fruits_list: item]--> 리턴 타입: list
- > {for item in var fruits_list: item}--> ERROR( key 값이 없음)
- > {for key, value in var fruits_list: key => value} --> 리턴 타입: object / 키는 index(0, 1, ...)
- > [for item in var fruits_map: item]--> ERROR( key 값이 없음)
- > {for key, value in var fruits_map: key => value} --> 리턴 타입: objec
for expression을 활용해 s3의 이름을 일괄적으로 수정
ex) 과일이름 --> 과일이름-test로 변경
variable "fruits_set" {
type = set(string)
default = ["apple", "banana"]
description = "fruit example"
}
variable "postfix" {
type = string
default = "test"
description = "postfix"
}
provider "aws"{
region = "ap-northeast-2"
}
resource "aws_s3_bucket" "mys3bucket"{
for_each = toset([for fruit in var.fruits_set : format("%s-%s", fruit, var.postfix)])
bucket = "akbun-t101study-${each.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_each 반복문 (0) | 2023.01.13 |