Каков правильный синтаксис для фильтрации инвентаря VMWare в Ansible Tower / AWX с использованием фильтра экземпляра?

В графическом интерфейсе Ansible Tower / AWX я создал инвентарь с источником для опроса моего экземпляра VMWare vCenter на предмет хостов. Документация, на которую я ссылался, не содержит примеров фильтрации хостов. Я пытаюсь импортировать только системы CentOS или RHEL из VMware в Tower / AWX.

Я пробовал эту строку, и она не фильтрует правильные хосты.

{{ config.guestId == "centos*" or config.guestId == "RHEL*" }}

Эта документация Tower по инвентаризации источников VMWare не содержит примеров. https://docs.ansible.com/ansible-tower/latest/html/userguide/inventories.html?extIdCarryOver=true&sc_cid=701f2000001OH6kAAG#vmware-vcenter

Эта документация VMware по быстрым фильтрам также не предлагает примера. https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vcenterhost.doc/GUID-2B6A1637-384D-4597-B453-B575F0ECD8A7.html


person Dino Padilla    schedule 16.07.2020    source источник


Ответы (1)


Эта строка будет отфильтровывать только системы CentOS или RHEL в реестре ресурсов VMware.

{{ config['guestId'] is search("centos*") or config['guestId'] is search("rhel*") }}

Я использовал здесь документацию по тестированию строк. Я также пытался неправильно проиндексировать элемент в массиве конфигурации.

https://docs.ansible.com/ansible/latest/user_guide/playbooks_tests.html#testing-strings

person Dino Padilla    schedule 16.07.2020