0% found this document useful (0 votes)
306 views

YAML Cheat Sheet & Quick Reference - PDF

Uploaded by

inatsar22
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
306 views

YAML Cheat Sheet & Quick Reference - PDF

Uploaded by

inatsar22
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

QuickRef.ME Stars 3.7k

YAML
This is a quick reference cheat sheet for understanding and writing YAML format configuration
files.

# Getting Started
- Introduction

YAML is a data serialisation language designed to be directly writable and readable by humans

YAML does not allow the use of tabs

Must be space between the element parts

YAML is CASE sensitive

End your YAML file with the .yaml or .yml extension

YAML is a superset of JSON

Ansible playbooks are YAML files

Scalar types

n1: 1 # integer
n2: 1.234 # float

s1: 'abc' # string


s2: "abc" # string
s3: abc # string

b: false # boolean type

https://quickref.me/yaml 1/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

d: 2015-04-05 # date type

↓ Equivalent JSON

{
"n1": 1,
"n2": 1.234,
"s1": "abc",
"s2": "abc",
"s3": "abc",
"b": false,
"d": "2015-04-05"
}

Variables

some_thing: &VAR_NAME foobar


other_thing: *VAR_NAME

↓ Equivalent JSON

{
"some_thing": "foobar",
"other_thing": "foobar"
}

Comments

# A single line comment example

# block level comment example


# comment line 1
# comment line 2
# comment line 3

Multiline strings

description: |
hello
world

↓ Equivalent JSON

{"description": "hello\nworld\n"}

Inheritance

https://quickref.me/yaml 2/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

parent: &defaults
a: 2
b: 3

child:
<<: *defaults
b: 4

↓ Equivalent JSON

{
"parent": {
"a": 2,
"b": 3
},
"child": {
"a": 2,
"b": 4
}
}

Reference

values: &ref
- Will be
- reused below

other_values:
i_am_ref: *ref

↓ Equivalent JSON

{
"values": [
"Will be",
"reused below"
],
"other_values": {
"i_am_ref": [
"Will be",
"reused below"
]
}
}

Folded strings

https://quickref.me/yaml 3/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

description: >
hello
world

↓ Equivalent JSON

{"description": "hello world\n"}

Two Documents

---
document: this is doc 1
---
document: this is doc 2

YAML uses --- to separate directives from document content.

# YAML Collections
Sequence

- Mark McGwire
- Sammy Sosa
- Ken Griffey

↓ Equivalent JSON

[
"Mark McGwire",
"Sammy Sosa",
"Ken Griffey"
]

Mapping

hr: 65 # Home runs


avg: 0.278 # Batting average
rbi: 147 # Runs Batted In

↓ Equivalent JSON

https://quickref.me/yaml 4/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

{
"hr": 65,
"avg": 0.278,
" bi"
Mapping to Sequences

attributes:
- a1
- a2
methods: [getter, setter]

↓ Equivalent JSON

{
"attributes": ["a1", "a2"],
"methods": ["getter", "setter"]
}

Sequence of Mappings

children:
- name: Jimmy Smith
age: 15
- name: Jimmy Smith
age: 15
-
name: Sammy Sosa
age: 12

↓ Equivalent JSON

{
"children": [
{"name": "Jimmy Smith", "age": 15},
{"name": "Jimmy Smith", "age": 15},
{"name": "Sammy Sosa", "age": 12}
]
}

Sequence of Sequences

my_sequences:
- [1, 2, 3]
- [4, 5, 6]
-
- 7

https://quickref.me/yaml 5/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

- 8
- 9
- 0

↓ Equivalent JSON

{
"my_sequences": [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9, 0]
]
}

Mapping of Mappings

Mark McGwire: {hr: 65, avg: 0.278}


Sammy Sosa: {
hr: 63,
avg: 0.288
}

↓ Equivalent JSON

{
"Mark McGwire": {
"hr": 65,
"avg": 0.278
},
"Sammy Sosa": {
"hr": 63,
"avg": 0.288
}
}

Nested Collections

Jack:
id: 1
name: Franc
salary: 25000
hobby:
- a
- b
location: {country: "A", city: "A-A"}

↓ Equivalent JSON

