Terraform은 HCL syntax를 가진 언어
언어적 특성을 갖기 때문에 변수를 정의하고 주입해서 사용 가능
String
number
bool
variables.tf 파일에 정의
파일에서 변수를 정의하는 형태
variable "변수이름" {
type = 타입지정
( default = [default 값 지정] )
}
teffarofm.tfvars 파일 생성
정의한 변수에 값을 주입하기 위한 가장 일반적인 방법은 terraform.tfvars파일 생성
Variable = Value 형태로 정의
image_id = "ami-064c81ce3a290fde1"
availability_zone_names = ["us-west-1a","us-west-1b","us-west-1c"]
ami_id_maps = {
ap-northeast-2 = {
amazon_linux2 = "ami-010bf43fe22f847ed"
ubuntu_18_04 = "ami-061b0ee20654981ab"
}
us-east-1 = {
amazon_linux2 = "ami-0d29b48622869dfd9"
ubuntu_18_04 = "ami-0d324124b7b7eec66"
}
}
provider 파일이나 리소스 정의 타입에서 정의하고 주입해놓은 변수 사용
변수로 변경해주기
output에 지정해놓은걸 teffaform.tfstate 파일에서 확인할 수 있음
( ouput 파일 : remote state로 사용하는 방법도 있음 )