카테고리 없음
Terraform 기본 문법
sklass
2021. 12. 20. 19:15
Terraform 문법은 기본적으로 HCL(Hashicorp Configuration Language) 문법을 따르게 됩니다.
아래의 문법을 한번 확인해 보겠습니다.
resource "aws_vpc" "main" {
cidr_block = var.base_cidr_block
}
<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
# Block body
<IDENTIFIER> = <EXPRESSION> # Argument
}
- <BLOCK TYPE>: resource, data, local, variable, output 등과 같은 블록의 타입이 옵니다.
- <BLOCK LABEL>: 0개 혹은 1개 이상의 BLOCK LABEL이 올 수 있고, 위의 경우, 첫번째 BLOCK LABEL은 resource의 종류, 두번째 BLOCK LABEL은 resource의 이름이 옵니다.
- <IDENTIFIER>, <EXPRESSION>: 블록내의 argument값으로 key-value 형식으로 값이 옵니다.
.tf 파일을 작성할 때 유의할 점은, 탭이 아닌 2 spaces를 권장하고 있기 때문에, 새줄을 구분할 때 탭을 쓰는것을 안하는 것이 좋습니다.
terraform에서는 .tf 파일의 formatting을 도와주는 옵션을 지원하고 있는데, 아래와 같습니다.
$ terraform fmt -diff