Terraform Syntax

임종혁·2024년 10월 26일

Arguments and Blocks

Arguments

image_id = "123"

키 벨류 형식

Blcoks

resource = "aws_instance" "example" {
	ami = "abc123"
    network_interface{
    
    }

}

내가 생성하려는 resouces 단위를 block으로 설정

resouces, input variables, output values, data souces, etcs 등이 block 으로 작성

Identifiers

식별자
문자 숫자 _ - 구성
첫 문자는 숫자가 아닌것으로 구성

comments

주석

  • //
  • /*

Code Style

모든 변수는 타입과 description 포함
기본 프로바이더 항상 포함
count for_each 는 적게 사용
TF-LINT 로 코드 관리 하기

Code formatting

인수 표현시

ami           = "abc123"
instance_type = "t2.micro"

file names

  • main.tf: 리소스나 데이터 소스 블록
  • outputs.tf: 결과물 출력 문자열 out 구성
  • providers.tf: 공급자

논리적 목적

  • natework.tf
  • storage.tf
  • compute.tf

Resouce order

data 부분 선언
참조 resouce 부분 선언

블록 순서는
1. count 나 foreach
2. 블록으로 구성되지 않은것들
3. 블록으로 구성된 파라미터들
4. lifecycle
5. depends_on

Variables

순서

  • type
  • description
  • default(optional)
  • sensitive
  • validation block

output

  1. description
  2. value
  3. sensitive

Local values

여러 파일 일시 laclas.tf 생성
하나의 파일 일시
맨위 lacal 블록 사용

provider aliasing

여러 리소스일시 이름 지정

Dynamic resouce count

count 나 foreach 문 사용
foreach 는 map 혹은 set 형식 데이터 만 사용 가능

0개의 댓글