Многие из модулей VMware для Ansible структурированы немного иначе, чем обычный модуль Ansible.То, с чем я сталкиваюсь, - это необходимость предоставления имени хоста или имени кластера модулю.Это плохо масштабируется, и я ищу способ перебрать набор хостов или даже кластеры из файла vars (модули VMware не используют обычный файл / etc / hosts) и предоставить этот хост илиимя кластера для модуля.В приведенном ниже коде я буду указывать имя хоста для «esxi_hostname».
Как видно из прокомментированного кода, я попробовал опцию with_items, которая не работает, потому что она недоступна для модуля.Я пробовал jinja следующим образом: 'esxi_hostname:' {% для хоста в хостах%} {{host}} {% endfor%}, а также "loop: '{{hosts}}'
---
- hosts: localhost
vars_files:
- credentials.yml
- vars.yml
- se1_hosts.yml
tasks:
- name: Manage Log level setting for an ESXi host
vmware_host_config_manager:
hostname: 'vcsa.host.se1.somewhere.com'
username: '{{ vc_username }}'
password: '{{ vc_pass }}'
esxi_hostname: 'hostname'
# with_items:
# - 'c05n06.esx.se1.csnzoo.com'
# loop: '{{ hosts }}'
validate_certs: False
options:
'Config.HostAgent.log.level': 'info'
delegate_to: localhost
Я ожидаю, что смогу предоставить переменную esxi_hostname для выдачи, и я ищу способ сделать это с помощью цикла, чтобы он работал с host1, host2, host3 и т. Д.
Заранее спасибо!