Files
ansible/remove_vm.yml
2024-06-14 08:40:04 +02:00

52 lines
1.5 KiB
YAML

---
- name: Remove VM on Proxmox
hosts: proxmox.localdomain
gather_facts: no
vars:
api_host: "192.168.1.162"
api_user: "root@pam"
api_token_id: "mytoki"
api_token_secret: "ea5114f5-ed39-4277-ac09-a32984be5bc9"
proxmox_node: "pve"
vars_prompt:
- name: vm_name_to_remove
prompt: "Enter the name of the VM to remove"
private: no
tasks:
- name: List all VMs and templates
community.general.proxmox_vm_info:
api_host: "{{ api_host }}"
api_user: "{{ api_user }}"
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
validate_certs: no
register: vms_info
- name: Find VMID based on VM name
set_fact:
vmid_to_remove: "{{ item.vmid }}"
loop: "{{ vms_info.proxmox_vms }}"
when: item.name == vm_name_to_remove
- name: Debug VMID to remove
debug:
msg: "VMID to remove: {{ vmid_to_remove }}"
when: vmid_to_remove is defined
- name: Remove the VM
community.general.proxmox_kvm:
api_user: "{{ api_user }}"
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
api_host: "{{ api_host }}"
vmid: "{{ vmid_to_remove }}"
node: "{{ proxmox_node }}"
state: absent
when: vmid_to_remove is defined
- name: Print message if VM was not found
debug:
msg: "VM {{ vm_name_to_remove }} not found."
when: vmid_to_remove is not defined