У меня есть книга игр для создания виртуальной машины из шаблона в VMware ESXi 6.7. Моя книга игр ниже. Я хочу настроить второй (и, возможно, последующие) диски, только если переменная DISK1_SIZE_GB> 0. Это не работает. Я также попытался использовать «когда: DISK1_SIZE_GB определен», но безуспешно. Я использую опрос в Ansible Tower, со вторым диском в качестве дополнительного ответа. В этом случае я получаю сообщение об ошибке, что 0 является неверным размером диска, или когда я проверяю определение переменной, я получаю сообщение об ошибке DISK1_SIZE_GB, которая не определена. В любом случае, условие «когда» не работает. Если я жестко закодирую размер, как в первой записи «disk», он будет работать нормально… то же самое, если я введу действительный размер из Ansible Tower. Мне НЕ нужно настраивать дополнительные диски, если размер не определен в обзоре Tower. Спасибо!
---
- name: Create a VM from a template
hosts: localhost
gather_facts: no
tasks:
- name: Clone a template to a VM
vmware_guest:
hostname: "{{ lookup('env', 'VMWARE_HOST') }}"
username: "{{ lookup('env', 'VMWARE_USER') }}"
password: "{{ lookup('env', 'VMWARE_PASSWORD') }}"
validate_certs: 'false'
name: "{{ HOSTNAME }}"
template: RHEL-Server-7.7
datacenter: Production
folder: Templates
state: poweredon
hardware:
num_cpus: "{{ CPU_NUM }}"
memory_mb: "{{ MEM_MB }}"
disk:
- size_gb: 20
autoselect_datastore: true
- size_gb: "{{ DISK1_SIZE_GB }}"
autoselect_datastore: true
when: DISK1_SIZE_GB > 0
networks:
- name: "{{ NETWORK }}"
type: static
ip: "{{ IP_ADDR }}"
netmask: "{{ NETMASK }}"
gateway: "{{ GATEWAY }}"
dns_servers: "{{ DNS_SERVERS }}"
start_connected: true
wait_for_ip_address: yes