0/1 Lessons

Course Introduction

• 19min

0 / 2 lessons complete

IT Lab Setup

• 31min

0 / 3 lessons complete

Installing Ansible

• 57min

0 / 4 lessons complete

Managing your Ansible Inventory

• 2hr 45min

0 / 8 lessons complete

Ansible Basics

• 2hr 54min

0 / 9 lessons complete

Ansible Roles

• 2hr 38min

0 / 8 lessons complete

Ansible Galaxy

• 2hr 28min

0 / 6 lessons complete

Ansible Facts, Variables, Passwords and Templates

• 3hr 20min

0 / 9 lessons complete

Advanced Ansible Playbook Creation

• 2hr 23min

0 / 8 lessons complete

Course Conclusion

• 11min

0 / 1 lessons complete

YAML Overview


Q&A (0)

Notes (0)

Resources (0)

Saving Progress...


There are no resources for this lesson.

Notes can be saved and accessed anywhere in the course. They also double as bookmarks so you can quickly review important lesson material.

Create note

In this lesson, you will learn about YAML, a data serialization language commonly used in Ansible for creating playbooks and configuring applications. Understanding YAML is essential for effectively using Ansible, as it forms the basis of playbook creation. By the end of this lesson, you'll be familiar with the syntax and structure of YAML, and you'll understand how to use it to define complex configurations in a simple, human-readable format.

What is YAML?

YAML, which stands for "YAML Ain't Markup Language," is a human-readable data serialization format. It's used for configuration files and in data storage or transmission scenarios. The design of YAML focuses on simplicity and easy readability, which makes it highly popular in configuration management and application deployment, like in Ansible playbooks.

YAML files traditionally use the .yaml or .yml extension and are composed of key-value pairs.

Ansible's official documentation tends to lead toward the .yml extension rather than the .yaml extension, so we will do the same with our YAML files while working with Ansible.

It is crucial to understand that YAML is sensitive to white spaces and indentation, which it uses to represent data hierarchy. This feature distinguishes YAML from other markup languages, which often use tags or brackets.

Basic Syntax and Structure

A YAML file starts with ---, representing the beginning of a document, and ends with …, though these are optional in most cases. The basic structure involves key-value pairs, lists, and dictionaries. Let's explore these with examples.

Key-Value Pairs

The most basic element of YAML is the key-value pair. This pairs a key with a corresponding value, separated by a colon and a space.

user: john_doe
password: secure_password

In this example, user and password are keys, and john_doe and secure_password are their respective values.

Lists and Arrays

Lists or arrays in YAML are collections of items. Items in a list are preceded by a hyphen and a space.

  - john_doe
  - jane_doe
  - mike_smith

Here, users is a key, and the list contains three items: john_doe, jane_doe, and mike_smith.

Dictionaries or Maps

Dictionaries or maps in YAML are collections of key-value pairs. They are used to group related data.

  name: John Doe
  role: Developer
  age: 30

In this case, john_doe is a key, and its value is a dictionary containing name, role, and age.

YAML in Ansible

In Ansible, YAML is primarily used to write playbooks. A playbook in Ansible is a YAML file containing a list of plays to be executed on remote machines. Each play is designed to define the tasks that should be performed on a group of hosts.

Here's a simple example of an Ansible playbook written in YAML:

- hosts: webservers
    - name: Ensure Apache is installed
        name: apache2
        state: present

In this playbook, we define a play for the group webservers. The play contains a task to ensure that Apache (apache2) is installed using the apt module.


YAML's simplicity and readability make it an excellent choice for configuration management tasks, especially in Ansible. As you continue to explore Ansible, you'll encounter YAML frequently, so it's beneficial to become comfortable reading and writing YAML documents. Practice creating your own YAML files to solidify your understanding.

For further learning, check out the official YAML documentation. This will give you a deeper insight into YAML's capabilities and best practices. Keep practicing, and see you in the next lesson!

Server Academy Members Only

Sorry, this lesson is only available to Server Academy Full Access members. Become a Full-Access Member now and you’ll get instant access to all of our courses.

0 0 votes
Lesson Rating
Notify of
profile avatar
Inline Feedbacks
View all comments