Перейти к содержанию
100% локально

Конвертер инвентаря Ansible

Преобразуйте инвентарь Ansible между форматами INI и YAML. Поддерживает диапазоны хостов, вложенные группы, переменные и работает полностью локально в браузере.

Входные данные
Выходные данные

Конвертер инвентаря Ansible

Вставьте инвентарь Ansible и этот инструмент преобразует его между классическим форматом INI и структурированным форматом YAML, который также поддерживает Ansible. Заголовки групп, строки хостов, переменные группы и отношения children переносятся полностью, поэтому вручную написанный инвентарь INI становится правильным деревом all/children в YAML, а инвентарь YAML преобразуется обратно в простые разделы INI для инструментов или коллег, которые по-прежнему их ожидают.

Диапазоны хостов, написанные в квадратных скобках, например web[01:50].example.com или db-[a:f].example.com, расширяются в отдельные имена хостов, когда включена опция "Развернуть диапазоны хостов", с обработкой нулевого дополнения и буквенных последовательностей так же, как это делает сам Ansible. Отключите "Сохранить переменные хостов и групп", чтобы удалить ansible_user, http_port и аналогичные назначения и увидеть только структуру группы. "Сортировать группы и хосты" упорядочивает всё в алфавитном порядке вместо сохранения исходного порядка файла, а "Пропустить пустые группы" удаляет любой раздел, который остаётся без хостов, переменных или children после преобразования. Опция ширины отступа устанавливает количество пробелов, используемых выводом YAML на каждый уровень.

Хосты, указанные до любого заголовка группы, попадают в неявную группу ungrouped, соответствуя тому, как это обрабатывает сам Ansible. Строки комментариев, начинающиеся с точки с запятой или решётки, и пустые строки игнорируются на стороне INI. Конвертер не зависит от конца строки, поэтому файл, сохранённый на Windows, работает так же, как файл, сохранённый на Linux или macOS, и счётчик под выводом показывает количество групп, количество хостов и размер результата по мере ввода.

Всё запускается локально в вашем браузере. Инвентарь, имена хостов и любые переменные в нём никогда не загружаются никуда, что важно для файла, который может содержать внутренние имена хостов и настройки, смежные с учётными данными. Когда вы закончите, скопируйте результат, загрузите его как файл .txt или отправьте вывод обратно на вход для повторного преобразования.

FAQ

Это обрабатывает вложенные группы и разделы :children?
Да. Список :children группы сохраняется, и дочерняя группа вложена под своей родительской группой в выводе YAML вместо повторения на верхнем уровне.
Что происходит с диапазонами хостов, такими как web[01:10]?
С включенной опцией "Развернуть диапазоны хостов" каждый хост в диапазоне записывается отдельно, с нулевым дополнением и буквенными последовательностями (как [a:f]) сохраняется. Отключите опцию, чтобы оставить нотацию скобок как есть.
Можно ли преобразовать YAML обратно в INI?
Да. Переключите направление на "YAML в INI" и вставьте стандартный инвентарь `all: / children: / hosts: / vars:`; он преобразуется обратно в разделы `[group]`, `[group:vars]` и `[group:children]`.
Что происходит с хостами без группы?
Хосты, указанные до любого заголовка [group], размещаются в неявной группе ungrouped, так же как это обрабатывает сам Ansible.
Мой инвентарь загружается куда-нибудь?
Нет. Преобразование происходит полностью в вашем браузере — имена хостов, группы и переменные никогда не покидают ваше устройство.