Возможно ли писать файлы Ysams / Ansible hosts / inventory?
На странице лучших практик есть пример, который использует hosts.yml
для файлов hosts:
Однако в документах я могу найти только синтаксис 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]
), разделяемыми =
вместо показанного и правильного :