MyTetra Share
Делитесь знаниями!
Синтаксис YAML
Время создания: 14.04.2023 15:04
Текстовые метки: язык, yaml, синтаксис, кратко
Раздел: Компьютер - Программирование - Языки разметки
Запись: xintrea/mytetra_syncro/master/base/168147389239ueyobxil/text.html на raw.github.com

YAML (YAML Ain’t Markup Language) - еще один текстовый формат для записи данных.

YAML более приятен для восприятия человеком, чем JSON, поэтому его часто используют для описания сценариев в ПО. Например, в Ansible.


Синтаксис YAML

Как и Python, YAML использует отступы для указания структуры документа. Но в YAML можно использовать только пробелы и нельзя использовать знаки табуляции.

Еще одна схожесть с Python: комментарии начинаются с символа # и продолжаются до конца строки.


Список

Список - это перечень каких либо элементов.

Список может быть записан в одну строку:


[switchport mode access, switchport access vlan, switchport nonegotiate]


Или каждый элемент списка в своей строке:


- switchport mode access

- switchport access vlan

- switchport nonegotiate


Когда список записан таким блоком, каждая строка должна начинаться с - (минуса и пробела), и все строки в списке должны быть на одном уровне отступа.


Словарь

Словарь - это набор элементов вида ключ-значение.

Словарь может быть записан в одну строку:


{ vlan: 100, name: IT }


Или блоком:


vlan: 100

name: IT


Строки

Строка - это просто набор символов, между символами возможны пробелы.

Строки в YAML не обязательно брать в кавычки. Это удобно, но иногда всё же следует использовать кавычки. Например, когда в строке используется какой-то специальный символ.


Имеется в виду специальный символ для YAML. А это может быть и запятая, и двоеточие, и различного вида скобки, и даже вертикальная черта.


Такую строку, например, нужно взять в кавычки, чтобы она была корректно воспринята YAML:


command: "sh interface | include Queueing strategy:"


Комбинация элементов

Элементы можно произвольно комбинировать. Ниже дан пример словаря, в котором есть два ключа: access и trunk. Значения, которые соответствуют этим ключам - списки команд:


access:

- switchport mode access

- switchport access vlan

- switchport nonegotiate

- spanning-tree portfast

- spanning-tree bpduguard enable


trunk:

- switchport trunk encapsulation dot1q

- switchport mode trunk

- switchport trunk native vlan 999

- switchport trunk allowed vlan


А вот список словарей:


- BS: 1550

IT: 791

id: 11

name: Liverpool

to_id: 1

to_name: LONDON

- BS: 1510

IT: 793

id: 12

name: Bristol

to_id: 1

to_name: LONDON

- BS: 1650

IT: 892

id: 14

name: Coventry

to_id: 2

to_name: Manchester



 
MyTetra Share v.0.59
Яндекс индекс цитирования