54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
---
|
|
- name: Create a new VM with minimal options
|
|
become: false
|
|
community.proxmox.proxmox_kvm:
|
|
validate_certs: false
|
|
node: proxmox-server
|
|
api_user: root@pam
|
|
api_host: 192.168.0.2
|
|
api_token_id: ansible
|
|
api_token_secret: "{{ proxmox_token_secret }}"
|
|
|
|
clone: debian-13-cloud-init-template
|
|
name: "{{ vm_hostname }}"
|
|
storage: main
|
|
format: qcow2
|
|
full: true
|
|
timeout: 500
|
|
|
|
- name: Sleep for 20 seconds to ensure that Proxmox has cloned the VM
|
|
become: false
|
|
ansible.builtin.wait_for:
|
|
timeout: 20
|
|
delegate_to: localhost
|
|
changed_when: false
|
|
|
|
- name: Tweak the hardware settings
|
|
become: false
|
|
community.proxmox.proxmox_kvm:
|
|
validate_certs: false
|
|
node: proxmox-server
|
|
api_user: root@pam
|
|
api_host: 192.168.0.2
|
|
api_token_id: ansible
|
|
api_token_secret: "{{ proxmox_token_secret }}"
|
|
|
|
name: "{{ vm_hostname }}"
|
|
cores: 4
|
|
memory: 4096 # Minimal value for debian based OS for smooth workflow
|
|
update: true
|
|
|
|
- name: Make sure the VM has started
|
|
become: false
|
|
community.proxmox.proxmox_kvm:
|
|
validate_certs: false
|
|
node: proxmox-server
|
|
api_user: root@pam
|
|
api_host: 192.168.0.2
|
|
api_token_id: ansible
|
|
api_token_secret: "{{ proxmox_token_secret }}"
|
|
|
|
name: "{{ vm_hostname }}"
|
|
state: started
|
|
|