- 테라폼 HCL에서 선언하는 내용 중 변경될 수 있는 요소는 변수를 사용하는 것이 좋습니다.
- 변수를 정의하여 테라폼 파일을 손쉽게 재사용 가능합니다.
1) 테라폼 단순 변수 유형 (Terraform Simple Variable Type)
variable "a-string" {
type = string
}
variabble "this-is-a-number" {
type = number
}
variable "true-or-false" {
type = bool
}
- 변수 타입을 정의하지 않아도 테라폼이 유형을 결정할 수 있습니다.
- 할당한 값에 따라 테라폼이 변수 유형을 자동으로 인식합니다.
variable myvar {
type = string
default = "hello terraform"
}
variable mymap {
type = map(string)
default = {
mykey = "my value"
yourkey = "your value"
}
}
variable mylist {
type = list
default = [1,2,3]
}
$ **terrform console**
> **var.myvar**
"hello terraform"
> **"${var.myvar}"**
"hello terraform"
> **var.mymap**
tomap({
"mykey" = "my value"
"yourkey" = "your value"
})
> **var.mymap["mykey"]**
"my value"
> **var.mylist**
tolist([
1,
2,
3,
])
> **var.mylist[0]**
1
>
> **element(var.mylist, 1)**
2
> **slice(var.mylist, 0, 2)**
tolist([
1,
2,
])
terraform console
명령어로 진입하여 변수 정보를 확인해 볼 수 있습니다.
- 변수 사용은 var.XXXX 또는 "${var.XXX}" 형태로 사용합니다.
- element, slice 등의 함수를 활용하여 값을 표출할 수 있습니다.