52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
---
|
|
- name: create VM from template
|
|
hosts: all
|
|
gather_facts: false
|
|
vars_files:
|
|
- vars/proxmox.yml
|
|
|
|
tasks:
|
|
- name: Create VM from template
|
|
proxmox_kvm:
|
|
node: "{{ node }}"
|
|
api_host: "{{ pve_host }}"
|
|
api_user: "{{ pve_user }}"
|
|
api_password: "{{ pve_password }}"
|
|
validate_certs: no
|
|
name: "{{ inventory_hostname }}"
|
|
storage: "{{ storage }}"
|
|
clone: "{{ clone }}"
|
|
onboot: true
|
|
register: vm_created
|
|
delegate_to: localhost
|
|
|
|
# Display new VM details
|
|
- debug:
|
|
var: vm_created
|
|
delegate_to: localhost
|
|
|
|
- name: Update VM configuration
|
|
community.general.proxmox_kvm:
|
|
api_host: "{{ pve_host }}"
|
|
api_user: "{{ pve_user }}"
|
|
api_password: "{{ pve_password }}"
|
|
name: "{{ inventory_hostname }}"
|
|
node: "{{ node }}"
|
|
memory: "{{ vm_memory }}"
|
|
cores: "{{ vm_cores }}"
|
|
ipconfig:
|
|
ipconfig0: "{{ vm_ip_address }}"
|
|
update: true
|
|
delegate_to: localhost
|
|
|
|
- name: Update the disk size
|
|
community.general.proxmox_disk:
|
|
api_host: "{{ pve_host }}"
|
|
api_user: "{{ pve_user }}"
|
|
api_password: "{{ pve_password }}"
|
|
name: "{{ inventory_hostname }}"
|
|
disk: scsi0
|
|
backup: false
|
|
size: "{{ vm_root_disk_size }}"
|
|
state: resized
|
|
delegate_to: localhost |