본문 바로가기
클라우드 및 인프라/Linux

YAML (YML) 문법 정리

by 작은소행성 2022. 9. 5.

YAML이란 

  • 사람이 쉽게 읽을 수 있는 컨셉을 가진 데이터 직렬화 양식이다. 
  • YAML 'YAML Ain't Markup Language'라는 뜻으로 마크업 언어가 아니라는 뜻을 가지고 있다. 
  • Xml, Json 과 같이 사용되는 데이터 포맷이다. 

 

기본 문법 

  • 들여쓰기 2칸 혹은 4칸 사용, 탭은 안됨
  • # : 주석
  • --- : 문서의 시작 (선택 사항)
  • ... : 문서의 끝 (선택 사항)
  • | : 블록 내 줄바꿈
  • > : 블록 내의 줄바꿈(new line) 무시
  • |- , >- : 해당 기호 뒤에 - 를 붙이면 마지막 줄바꿈을 제외하고 인식
# Test Line1\n\nTest Line2\n\nTest Line3\n
lines: |
  Test Line1

  Test Line2

  Test Line3
  # 빈칸 한 줄

# Test Line1\n\nTest Line2\n\nTest Line3\n
lines: |-
  Tell me

  if you

  wanna go home
  # 빈칸 한 줄

# Test Line1\nTest Line2\nTest Line3\n
lines: >
  Tell me

  if you

  wanna go home
  # 빈칸 한 줄

 

 

기본 표현 

  • 데이터의 매핑은 key: value 형식을 사용한다. 
    • : 뒤에 띄어쓰기
    • {} 으로도 정의 가능 
    • hash , dictionary라고 보면 이해가 쉬움
  • 자료형 - int, string, boolean
    • 문자열을 따옴표 없이 사용
    • : 가 들어가면 따옴표로 감싸준다. 
    • 숫자를 따옴표로 감싸면 문자로 인식 
    • 쌍다옴표는 escape문자 처리 가능하지만 홑따옴표는 문자 그대로 인식 
      • "hello\nworld" -> 줄바꿈 유효
      • 'hello\nworld' -> hello\nworld
    • 쌍따옴표 내 escape 문자(\n) 는 C언어 스타일 사용
  • 참: ture, yes  / 거짓 : false. no 두개다 사용 가능

 

int_type: 1
string_type: "1"
boolean_type: true

 

 

Object

key:
  key: value
  key: value

key: {
  key: value,
  key: value 
}

 

List

key:
  - item
  - item
 
key: [
  item, item
]

 

 

 

 

 

참고

https://subicura.com/k8s/prepare/yaml.html

 

 

반응형