--- - name: Create VM in vCenter delegate_to: localhost community.vmware.vmware_guest: hostname: "{{ hypervisor_url }}" username: "{{ hypervisor_username }}" password: "{{ hypervisor_password }}" validate_certs: false datacenter: "{{ hypervisor_datacenter }}" cluster: "{{ hypervisor_cluster }}" folder: "{{ vm_path | default(omit) }}" name: "{{ hostname }}" guest_id: otherLinux64Guest annotation: | {{ note | default('') }} state: "{{ 'poweredoff' if virtualization_tpm2_enabled | bool else 'poweredon' }}" disk: - size_gb: "{{ vm_size }}" type: thin datastore: "{{ hypervisor_storage }}" hardware: memory_mb: "{{ vm_memory }}" num_cpus: "{{ vm_cpus }}" boot_firmware: efi secure_boot: false cdrom: >- {{ [ { "controller_number": 0, "unit_number": 0, "controller_type": "sata", "state": "present", "type": "iso", "iso_path": boot_iso } ] + ( [ { "controller_number": 0, "unit_number": 1, "controller_type": "sata", "state": "present", "type": "iso", "iso_path": rhel_iso } ] if rhel_iso is defined and rhel_iso|length > 0 else [] ) }} networks: - name: "{{ vm_nif }}" type: dhcp vlan: "{{ vlan_name | default(omit) }}" - name: Ensure vTPM2 is enabled when required when: virtualization_tpm2_enabled | bool delegate_to: localhost community.vmware.vmware_guest_tpm: hostname: "{{ hypervisor_url }}" username: "{{ hypervisor_username }}" password: "{{ hypervisor_password }}" validate_certs: false datacenter: "{{ hypervisor_datacenter }}" folder: "{{ vm_path | default(omit) }}" name: "{{ hostname }}" state: present - name: Start VM in vCenter when: virtualization_tpm2_enabled | bool delegate_to: localhost vmware.vmware.vm_powerstate: hostname: "{{ hypervisor_url }}" username: "{{ hypervisor_username }}" password: "{{ hypervisor_password }}" validate_certs: false datacenter: "{{ hypervisor_datacenter }}" name: "{{ hostname }}" state: powered-on