728x90
안녕하세요, 이번 포스팅은 테라폼 내장 함수에 대해서 포스팅을 올립니다.
‘테라폼으로 시작하는 IaC’를 기준으로 내용 정리하였으며, CloudNet@의 테라폼 스터디 내용을 기반으로 하고 있습니다.
설명
테라폼(Terraform)은 인프라를 코드로 관리할 수 있게 해주는 도구로, 다양한 내장 함수를 제공하여 코드에서 값의 유형을 조작하고 조합할 수 있습니다. 테라폼의 함수들은 프로그래밍 언어적 특성을 가지고 있어, 숫자, 문자열, 컬렉션, 파일 시스템 등 다양한 유형의 작업을 지원합니다.
내장 함수 외에는 사용자가 직접 정의한 함수를 지원하지 않으며, 테라폼 코드에서는 변수, 리소스 속성, 데이터 소스 속성, 출력 값 등을 효과적으로 다룰 수 있습니다. 이를 통해 코드를 동적으로 작성하고 관리할 수 있습니다.
1. Length 함수
length 함수는 주어진 목록, 문자열, 맵 등의 길이를 반환합니다.
예를 들어, 목록의 요소 수, 문자열의 문자 수, 맵의 키-값 쌍의 수를 반환합니다.
코드
variable "example_list" {
default = ["a", "b", "c"]
}
output "list_length" {
value = length(var.example_list)
}
코드 실행 화면
2. concat 함수
concat 함수는 여러 목록을 하나의 목록으로 합칩니다.
코드
variable "list1" {
default = ["a", "b"]
}
variable "list2" {
default = ["c", "d"]
}
output "combined_list" {
value = concat(var.list1, var.list2)
}
코드 실행 화면
3. coalesce 함수
coalesce 함수는 인수 중 첫 번째 null이 아닌 값을 반환합니다.
코드
variable "val1" {
default = null
}
variable "val2" {
default = "default_value"
}
output "first_non_null_value" {
value = coalesce(var.val1, var.val2, "fallback_value")
}
코드 실행 화면
또한 이외에도 cidrsubnet, cidrsubnets 함수가 있으며, 이전 포스팅을 참고하시기 바랍니다.
https://jflip.tistory.com/115
728x90
반응형
'DevOps > Terraform' 카테고리의 다른 글
[Terraform] 테라폼 코드를 활용한 레드시프트 배포 (0) | 2024.07.07 |
---|---|
[Terraform] 프로바이더를 활용한 리전별, 멀티 클라우드 리소스 생성 (0) | 2024.07.07 |
[Terraform] 조건식을 활용한 태깅 (0) | 2024.06.29 |
[Terraform] for_each, for, dynamic의 사용법 (0) | 2024.06.29 |
[Terraform] cidrsubnet, cidrsubnets 함수 (0) | 2024.06.23 |