75 lines
2.3 KiB
YAML
75 lines
2.3 KiB
YAML
---
|
|
- 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 if vm_path is defined and vm_path | length > 0 else omit }}"
|
|
name: "{{ hostname }}"
|
|
guest_id: otherLinux64Guest
|
|
annotation: |
|
|
{{ note if note is defined else '' }}
|
|
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 if vlan_name is defined and vlan_name | length > 0 else 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 if vm_path is defined and vm_path | length > 0 else 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
|