provider::terraform::decode_tfvars 함수

provider::terraform::decode_tfvars 함수

provider::terraform::decode_tfvars는 자주 필요하지 않은 함수로, .tfvars 파일의 내용이 담긴 문자열을 받아 그 파일이 정의하는 원시 변수 값들을 설명하는 객체를 돌려줘요. 이 함수는 Terraform v1.8 이상에서만 지원돼요.

출처: 문서

본문

참고: 이 함수는 Terraform v1.8 이상에서만 지원돼요.

provider::terraform::decode_tfvars는 자주 필요하지 않은 함수로, .tfvars 파일의 내용이 담긴 문자열을 받아 그 파일이 정의하는 원시 변수 값들을 설명하는 객체를 돌려줘요.

이 함수를 사용하려면 모듈이 내장 terraform 프로바이더에 대한 의존성을 선언해야 해요. 이 프로바이더에 이 함수가 들어 있어요:

terraform {
  required_providers {
    terraform = {
      source = "terraform.io/builtin/terraform"
    }
  }
}

그런 다음 모듈의 다른 곳에서 이 함수를 호출할 수 있어요:

provider::terraform::decode_tfvars(
  <<EOT
    example = "Hello!"
  EOT
)

위 호출은 다음과 같은 객체 값을 만들어요:

{
  example = "Hello!"
}

Result Types (결과 타입)

.tfvars 파일을 해석할 때 Terraform CLI는 보통 관련 모듈의 변수 선언을 사용해서 모듈에서 사용하기 위해 정의를 변환할 대상 타입을 찾아요.

tfvarsdecode는 그 타입 정보에 접근할 수 없으므로, 결과는 항상 특정 문법이 표현할 수 있는 가장 일반적인 타입을 사용해요. 결과 속성에 대해 지원되는 값 타입은:

객체나 튜플 값을 컬렉션 타입으로 해석해야 한다면 타입 변환 함수를 사용해 반환된 값을 변환해요. .tfvars 형식에서는 리스트, 셋, 맵 값을 직접 표현할 방법이 없어요.

관련 함수

  • encode_tfvars - 반대 작업을 수행해요. 객체 값에서 .tfvars 내용을 만들어요.

더 알아보기 (Learn more)