yaml을 사용하려면 yaml만의 문법을 이해할 필요가 있습니다.
기본문법
- 들여쓰기 (indent)
- 데이터 정의 (map)
- 배열 정의 (array)
- 주석 (comment)
- 참/거짓
- 숫자표현
- 줄바꿈 (newline)
주의사항
- 띄어쓰기
- 문자열 따옴표
- 들여쓰기 (indent)
들여쓰기는 기본적으로 2칸 또는 4칸을 지원합니다.
1
2
3
4
5
6
|
person:
name: Chungsub Kim
job: Developer
skills:
- docker
- kubernetes
|
1
2
3
4
5
6
|
person:
name: Chungsub Kim
job: Developer
skills:
- docker
- kubernetes
|
- 데이터 정의 (map)
데이터는 [key]: [value] 형식으로 정의합니다.
(띄어쓰기 양식이 중요합니다. 아래는 json형식과 비교한 것이며, json보다 간결하게 표현되는 것을 볼 수 있습니다.)
1
2
3
4
5
6
|
apiVersion: v1
kind: Pod
metadata:
name: echo
labels:
type: app
|
1
2
3
4
5
6
7
8
9
10
|
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "echo",
"labels": {
"type": "app"
}
}
}
|
- 배열 정의 (array)
배열은 -로 표시합니다. json 형식과 비교해보면 다음과 같습니다.
1
2
3
4
5
6
|
person:
name: Chungsub Kim
job: Developer
skills:
- docker
- kubernetes
|
1
2
3
4
5
6
7
8
9
|
{
"person": {
"name": "Chungsub Kim",
"job": "Developer",
"skills": [
"docker", "kubernetes"
]
}
}
|
- 주석 (comment)
주석은 #으로 표시합니다.(전체 라인 주석처리)
1
2
3
4
5
6
7
|
# comment
person:
name: Chungsub Kim
job: Developer
skills:
- docker
- kubernetes
|
특정 라인의 끝에서 주석 처리도 가능합니다.
1
2
3
4
5
6
|
person:
name: Chungsub Kim # subicura
job: Developer
skills:
- docker
- kubernetes
|
- 참/거짓
1
2
3
4
5
6
|
# 아래 명령들은 인식됩니다.
study_hard: yes
give_up: no
hello: True
world: TRUE
manual: false
|
- 숫자표현
1
2
3
4
5
|
# number 숫자
version: 1.2
# string
version: "1.2"
|
- 줄바꿈
yaml에서 내용에 줄바꿈이 들어가야 할 경우 어떻게 표현해야 하는가?
다음 예시로 이해하면 편할 것 같습니다.
" | " 사용(yaml에서와 json에서 비교) | 를 쓰게되면 마지막 줄바꿈(\n)이 포함된 문자를 넣을 수 있습니다.
json 예제와 같은 문자열로 인식된다고 보면 됩니다.
1
2
3
4
5
6
7
|
newlines_sample: |
number one line
second line
last line
|
1
2
3
|
{
"newlines_sample": "number one line\n\nsecond line\n\nlast line\n"
}
|
" |- " 사용으로 마지막 줄바꿈이 없는 문자를 넣을 수 있습니다.
json 예제와 같은 문자열로 인식된다고 보면 됩니다.
1
2
3
4
5
6
|
newlines_sample: |-
number one line
second line
last line
|
1
2
3
|
{
"newlines_sample": "number one line\n\nsecond line\n\nlast line"
}
|
" > " 사용으로 중간에 들어간 빈줄을 제외 시켜 인식시십니다.
json 예제와 같은 문자열로 인식된다고 보면 됩니다.
1
2
3
4
5
6
|
newlines_sample: >
number one line
second line
last line
|
1
2
3
|
{
"newlines_sample": "number one line\nsecond line\nlast line\n"
}
|
주의사항
- 띄어쓰기
key와 value사이에는 반드시 빈칸이 필요합니다.
빈칸이 없다면 에러가 납니다.
1
2
3
4
5
|
# error (not key-value, string)
key:value
# ok
key: value
|
- 문자열 따옴표
대부분의 문자열을 따옴표 없이 사용할 수 있지만 :가 들어간 경우는 반드시 따옴표가 필요합니다.
1
2
3
4
5
6
|
# error
windows_drive: c:
# ok
windows_drive: "c:"
windows_drive: 'c:'
|
참고 : json2yaml
'IT기술 > CS(ComputerScience)' 카테고리의 다른 글
개발에서 빌드도구(Build tool) maven, gradle 살펴보기 (0) | 2023.04.18 |
---|---|
온디맨드(On-Demand) 서비스 (0) | 2023.04.17 |
yaml 이건 무슨형식? (0) | 2023.04.17 |
[DNS] 퓨니코드(Punycode) 란? - 한글 도메인 (0) | 2023.03.27 |
[용어] AS-IS, TO-BE (0) | 2023.03.22 |