https://quickref.me/yaml 6/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

{
"Jack": {
"id": 1,
"name": "Franc",
"salary": 25000,
"hobby": ["a", "b"],
"location": {
"country": "A", "city": "A-A"
}
}
}

Unordered Sets

set1: !!set
? one
? two
set2: !!set {'one', "two"}

↓ Equivalent JSON

{
"set1": {"one": null, "two": null},
"set2": {"one": null, "two": null}
}

Sets are represented as a Mapping where each key is associated with a null value

Ordered Mappings

ordered: !!omap
- Mark McGwire: 65
- Sammy Sosa: 63
- Ken Griffy: 58

↓ Equivalent JSON

{
"ordered": [
{"Mark McGwire": 65},
{"Sammy Sosa": 63},
{"Ken Griffy": 58}
]
}

https://quickref.me/yaml 7/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

# YAML Reference
Terms

Sequences aka arrays or lists

Scalars aka strings or numbers

Mappings aka hashes or dictionaries

Based on the YAML.org refcard.

Document indicators

% Directive indicator

--- Document header

... Document terminator

Collection indicators

? Key indicator

: Value indicator

- Nested series entry indicator

, Separate in-line branch entries

[] Surround in-line series branch

{} Surround in-line keyed branch

Alias indicators

& Anchor property

* Alias indicator

Special keys

= Default "value" mapping key

<< Merge keys from another mapping

https://quickref.me/yaml 8/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference
Scalar indicators

'' Surround in-line unescaped scalar

" Surround in-line escaped scalar

| Block scalar indicator

> Folded scalar indicator

- Strip chomp modifier (|- or >-)

+ Keep chomp modifier (|+ or >+)

Explicit indentation modifier (|1 or >2).


1-9
Modifiers can be combined (|2-, >+1)

Tag Property (usually unspecified)

none Unspecified tag (automatically resolved by application)

! Non-specific tag (by default, !!map/!!seq/!!str)

!foo Primary (by convention, means a local !foo tag)

!!foo Secondary (by convention, means tag:yaml.org,2002:foo)

!h!foo Requires %TAG !h! <prefix> (and then means <prefix>foo)

!<foo> Verbatim tag (always means foo)

Misc indicators

# Throwaway comment indicator

`@ Both reserved for future use

Core types (default automatic tags)

!!map {Hash table, dictionary, mapping}

!!seq {List, array, tuple, vector, sequence}

!!str Unicode string

- Escape Codes

Numeric

\x12 (8-bit) \u1234 (16-bit)

https://quickref.me/yaml 9/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

\U00102030 (32-bit)

Protective

\\ (\) \" (") \ ()

\<TAB> (TAB)

\0 (NUL) \a (BEL) \b (BS)

\f (FF) \n (LF) \r (CR)

\t (TAB) \v (VTAB)

Additional

\e (ESC) \_ (NBSP) \N (NEL)

\L (LS) \P (PS)

More types

!!set {cherries, plums, apples}

!!omap [one: 1, two: 2]

Language Independent Scalar Types

{~, null} Null (no value).

[1234, 0x4D2, 02333] [Decimal int, Hexadecimal int, Octal int]

[1_230.15, 12.3015e+02] [Fixed float, Exponential float]

[.inf, -.Inf, .NAN] [Infinity (float), Negative, Not a number]

{Y, true, Yes, ON} Boolean true

{n, FALSE, No, off} Boolean false

# Also see
https://quickref.me/yaml 10/11
31/10/2023, 12:30 YAML Cheat Sheet & Quick Reference

YAML Reference Card (yaml.org)


Learn X in Y minutes (learnxinyminutes.com)
YAML lint online (yamllint.com)

Related Cheatsheet

ES6 Cheatsheet Express Cheatsheet


Quick Reference Quick Reference

JSON Cheatsheet Kubernetes Cheatsheet


Quick Reference Quick Reference

Recent Cheatsheet

Remote Work Revolution Cheatsheet Homebrew Cheatsheet


Quick Reference Quick Reference

PyTorch Cheatsheet Taskset Cheatsheet


Quick Reference Quick Reference

© 2023 QuickRef.ME, All rights reserved.

https://quickref.me/yaml 11/11

You might also like