map 함수

map 함수 (map Function)

map 함수는 더 이상 사용할 수 없어요. Terraform 0.12 이전에는 표현식 안에서 맵 리터럴을 쓰는 유일한 문법이었지만, Terraform 0.12에서 새로운 일급 문법이 도입됐어요.

출처: 문서

본문

map 함수는 더 이상 사용할 수 없어요. Terraform v0.12 이전에는 표현식 안에서 맵 리터럴을 작성하는 유일한 문법이었지만, Terraform v0.12에서 새로운 일급 문법이 도입됐어요.

map("a", "b", "c", "d") 같은 표현식을 업데이트하려면 대신 다음처럼 작성해요.

tomap({
  a = "b"
  c = "d"
})

{ ... } 중괄호는 객체 값을 만들고, 그 다음 tomap 함수가 이를 맵으로 변환해요. Terraform 언어의 값 타입에 대한 자세한 내용은 Type Constraints 문서를 참고해요.

  • tomap — 객체 값을 맵으로 변환해요.
  • zipmap — 한 리스트에서 키를, 다른 리스트에서 값을 가져와 맵을 동적으로 구성해요.

실전 사용 팁

Terraform 0.12 이후에는 객체 리터럴 { ... }tomap 조합이 map(...) 함수를 대체했어요. 기존에 작성된 구성을 최신 문법으로 옮길 때 이 변환을 적용하면 되고, 다른 모듈에서 map("a", "b") 형태의 레거시 문법을 보았다면 tomap({ a = "b" })으로 바꿔 주는 것이 좋아요. 이렇게 하면 객체의 속성 이름이 그대로 키가 되어 읽기도 쉬워요.

더 알아보기 (Learn more)