반응형
YAML 이란
- 구조를 가진 데이터 표현 양식의 한 종류
- 사람이 읽고 이해하기 쉬운 형태를 가지고 있다.
- 파일 확장자 : .yaml 또는 .yml
YAML 문법
- key: value 형태로 데이터 정의
- key: (콜론) 뒤에 공백문자가 있어야 한다.
- 사용 가능 데이터 타입 : Number, String, Boolean
- 문자열에 특수문자가 포함된 경우 "" 따옴표를 사용한다.
- Boolean 값은 True/False, On/Off, Yes/No 로 작성 가능하다.
- 주석의 경우 앞에 #을 붙힌다.
#주석 입니다.
Key: Value
City: Busan
Fruits: Apple
1. Array/Lists
- 배열이나 리스트 구조 데이터 표현 시 - 사용
- 각 요소들의 순서가 다르다면 서로 다른 YAML 파일이다.
- [ ]도 같은 의미로 사용됨
- 대괄호 내 요소가 문자열일 경우 "" 사용
City:
- Busan
- Seoul
- Incheon
2. Dictionary/Map
- 계층구조 표현 시 들여쓰기를 사용한다. (보통 2칸~4칸정도 사용함)
- 같은 수의 공백 문자를 사용하여 들여쓰기를 해야함
- 요소의 순서는 중요하지 않음
Book:
Name: First Travel
Quantity: 10
Price: 20,000
3. Advanced
- 데이터 구조 섞어서 사용 가능
#YAML
Fruits:
- Banana:
Calories: 105
Fat: 0.4g
Carbs: 27g
- Grape:
Calories: 62
Fat: 0.3g
Carbs: 15g
#JSON
{
"Fruits": [
{
"Banana": {
"Calories": 105,
"Fat": "0.4g",
"Carbs": "27g"
}
},
{
"Grape": {
"Caloreis": 62,
"Fat": "0.3g",
"Carbs": "15g"
}
}
]
}
4. Multi-lines
- > 과 | 특수문자를 사용하여 줄바꿈을 할 수 있다.
- > : 이 문자는 한 줄을 모두 비웠을 때만 줄바꿈으로 인식을 하고, 그냥 줄바꿈을 할 때에는 공백문자로 인식한다.
#YAML
example1: >
this is multiline string
and this is nextline
and nextline
example2: >
this is multiline string
and this is nextline
and nextline
#JSON
{
"example1": "this is multiline string and this is nextline and nextline\n"
}
{
"example2": "this is multiline string \nand this is nextline and nextline\n"
}
- | : 이 문자는 모든 줄바꿈을 인식하며, 마지막 문장의 끝도 마찬가지로 줄바꿈으로 인식한다.
#YAML
example1: |
this is multiline string
and this is nextline
and nextline
#JSON
{
"example1": "this is multiline string \nand this is nextline \nand nextline\n"
}
반응형
'IaC > Terraform' 카테고리의 다른 글
[Mac OS] Terraform 을 이용한 어플리케이션 구성 - Step 3~4 (0) | 2023.02.12 |
---|---|
[Mac OS] Terraform 을 이용한 어플리케이션 구성 - Step 2 (0) | 2023.02.11 |
[Mac OS] Terraform 을 이용한 어플리케이션 구성 - Step 1 (0) | 2023.02.11 |
IaC, Terraform 기초 (Infrastructure as Code, 코드형 인프라, Terraform) (0) | 2023.02.07 |