
테라폼을 통하여 정의하는 인프라를 모두 Resource라고 한다.
그리고 테라폼이 리소스를 정의하기 위해 사용하는 언어가 HCL이다.
우리는 앞으로 수많은 리소스들을 HCL로 정의하게 될텐데 컨벤션이 중구난방이면 너무 고통스럽겠지?
한 번 꽉 잡고 가자.
Yaml과 똑같은 형식이다. 제발 탭 치지 말아다오
예시 보면 바로 이해 가능하다.
ami = "abc123"
instance_type = "t2.micro"
값
네스팅 블록
이다.
resource "aws_instance" "example" {
count = 2 # meta-argument first
ami = "abc123"
instance_type = "t2.micro"
network_interface {
# ...
}
lifecycle { # meta-argument block last
create_before_destroy = true
}
}
같은 블록안에서도 인자들을 논리적인 그룹으로 나누어서 한 줄 씩 띄워준다.
값들 중에 meta argument가 있다면 제일 먼저 적어준다.
탑 레벨 블록은 항상 다른 블록들과 공백 한 줄로 나뉘어야한다.
같은 종류의 블록 여러개를 다른 타입의 블록과 그룹을 만드는 것을 특별한 경우가 아니면 피해라.
→ VS code에 Terraform 익스텐션 깔아서 포매터가 알아서 동작하게 해주되
강조해놓은 Logical한 내용들은 내가 처리해주어야 하니 꼭 기억해놓자.