sklass의 s-class 프로그래밍 blog

Terraform 기본 문법 본문

카테고리 없음

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