Skip to the content.

YAML Basics for Ansible Beginners

YAML (“YAML Ain’t Markup Language”) is the backbone of Ansible playbooks. It is simple, human-readable, and designed for configuration tasks. Let’s walk through the basics to help new learners.


Structure of YAML Files

YAML files often start with three dashes (---) to mark the beginning of a document. This is optional in Ansible, but it’s considered good practice.


Key Features of YAML

1. Comments

Use # to add comments. These are ignored by the parser.

# This is a comment
name: John Doe  # Inline comment

2. Key-Value Pairs

The simplest data structure in YAML is a key-value pair:

name: John Doe
age: 30

Keys must be unique within the same level.


3. Strings

Strings can be written with or without quotes. Use quotes if the string contains special characters or spaces.

name: "John Doe"
title: Software Developer

4. Booleans

YAML supports boolean values, written as true/false or yes/no:

enabled: true
debug: no

5. Lists

Lists in YAML are ordered collections, written with dashes (-):

fruits:
  - Apple
  - Banana
  - Cherry

Or inline:

fruits: [Apple, Banana, Cherry]

6. Dictionaries

Dictionaries are collections of key-value pairs:

person:
  name: John Doe
  age: 30
  city: New York

You can also write them inline:

person: {name: John Doe, age: 30, city: New York}

7. Multi-Line Strings

For long strings, YAML provides two ways to write them:

Folded Style (>)

Collapses into a single line, keeping spaces:

address: >
  123 Main Street,
  Springfield, USA

Result:

123 Main Street, Springfield, USA

Literal Style (|)

Preserves line breaks:

description: |
  This is a multi-line string.
  The line breaks will be preserved.

Result:

This is a multi-line string.
The line breaks will be preserved.

8. Indentation and Formatting


Summary

Mastering YAML is the first step in writing effective Ansible playbooks. With this foundation, you’re ready to start automating tasks!