--- - name: Validate Proxmox API environment ansible.builtin.assert: that: - lookup('env', 'PROXMOX_HOST') | length > 0 - lookup('env', 'PROXMOX_USER') | length > 0 - lookup('env', 'PROXMOX_TOKEN_ID') | length > 0 - lookup('env', 'PROXMOX_TOKEN_SECRET') | length > 0 fail_msg: Load ansible/.env with PROXMOX_HOST, PROXMOX_USER, PROXMOX_TOKEN_ID and PROXMOX_TOKEN_SECRET. - name: Create or update LXC container community.proxmox.proxmox: api_host: "{{ lookup('env', 'PROXMOX_HOST') }}" api_user: "{{ lookup('env', 'PROXMOX_USER') }}" api_token_id: "{{ lookup('env', 'PROXMOX_TOKEN_ID') }}" api_token_secret: "{{ lookup('env', 'PROXMOX_TOKEN_SECRET') }}" validate_certs: "{{ lookup('env', 'PROXMOX_VALIDATE_CERTS') | default('false', true) | bool }}" vmid: "{{ pve_lxc_vmid }}" node: "{{ pve_lxc_node }}" hostname: "{{ pve_lxc_hostname }}" ostemplate: "{{ pve_lxc_ostemplate }}" disk: "{{ pve_lxc_disk }}" cores: "{{ pve_lxc_cores }}" memory: "{{ pve_lxc_memory }}" swap: "{{ pve_lxc_swap }}" nameserver: "{{ pve_lxc_nameserver }}" cmode: "{{ pve_lxc_cmode }}" netif: net0: "name=eth0,gw={{ pve_lxc_gateway }},ip={{ pve_lxc_ip }},bridge={{ pve_lxc_bridge }},firewall=1" pubkey: "{{ lookup('file', pve_lxc_pubkey_file) }}" features: "{{ pve_lxc_features }}" unprivileged: "{{ pve_lxc_unprivileged }}" onboot: "{{ pve_lxc_onboot }}" startup: "{{ pve_lxc_startup }}" update: true state: present - name: Start LXC container community.proxmox.proxmox: api_host: "{{ lookup('env', 'PROXMOX_HOST') }}" api_user: "{{ lookup('env', 'PROXMOX_USER') }}" api_token_id: "{{ lookup('env', 'PROXMOX_TOKEN_ID') }}" api_token_secret: "{{ lookup('env', 'PROXMOX_TOKEN_SECRET') }}" validate_certs: "{{ lookup('env', 'PROXMOX_VALIDATE_CERTS') | default('false', true) | bool }}" vmid: "{{ pve_lxc_vmid }}" state: started