type 함수
type 함수
type 함수는 주어진 값의 타입을 돌려줘요. Terraform 구성에서 불일치하는 타입으로 인해 혼란스러운 오류가 나올 때, 이 함수가 주어진 값의 타입에 대한 Terraform의 평가를 보여줘서 오류 메시지를 이해하는 데 도움이 돼요. 이 함수는 terraform console 명령에서만 사용할 수 있는 특별한 함수예요.
출처: 문서
본문
참고: 이 함수는 Terraform 1.0 이상에서만 사용할 수 있어요.
type은 주어진 값의 타입을 돌려줘요.
때때로 Terraform 구성은 타입이 일치하지 않아 혼란스러운 오류가 발생할 수 있어요. 이 함수는 주어진 값의 타입에 대한 Terraform의 평가를 보여주므로 오류 메시지를 이해하는 데 유용해요.
이 함수는 terraform console 명령에서만 사용할 수 있는 특별한 함수예요. 주어진 값의 타입을 조사하는 데만 사용할 수 있으며, 더 복잡한 표현식에서는 사용하지 말아야 해요.
예시
여기 var.list의 값 또는 default_list라는 로컬 중 하나를 출력하는 조건부 output이 있어요:
variable "list" {
default = []
}
locals {
default_list = [
{
foo = "bar"
map = { bleep = "bloop" }
},
{
beep = "boop"
},
]
}
output "list" {
value = var.list != [] ? var.list : local.default_list
}
이 구성을 적용하면 다음 오류가 발생해요:
Error: Inconsistent conditional result types
on main.tf line 18, in output "list":
18: value = var.list != [] ? var.list : local.default_list
|----------------
| local.default_list is tuple with 2 elements
| var.list is empty tuple
The true and false result expressions must have consistent types. The given
expressions are tuple and tuple, respectively.
이 오류 메시지에는 타입 정보가 일부 포함되어 있지만, Terraform이 각 입력에 대해 결정한 정확한 타입을 조사하는 것이 도움이 될 수 있어요. type 함수로 var.list와 local.default_list를 모두 조사하면 오류 메시지에 대한 더 많은 맥락을 제공해요:
> type(var.list)
tuple
> type(local.default_list)
tuple([
object({
foo: string,
map: object({
bleep: string,
}),
}),
object({
beep: string,
}),
])
더 알아보기 (Learn more)
- 타입 제약 (Type Constraints) - 값 타입에 대해 알아봐요.
- terraform console -
terraform console명령에 대해 알아봐요. - Terraform 함수 목록 - 모든 함수를 확인해 보세요.