damex.incus.incus_image_imports role – Ensure Incus image imports.

Note

This role is part of the damex.incus collection (version 1.11.7).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it use: ansible-galaxy collection install damex.incus.

To use it in a playbook, specify: damex.incus.incus_image_imports.

Entry point main – Ensure Incus image imports.

Synopsis

  • Ensure Incus image imports.

Parameters

Parameter

Comments

incus_image_imports

list / elements=dictionary

Image imports to ensure.

alias

string / required

Primary image alias.

aliases

list / elements=string

Additional image aliases.

architecture

string

Image architecture identifier.

checksum

string

Expected source file checksum.

checksum_algorithm

string

Hash algorithm used for checksum verification.

Choices:

  • "sha256"

  • "sha512"

  • "sha384"

  • "md5"

force

boolean

Force re-import when alias exists.

Choices:

  • false

  • true

project

string

Incus project scope.

properties

dictionary

Image metadata properties.

description

string

Human-readable image description.

name

string

Image name.

os

string

Operating system name.

release

string

Operating system release or version.

serial

string

Image serial or build identifier.

variant

string

Image variant.

public

boolean

Unauthenticated user image access.

Choices:

  • false

  • true

source

string

Local image file path or download URL.

state

string

Image desired state.

Choices:

  • "present"

  • "absent"

timeout

integer

Source file download timeout in seconds.

incus_image_imports_architecture

string

Image architecture identifier.

incus_image_imports_checksum_algorithm

string

Hash algorithm used for checksum verification.

Choices:

  • "sha256"

  • "sha512"

  • "sha384"

  • "md5"

incus_image_imports_client_cert

string

Client certificate content for API authentication.

incus_image_imports_client_cert_path

path

TLS client certificate path for API authentication.

incus_image_imports_client_key

string

Client key content for API authentication.

incus_image_imports_client_key_path

path

TLS client key path for API authentication.

incus_image_imports_force

boolean

Force re-import when alias exists.

Choices:

  • false

  • true

incus_image_imports_project

string

Incus project scope.

incus_image_imports_public

boolean

Unauthenticated user image access.

Choices:

  • false

  • true

incus_image_imports_server_cert

string

Server certificate content for API verification.

incus_image_imports_server_cert_path

path

TLS server certificate path for API verification.

incus_image_imports_socket_path

path

Incus Unix socket path.

incus_image_imports_state

string

Images desired state.

Choices:

  • "present"

  • "absent"

incus_image_imports_timeout

integer

Source file download timeout in seconds.

incus_image_imports_token

string

Incus API authentication token.

incus_image_imports_url

string

Incus server API URL.

incus_image_imports_validate_certs

boolean

TLS certificate validation.

Choices:

  • false

  • true

Examples

- name: Ensure incus image imports
  hosts: incus
  tasks:
    - name: Ensure incus image imports
      ansible.builtin.import_role:
        name: damex.incus.incus_image_imports
      vars:
        incus_image_imports:
          - alias: chr/7.22
            source: https://download.mikrotik.com/routeros/7.22/chr-7.22.img.zip
            properties:
              os: RouterOS
              release: "7.22"
              description: MikroTik CHR 7.22
          - alias: custom/1.0
            source: /tmp/custom-image.qcow2
            properties:
              os: CustomOS
              release: "1.0"
              description: Custom OS Image