Возможно ли писать файлы Ysams / Ansible hosts / inventory?

На странице лучших практик есть пример, который использует hosts.yml для файлов hosts:

Файл хостов на основе YAML

Однако в документах я могу найти только синтаксис INI для записи файлов хостов.

Каков синтаксис файлов инвентаря в YAML?

Да.

Он был устаревшим в версии 0.6 в 2012 году и повторно введен в коммит, впервые включенный в версию 2.1 в 2016 году.

Пример файла на GitHub содержит рекомендации и примеры:

  • Комментарии начинаются с символа ‘#’
  • Пустые строки игнорируются
  • Записи верхнего уровня считаются группами
  • Хосты должны быть указаны на хостах группы: они должны быть ключом (: завершено)
  • группы могут иметь детей, хозяев и ключи
  • Все, что определено под хостами, считается var
  • Вы можете ввести имена хостов или IP-адреса
  • Имя хоста / ip может быть членом нескольких групп

Пример 1: Разгруппированные хосты, помещенные в группу «ungrouped»

 ungrouped: hosts: green.example.com: ansible_ssh_host: 191.168.100.32 blue.example.com: 192.168.100.1: 192.168.100.10: 

Пример 2: коллекция хостов, принадлежащих к группе «веб-серверы»

 webservers: hosts: alpha.example.org: beta.example.org: 192.168.1.100: 192.168.1.110: 

Пример 3: вы можете создавать хосты с использованием диапазонов и добавлять группы и группы детей в группу. Детская группа может определять все, что вы обычно добавляете в группу

 testing: hosts: www[001:006].example.com: vars: testing1: value1 children: webservers: hosts: beta.example.org: 

Предыдущие ответы верны, но здесь просто hosts.yaml и INI, как бок о бок на скриншоте, и я просто копирую фактический hosts.yaml тоже, поэтому, если вы хотите скопировать и вставить и отредактировать его для себя

 --- all: hosts: xmp: ansible_connection: ssh ansible_host: "192.1.0.1" ansible_port: 7822 ansible_user: nanoseco 

введите описание изображения здесь

Дополнительная информация:

https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html

просто обнаружил Ansible INI в конвертере инвентаря YAML на github который отлично работал для меня:

This repository contains a Python script for converting Ansible inventories in INI format to YAML format.

по какой-то причине преобразование закончилось диапазонами хостов ( [01:03] ), разделяемыми = вместо показанного и правильного :

Interesting Posts
Давайте будем гением компьютера.