templatestring 함수 레퍼런스
templatestring 함수 레퍼런스
templatestring 함수는 모듈의 다른 곳에 정의된 문자열을 일련의 변수로 템플릿처럼 렌더링해요. 주된 용도는 원격 위치에서 단일 문자열로 가져온 템플릿을 렌더링하는 거예요. 파일에서 템플릿을 렌더링하려면 templatefile 함수를 사용해요.
출처: 문서
본문
이 주제는 templatestring 함수에 대한 참고 정보를 제공해요. templatestring 함수는 모듈의 다른 곳에 정의된 문자열을 일련의 변수를 사용해 템플릿처럼 렌더링해요.
Introduction (소개)
templatestring 함수의 주된 용도는 원격 위치에서 단일 문자열로 가져온 템플릿을 렌더링하는 거예요. 이 함수는 문자열 템플릿 표현식으로는 부족한 고급 사용 사례를 가능하게 해요. 예를 들어 템플릿이 현재 모듈에 선언된 명명된 객체로부터 사용 가능한 경우가 그러해요. 자세한 내용은 Dynamic template construction를 참고해요.
파일에서 템플릿을 렌더링하려면 templatefile 함수를 사용해요.
Syntax (문법)
templatestring 함수는 다음 문법으로 작성해요:
templatestring(ARG1, ARG2)
다음 인자를 지정해요:
- 첫 번째 인자는 항상 모듈에 정의된 객체에 대한 참조예요. 템플릿 표현식을 첫 번째 인자로 직접 제공할 수는 없어요.
- 두 번째 인자는 템플릿을 렌더링할 때 사용할 변수를 지정하는 객체예요.
다음 예제에서 함수는 data.aws_s3_object.example.body에 위치한 문자열 값을 템플릿으로 렌더링해요:
templatestring(data.aws_s3_object.example.body, {
name = var.name
})
변수 인자에 사용할 수 있는 문법에 대한 정보는 Strings and Templates를 참고해요.
Example use case (사용 예시)
다음 예제는 S3에서 템플릿을 가져와 동적으로 렌더링해요:
data "aws_s3_object" "example" {
bucket = "example-example"
key = "example.tmpl"
}
output "example" {
value = templatestring(data.aws_s3_object.example.body, {
name = var.name
})
}
템플릿 사용에 대한 더 많은 예제는 the templatefile function 문서를 참고해요.
Dynamic template construction (동적 템플릿 구성)
템플릿을 동적으로 만드는 표현식을 작성한 다음 그것을 로컬 값에 할당할 수 있어요. 그런 다음 templatestring 함수의 첫 번째 인자로 그 로컬 값에 대한 참조를 사용할 수 있어요.
이런 방식으로 템플릿을 동적으로 구성하는 것은 다른 대안이 전혀 없을 때만 해야 해요. 결과를 이해하고 유지보수하기 어렵고 예상치 못한 입력에 취약할 수 있기 때문이에요. 내장 Terraform 함수는 로컬 파일시스템과 상호작용할 수 있어요. 결과적으로 입력이 Terraform이 실행되는 시스템의 임의 파일에서 온 데이터를 포함하는 템플릿을 만들 수도 있어요.
관련 함수
templatefile- 파일을 디스크에서 읽어 그 내용을 템플릿으로 렌더링해요.
더 알아보기 (Learn more)
- templatefile 함수 - 파일 기반 템플릿 렌더링 함수예요.
- 문자열과 템플릿 - 문자열 템플릿 문법을 확인해 보세요.
- Terraform 함수 목록 - 모든 함수를 확인해 보세요.