compact 함수

compact 함수 (compact Function)

compact 함수는 문자열 리스트를 받아 null이나 빈 문자열 요소를 제거한 새 리스트를 반환해요. 리스트에서 의미 없는 빈 값들을 깔끔하게 걸러내고 싶을 때 사용해요.

출처: 문서

본문

compact 함수는 문자열 리스트를 받아 null이나 빈 문자열 요소를 제거한 새 리스트를 반환해요.

예시 (Examples)

> compact(["a", "", "b", null, "c"])
[
  "a",
  "b",
  "c",
]

빈 문자열("")과 null이 모두 제거되고 "a", "b", "c"만 남는 것을 확인할 수 있어요.

실제로는 CI/CD 파이프라인에서 변수 리스트를 만들다 보면 빈 값이나 null이 섞여 들어오는 경우가 많아요. compactvar.list 같은 사용자 입력 리스트에서 빈 항목을 걸러낼 때 가장 자주 쓰여요. 예를 들어 사용자가 택한 태그 목록 중 비어 있는 항목을 제거하고 실제로 유효한 태그만 리소스에 적용하고 싶을 때 유용해요. 다만 compact는 안쪽 요소의 타입이 모두 문자열이라고 가정하므로, 숫자가 섞인 리스트에서는 변환 오류가 날 수 있다는 점도 참고해요.

실전 사용 팁

locals {
  filtered_tags = compact(var.optional_tags)
}

resource "aws_instance" "example" {
  # ...
  tags = { for t in local.filtered_tags : t => t }
}

이렇게 하면 var.optional_tags에서 null이나 빈 문자열 요소가 모두 제거된 깨끗한 리스트가 만들어져요.

더 알아보기 (Learn more)