Ansible - основы YAML
Ansible использует синтаксис YAML для выражения сценариев Ansible. В этой главе представлен обзор YAML. Ansible использует YAML, потому что людям очень легко понимать, читать и писать по сравнению с другими форматами данных, такими как XML и JSON.
Каждые YAML файл необязательно начинается с «---» и заканчивается «...».
Понимание YAML
В этом разделе мы изучим различные способы представления данных YAML.
пара "ключ-значение"
YAML использует простую пару ключ-значение для представления данных. Словарь представлен парой ключ: значение.
Note - Между: и значением должен быть пробел.
Пример: студенческая запись
--- #Optional YAML start syntax
james:
name: james john
rollNo: 34
div: B
sex: male
… #Optional YAML end syntax
Сокращенное название
Вы также можете использовать сокращения для обозначения словарей.
пример
James: {name: james john, rollNo: 34, div: B, sex: male}
Представляющий список
Мы также можем представить список в YAML. Каждый элемент (член) списка должен быть записан с новой строки с таким же отступом, начиная с «-» (- и пробела).
пример
---
countries:
- America
- China
- Canada
- Iceland
…
Сокращенное название
Вы также можете использовать сокращения для представления списков.
пример
Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]
Список внутри словарей
Мы можем использовать список внутри словарей, т.е. значение ключа - это список.
пример
---
james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
…
Список словарей
Также мы можем составить список словарей.
пример
---
- james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
- robert:
name: robert richardson
rollNo: 53
div: B
sex: male
likes:
- biology
- chemistry
…
YAML использует «|» для включения новых строк при отображении нескольких строк и «>» для подавления новых строк при отображении нескольких строк. Благодаря этому мы можем читать и редактировать большие строки. В обоих случаях интенденция будет проигнорирована.
Мы также можем представить Boolean(Истина / ложь) значения в YAML. гдеboolean значения могут быть нечувствительными к регистру.
пример
---
- james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
result:
maths: 87
chemistry: 45
biology: 56
physics: 70
english: 80
passed: TRUE
messageIncludeNewLines: |
Congratulation!!
You passed with 79%
messageExcludeNewLines: >
Congratulation!!
You passed with 79%
Несколько общих слов, относящихся к Ansible.
Service/Server - Процесс на машине, предоставляющей услугу.
Machine - Физический сервер, виртуальная машина (виртуальная машина) или контейнер.
Target machine - Машина, которую мы собираемся настроить с помощью Ansible.
Task - Действие (запустить, удалить) и т. Д., Управляемое Ansible.
Playbook - Файл yml, в котором записываются команды Ansible и выполняется yml на машине.