Обычный инвентарь#
Обычный инвентарь, также называемый просто инвентарем (inventory), имеет следующие особенности:
- Сведения об управляемых узлах могут быть добавлены вручную или импортированы из внешнего источника, в том числе из файлов инвентаря Ansible, добавленных в проект. 
- Поддерживает использование переменных Ansible и групп узлов. 
Источники сведений об управляемых узлах#
Импорт сведений об управляемых узлах из внешних источников имеет следующие особенности:
- Если в качестве источника выбран отдельный файл, импортируются узлы только из него. 
- Если в качестве источника выбран каталог, импортируются узлы из всех размещенных в нем файлов, включая дочерние каталоги. 
- Поддерживается фильтрация узлов по названию с помощью регулярных выражений. Этот фильтр применяется в последнюю очередь, после всех остальных фильтров, предоставляемых используемым расширением (plug-in) инвентаря. - Пусть файл инвентаря содержит записи о тридцати управляемых узлах (диапазон IP-адресов от - 10.1.0.1до- 10.1.0.30):- --- all: hosts: # Контроллеры домена dc1.example.com: dc2.example.com: # Сервер печати cups.example.com: # Клиенты домена client01.example.com: client02.example.com: client03.example.com: # ... client30.example.com: - Для импорта только первых десяти клиентов домена (с - client01.example.comпо- client10.example.comвключительно) следует использовать регулярное выражение следующего вида:- client([0][1-9]|10)\.example\.com 
- В описании импортированных узлов указывается значение imported. - Это значение можно изменить, добавив в файл инвентаря поле - _awx_descriptionдля нужных узлов, например:- --- domain-controllers: hosts: dc1.example.com: _awx_description: Primary domain controller dc2.example.com: _awx_description: First replica of domain controller 
- Если в файле инвентаря узел принадлежит одной или нескольким группам, в контроллере эти группы будут автоматически созданы, а узел включен в каждую из них. - Пусть файл инвентаря имеет следующий вид: - --- domain-controllers: # Контроллеры домена hosts: dc1.example.com: dc2.example.com: clients: # Клиенты домена hosts: client-1.example.com: client-2.example.com: client-3.example.com: client-4.example.com: - При импорте инвентаря в нем будут автоматически созданы группы - domain-controllersи- clients, содержащие контроллеры домена и клиенты домена соответственно.
- Если в источнике группы узлов организованы иерархически, структура групп будет воссоздана при импорте. - Важно - Узлы дочерних групп не связываются с родительской группой автоматически – их нужно добавлять вручную. - Например, пусть есть инвентарь следующего вида: - --- all: hosts: node-[01:10].example.com: controllers: hosts: node-01.example.com: node-02.example.com: clients: hosts: node-[03:10].example.com: production: children: controllers: clients: - При импорте такого инвентаря будут созданы три группы – - production,- clientsи- controllers. Управляемые узлы будут связаны только с группами- clientsи- controllers.
- По умолчанию при повторной синхронизации инвентарного списка с источником импортированные ранее управляемые узлы, группы узлов и переменные не удаляются. 
- Поддерживается использование сценариев динамического создания инвентаря. - Подробности о динамическом создании инвентаря см. в документации Ansible. 
- Поддерживается синхронизация с источником по расписанию. 
Поддержка расширений#
Automation Controller поддерживает следующие расширения инвентаря:
| Тип источника | Ссылка на руководство | 
| Amazon EC2 | |
| Google Compute Engine | |
| Диспетчер ресурсов Microsoft Azure | |
| VMware vCenter | |
| Red Hat Satellite 6 | |
| OpenStack | |
| Виртуализация Red Hat | |
| Платформа автоматизации Red Hat Tower | |
| Red Hat Insights | 
