damex.incus.incus_profiles role – Ensure Incus profiles.

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_profiles.

Entry point main – Ensure Incus profiles.

Synopsis

  • Ensure Incus profiles.

Parameters

Parameter

Comments

incus_profiles

list / elements=dictionary

Incus profiles to ensure.

config

dictionary

Profile configuration key-value pairs.

agent.nic_config

boolean

Use instance NIC names and MTU for default interfaces.

Choices:

  • false

  • true

boot.autorestart

boolean

Auto-restart on unexpected stop.

Choices:

  • false

  • true

boot.autostart

boolean

Instance autostart on daemon startup.

Choices:

  • false

  • true

boot.autostart.delay

integer

Seconds to wait after the instance started.

boot.autostart.priority

integer

Instance startup priority, higher starts first.

boot.host_shutdown_action

string

Action to perform on host shutdown.

boot.host_shutdown_timeout

integer

Seconds to wait for graceful shutdown on host stop.

boot.stop.priority

integer

Instance shutdown priority, higher stops first.

cloud-init.network-config

dictionary

Cloud-init network configuration.

bonds

list / elements=dictionary

Bond device configurations.

accept-ra

boolean

IPv6 Router Advertisement acceptance.

Choices:

  • false

  • true

addresses

list / elements=string

Static addresses in CIDR notation.

dhcp4

boolean

DHCPv4.

Choices:

  • false

  • true

dhcp6

boolean

DHCPv6.

Choices:

  • false

  • true

gateway4

string

Default IPv4 gateway address.

gateway6

string

Default IPv6 gateway address.

interfaces

list / elements=string

Member interfaces for the bond.

mtu

integer

Maximum transmission unit for the device.

name

string / required

Bond device name.

nameservers

dictionary

DNS resolver configuration.

addresses

list / elements=string

DNS server addresses.

list / elements=string

DNS search domains.

optional

boolean

Optional boot device.

Choices:

  • false

  • true

parameters

dictionary

Bond-specific parameters.

mii-monitor-interval

integer

MII monitoring interval in milliseconds.

mode

string

Bonding mode.

routes

list / elements=dictionary

Static routes for the device.

metric

integer

Route metric value.

scope

string

Scope of the route.

table

integer

Routing table ID for the route.

to

string

Destination network in CIDR notation.

via

string

Gateway address for the route.

set-name

string

Rename the device to this name.

bridges

list / elements=dictionary

Bridge device configurations.

accept-ra

boolean

IPv6 Router Advertisement acceptance.

Choices:

  • false

  • true

addresses

list / elements=string

Static addresses in CIDR notation.

dhcp4

boolean

DHCPv4.

Choices:

  • false

  • true

dhcp6

boolean

DHCPv6.

Choices:

  • false

  • true

gateway4

string

Default IPv4 gateway address.

gateway6

string

Default IPv6 gateway address.

interfaces

list / elements=string

Member interfaces for the bridge.

mtu

integer

Maximum transmission unit for the device.

name

string / required

Bridge device name.

nameservers

dictionary

DNS resolver configuration.

addresses

list / elements=string

DNS server addresses.

list / elements=string

DNS search domains.

optional

boolean

Optional boot device.

Choices:

  • false

  • true

parameters

dictionary

Bridge-specific parameters.

forward-delay

integer

Forwarding delay in seconds.

stp

boolean

Spanning Tree Protocol.

Choices:

  • false

  • true

routes

list / elements=dictionary

Static routes for the device.

metric

integer

Route metric value.

scope

string

Scope of the route.

table

integer

Routing table ID for the route.

to

string

Destination network in CIDR notation.

via

string

Gateway address for the route.

set-name

string

Rename the device to this name.

ethernets

list / elements=dictionary

Ethernet device configurations.

accept-ra

boolean

IPv6 Router Advertisement acceptance.

Choices:

  • false

  • true

addresses

list / elements=string

Static addresses in CIDR notation.

dhcp4

boolean

DHCPv4.

Choices:

  • false

  • true

dhcp6

boolean

DHCPv6.

Choices:

  • false

  • true

gateway4

string

Default IPv4 gateway address.

gateway6

string

Default IPv6 gateway address.

match

dictionary

Device match criteria.

driver

string

Kernel driver name to match.

macaddress

string

MAC address to match.

name

string

Interface name glob pattern to match.

mtu

integer

Maximum transmission unit for the device.

name

string / required

Ethernet device name.

nameservers

dictionary

DNS resolver configuration.

addresses

list / elements=string

DNS server addresses.

list / elements=string

DNS search domains.

optional

boolean

Optional boot device.

Choices:

  • false

  • true

routes

list / elements=dictionary

Static routes for the device.

metric

integer

Route metric value.

scope

string

Scope of the route.

table

integer

Routing table ID for the route.

to

string

Destination network in CIDR notation.

via

string

Gateway address for the route.

set-name

string

Rename the device to this name.

renderer

string

Network renderer backend.

version

integer

Network config format version.

vlans

list / elements=dictionary

VLAN device configurations.

accept-ra

boolean

IPv6 Router Advertisement acceptance.

Choices:

  • false

  • true

addresses

list / elements=string

Static addresses in CIDR notation.

dhcp4

boolean

DHCPv4.

Choices:

  • false

  • true

dhcp6

boolean

DHCPv6.

Choices:

  • false

  • true

gateway4

string

Default IPv4 gateway address.

gateway6

string

Default IPv6 gateway address.

id

integer / required

VLAN ID.

string / required

Parent device for the VLAN.

mtu

integer

Maximum transmission unit for the device.

name

string / required

VLAN device name.

nameservers

dictionary

DNS resolver configuration.

addresses

list / elements=string

DNS server addresses.

list / elements=string

DNS search domains.

optional

boolean

Optional boot device.

Choices:

  • false

  • true

routes

list / elements=dictionary

Static routes for the device.

metric

integer

Route metric value.

scope

string

Scope of the route.

table

integer

Routing table ID for the route.

to

string

Destination network in CIDR notation.

via

string

Gateway address for the route.

set-name

string

Rename the device to this name.

cloud-init.user-data

dictionary

Cloud-init user data configuration.

allow_public_ssh_keys

boolean

Public SSH key allowance.

Choices:

  • false

  • true

apt

dictionary

APT package manager configuration.

add_apt_repo_match

string

Regex for matching add-apt-repository entries.

conf

string

APT configuration to write.

debconf_selections

list / elements=dictionary

Debconf preseed selections.

name

string / required

Selection set identifier.

selection

string / required

Debconf selection lines.

disable_suites

list / elements=string

APT suites to disable.

ftp_proxy

string

FTP proxy URL for APT.

http_proxy

string

HTTP proxy for APT.

https_proxy

string

HTTPS proxy for APT.

preserve_sources_list

boolean

Existing sources.list preservation.

Choices:

  • false

  • true

primary

list / elements=any

Primary APT mirror configuration.

proxy

string

APT proxy URL.

security

list / elements=any

Security APT mirror configuration.

sources

list / elements=dictionary

Additional APT source definitions.

append

boolean

Source file append mode.

Choices:

  • false

  • true

filename

string

Name of the source list file.

key

string

Raw GPG key.

keyid

string

GPG key ID to import.

keyserver

string

Alternate keyserver to pull key from.

name

string / required

Source entry identifier and filename.

source

string

Sources.list entry.

sources_list

string

Custom sources.list content.

bootcmd

list / elements=any

Commands to run early in the boot process.

ca_certs

dictionary

CA certificate configuration.

remove_defaults

boolean

Default CA certificate removal.

Choices:

  • false

  • true

trusted

list / elements=string

Trusted CA certificates to add.

chpasswd

dictionary

Password change settings.

expire

boolean

Password expiry after first login.

Choices:

  • false

  • true

users

list / elements=dictionary

Users with password settings.

name

string / required

User login name.

password

string

Password for the user.

type

string

Password encoding type.

Choices:

  • "text"

  • "hash"

  • "RANDOM"

disable_root

boolean

Root login.

Choices:

  • false

  • true

disable_root_opts

string

SSH options applied when root login is disabled.

disk_setup

list / elements=dictionary

Disk partitioning configuration.

layout

any

Partition layout specification.

name

string / required

Device path.

overwrite

boolean

Existing partition table overwrite.

Choices:

  • false

  • true

table_type

string

Partition table type.

Choices:

  • "mbr"

  • "gpt"

final_message

string

Message to display when cloud-init completes.

fqdn

string

Fully qualified domain name.

fs_setup

list / elements=dictionary

Filesystem creation configuration.

cmd

any

Custom command to create the filesystem.

device

string

Device to create the filesystem on.

extra_opts

list / elements=string

Extra options to pass to mkfs.

filesystem

string

Filesystem type.

label

string

Filesystem label.

overwrite

boolean

Existing filesystem overwrite.

Choices:

  • false

  • true

partition

any

Partition specification.

replace_fs

boolean

Existing filesystem replacement.

Choices:

  • false

  • true

groups

list / elements=any

Groups to create.

growpart

dictionary

Partition growing configuration.

devices

list / elements=string

Devices to grow.

ignore_growroot_disabled

boolean

Growroot disabled marker bypass.

Choices:

  • false

  • true

mode

string

Growpart mode.

Choices:

  • "auto"

  • "growpart"

  • "gpart"

  • "off"

hostname

string

System hostname.

locale

string

System locale.

locale_configfile

string

Locale configuration file path.

manage_etc_hosts

boolean

/etc/hosts management.

Choices:

  • false

  • true

manage_resolv_conf

boolean

/etc/resolv.conf management.

Choices:

  • false

  • true

mount_default_fields

list / elements=any

Default values for mount entries with fewer than six fields.

mounts

list / elements=any

Mount point definitions.

ntp

dictionary

NTP time synchronization configuration.

allow

list / elements=string

Allowed NTP network ranges.

config

dictionary

NTP client-specific configuration.

check_exe

string

Executable name for the NTP client.

confpath

string

NTP client configuration file path.

packages

list / elements=string

Packages needed for the NTP client.

service_name

string

Service name for the NTP client.

template

string

Jinja template for NTP client configuration.

enabled

boolean

NTP.

Choices:

  • false

  • true

ntp_client

string

NTP client to use.

peers

list / elements=string

NTP peer nodes.

pools

list / elements=string

NTP pools.

servers

list / elements=string

NTP servers.

package_reboot_if_required

boolean

Post-upgrade reboot.

Choices:

  • false

  • true

package_update

boolean

First-boot package list update.

Choices:

  • false

  • true

package_upgrade

boolean

First-boot package upgrade.

Choices:

  • false

  • true

packages

list / elements=string

Packages to install on first boot.

password

string

Password for the default user.

phone_home

dictionary

Phone home configuration.

post

list / elements=string

Data keys to post.

tries

integer

Number of phone home attempts.

url

string / required

URL to send phone home data to.

power_state

dictionary

Power state change after cloud-init completes.

condition

any

Condition to evaluate before power state change.

delay

string

Delay before power state change.

mode

string

Power state action.

Choices:

  • "reboot"

  • "poweroff"

  • "halt"

timeout

integer

Seconds to wait for cloud-init to complete.

prefer_fqdn_over_hostname

boolean

FQDN preference over short hostname.

Choices:

  • false

  • true

resolv_conf

dictionary

DNS resolver configuration.

domain

string

DNS domain name.

nameservers

list / elements=string

DNS server addresses.

options

dictionary

Resolver options for /etc/resolv.conf.

attempts

integer

Number of resolver query attempts.

edns0

boolean

EDNS0 extensions.

Choices:

  • false

  • true

inet6

boolean

IPv6 address preference.

Choices:

  • false

  • true

ndots

integer

Minimum dots in a name before absolute query.

no-check-names

boolean

Name checking disabling.

Choices:

  • false

  • true

no-reload

boolean

Automatic config reload disabling.

Choices:

  • false

  • true

no-tld-query

boolean

Top-level domain query disabling.

Choices:

  • false

  • true

rotate

boolean

Nameserver rotation.

Choices:

  • false

  • true

single-request

boolean

Sequential A and AAAA queries.

Choices:

  • false

  • true

single-request-reopen

boolean

Socket reopen for sequential queries.

Choices:

  • false

  • true

timeout

integer

Resolver query timeout in seconds.

trust-ad

boolean

Resolver AD flag trust.

Choices:

  • false

  • true

use-vc

boolean

TCP DNS queries.

Choices:

  • false

  • true

searchdomains

list / elements=string

DNS search domains.

sortlist

list / elements=string

DNS sort list entries.

runcmd

list / elements=any

Commands to run after cloud-init completes.

snap

dictionary

Snap package manager configuration.

commands

list / elements=any

Snap commands to run.

ssh_authorized_keys

list / elements=string

SSH public keys to add to the default user.

ssh_deletekeys

boolean

Default SSH host key deletion.

Choices:

  • false

  • true

ssh_genkeytypes

list / elements=string

SSH key types to generate.

ssh_keys

dictionary

SSH host key pairs to install.

ecdsa_certificate

string

ECDSA host certificate.

ecdsa_private

string

ECDSA private host key.

ecdsa_public

string

ECDSA public host key.

ed25519_certificate

string

Ed25519 host certificate.

ed25519_private

string

Ed25519 private host key.

ed25519_public

string

Ed25519 public host key.

rsa_certificate

string

RSA host certificate.

rsa_private

string

RSA private host key.

rsa_public

string

RSA public host key.

ssh_publish_hostkeys

dictionary

SSH host key publishing configuration.

blacklist

list / elements=string

Key types to exclude from publishing.

enabled

boolean

Host key publishing.

Choices:

  • false

  • true

ssh_pwauth

boolean

SSH password authentication.

Choices:

  • false

  • true

ssh_quiet_keygen

boolean

SSH key generation output suppression.

Choices:

  • false

  • true

swap

dictionary

Swap configuration.

filename

string

Swap file path.

maxsize

any

Maximum size of the swap file in bytes.

size

any

Size of the swap file.

timezone

string

System timezone.

user

string

Default user name to create.

users

list / elements=dictionary

Users to create.

create_groups

boolean

User group creation.

Choices:

  • false

  • true

doas

list / elements=string

Doas rules for the user.

expiredate

string

Account expiration date.

gecos

string

GECOS field for the user.

groups

any

Groups to add the user to.

hashed_passwd

string

Pre-hashed password for the user.

homedir

string

Home directory for the user.

inactive

string

Days after password expiry before account is disabled.

lock_passwd

boolean

User password lock.

Choices:

  • false

  • true

name

string / required

User login name.

no_create_home

boolean

Home directory creation skip.

Choices:

  • false

  • true

no_log_init

boolean

User initialization log skip.

Choices:

  • false

  • true

no_user_group

boolean

User group creation skip.

Choices:

  • false

  • true

passwd

string

Hashed password for the user.

plain_text_passwd

string

Plain text password for the user.

primary_group

string

Primary group for the user.

selinux_user

string

SELinux user for login mapping.

shell

string

Login shell for the user.

snapuser

string

Email for Snappy user creation.

ssh_authorized_keys

list / elements=string

SSH public keys to add to the user.

ssh_import_id

list / elements=string

SSH IDs to import public keys from.

ssh_redirect_user

boolean

SSH login redirection to default user.

Choices:

  • false

  • true

sudo

any

Sudo rule for the user.

system

boolean

System user.

Choices:

  • false

  • true

uid

integer

Numeric user ID.

write_files

list / elements=dictionary

Files to write on first boot.

append

boolean

Existing file append mode.

Choices:

  • false

  • true

content

string

Content to write to the file.

defer

boolean

Deferred writing until final stage.

Choices:

  • false

  • true

encoding

string

Encoding of the content.

Choices:

  • "b64"

  • "base64"

  • "gz"

  • "gzip"

  • "gz+b64"

  • "gzip+b64"

  • "gz+base64"

  • "gzip+base64"

  • "text/plain"

owner

string

Owner and group in user:group format.

path

string / required

Absolute path of the file to write.

permissions

string

File permissions in octal notation.

source

dictionary

URL source for file content.

headers

list / elements=dictionary

HTTP headers for the request.

name

string / required

Header name.

value

string / required

Header value.

uri

string / required

URL to fetch content from.

cloud-init.vendor-data

dictionary

Cloud-init vendor data configuration.

allow_public_ssh_keys

boolean

Public SSH key allowance.

Choices:

  • false

  • true

apt

dictionary

APT package manager configuration.

add_apt_repo_match

string

Regex for matching add-apt-repository entries.

conf

string

APT configuration to write.

debconf_selections

list / elements=dictionary

Debconf preseed selections.

name

string / required

Selection set identifier.

selection

string / required

Debconf selection lines.

disable_suites

list / elements=string

APT suites to disable.

ftp_proxy

string

FTP proxy URL for APT.

http_proxy

string

HTTP proxy for APT.

https_proxy

string

HTTPS proxy for APT.

preserve_sources_list

boolean

Existing sources.list preservation.

Choices:

  • false

  • true

primary

list / elements=any

Primary APT mirror configuration.

proxy

string

APT proxy URL.

security

list / elements=any

Security APT mirror configuration.

sources

list / elements=dictionary

Additional APT source definitions.

append

boolean

Source file append mode.

Choices:

  • false

  • true

filename

string

Name of the source list file.

key

string

Raw GPG key.

keyid

string

GPG key ID to import.

keyserver

string

Alternate keyserver to pull key from.

name

string / required

Source entry identifier and filename.

source

string

Sources.list entry.

sources_list

string

Custom sources.list content.

bootcmd

list / elements=any

Commands to run early in the boot process.

ca_certs

dictionary

CA certificate configuration.

remove_defaults

boolean

Default CA certificate removal.

Choices:

  • false

  • true

trusted

list / elements=string

Trusted CA certificates to add.

chpasswd

dictionary

Password change settings.

expire

boolean

Password expiry after first login.

Choices:

  • false

  • true

users

list / elements=dictionary

Users with password settings.

name

string / required

User login name.

password

string

Password for the user.

type

string

Password encoding type.

Choices:

  • "text"

  • "hash"

  • "RANDOM"

disable_root

boolean

Root login.

Choices:

  • false

  • true

disable_root_opts

string

SSH options applied when root login is disabled.

disk_setup

list / elements=dictionary

Disk partitioning configuration.

layout

any

Partition layout specification.

name

string / required

Device path.

overwrite

boolean

Existing partition table overwrite.

Choices:

  • false

  • true

table_type

string

Partition table type.

Choices:

  • "mbr"

  • "gpt"

final_message

string

Message to display when cloud-init completes.

fqdn

string

Fully qualified domain name.

fs_setup

list / elements=dictionary

Filesystem creation configuration.

cmd

any

Custom command to create the filesystem.

device

string

Device to create the filesystem on.

extra_opts

list / elements=string

Extra options to pass to mkfs.

filesystem

string

Filesystem type.

label

string

Filesystem label.

overwrite

boolean

Existing filesystem overwrite.

Choices:

  • false

  • true

partition

any

Partition specification.

replace_fs

boolean

Existing filesystem replacement.

Choices:

  • false

  • true

groups

list / elements=any

Groups to create.

growpart

dictionary

Partition growing configuration.

devices

list / elements=string

Devices to grow.

ignore_growroot_disabled

boolean

Growroot disabled marker bypass.

Choices:

  • false

  • true

mode

string

Growpart mode.

Choices:

  • "auto"

  • "growpart"

  • "gpart"

  • "off"

hostname

string

System hostname.

locale

string

System locale.

locale_configfile

string

Locale configuration file path.

manage_etc_hosts

boolean

/etc/hosts management.

Choices:

  • false

  • true

manage_resolv_conf

boolean

/etc/resolv.conf management.

Choices:

  • false

  • true

mount_default_fields

list / elements=any

Default values for mount entries with fewer than six fields.

mounts

list / elements=any

Mount point definitions.

ntp

dictionary

NTP time synchronization configuration.

allow

list / elements=string

Allowed NTP network ranges.

config

dictionary

NTP client-specific configuration.

check_exe

string

Executable name for the NTP client.

confpath

string

NTP client configuration file path.

packages

list / elements=string

Packages needed for the NTP client.

service_name

string

Service name for the NTP client.

template

string

Jinja template for NTP client configuration.

enabled

boolean

NTP.

Choices:

  • false

  • true

ntp_client

string

NTP client to use.

peers

list / elements=string

NTP peer nodes.

pools

list / elements=string

NTP pools.

servers

list / elements=string

NTP servers.

package_reboot_if_required

boolean

Post-upgrade reboot.

Choices:

  • false

  • true

package_update

boolean

First-boot package list update.

Choices:

  • false

  • true

package_upgrade

boolean

First-boot package upgrade.

Choices:

  • false

  • true

packages

list / elements=string

Packages to install on first boot.

password

string

Password for the default user.

phone_home

dictionary

Phone home configuration.

post

list / elements=string

Data keys to post.

tries

integer

Number of phone home attempts.

url

string / required

URL to send phone home data to.

power_state

dictionary

Power state change after cloud-init completes.

condition

any

Condition to evaluate before power state change.

delay

string

Delay before power state change.

mode

string

Power state action.

Choices:

  • "reboot"

  • "poweroff"

  • "halt"

timeout

integer

Seconds to wait for cloud-init to complete.

prefer_fqdn_over_hostname

boolean

FQDN preference over short hostname.

Choices:

  • false

  • true

resolv_conf

dictionary

DNS resolver configuration.

domain

string

DNS domain name.

nameservers

list / elements=string

DNS server addresses.

options

dictionary

Resolver options for /etc/resolv.conf.

attempts

integer

Number of resolver query attempts.

edns0

boolean

EDNS0 extensions.

Choices:

  • false

  • true

inet6

boolean

IPv6 address preference.

Choices:

  • false

  • true

ndots

integer

Minimum dots in a name before absolute query.

no-check-names

boolean

Name checking disabling.

Choices:

  • false

  • true

no-reload

boolean

Automatic config reload disabling.

Choices:

  • false

  • true

no-tld-query

boolean

Top-level domain query disabling.

Choices:

  • false

  • true

rotate

boolean

Nameserver rotation.

Choices:

  • false

  • true

single-request

boolean

Sequential A and AAAA queries.

Choices:

  • false

  • true

single-request-reopen

boolean

Socket reopen for sequential queries.

Choices:

  • false

  • true

timeout

integer

Resolver query timeout in seconds.

trust-ad

boolean

Resolver AD flag trust.

Choices:

  • false

  • true

use-vc

boolean

TCP DNS queries.

Choices:

  • false

  • true

searchdomains

list / elements=string

DNS search domains.

sortlist

list / elements=string

DNS sort list entries.

runcmd

list / elements=any

Commands to run after cloud-init completes.

snap

dictionary

Snap package manager configuration.

commands

list / elements=any

Snap commands to run.

ssh_authorized_keys

list / elements=string

SSH public keys to add to the default user.

ssh_deletekeys

boolean

Default SSH host key deletion.

Choices:

  • false

  • true

ssh_genkeytypes

list / elements=string

SSH key types to generate.

ssh_keys

dictionary

SSH host key pairs to install.

ecdsa_certificate

string

ECDSA host certificate.

ecdsa_private

string

ECDSA private host key.

ecdsa_public

string

ECDSA public host key.

ed25519_certificate

string

Ed25519 host certificate.

ed25519_private

string

Ed25519 private host key.

ed25519_public

string

Ed25519 public host key.

rsa_certificate

string

RSA host certificate.

rsa_private

string

RSA private host key.

rsa_public

string

RSA public host key.

ssh_publish_hostkeys

dictionary

SSH host key publishing configuration.

blacklist

list / elements=string

Key types to exclude from publishing.

enabled

boolean

Host key publishing.

Choices:

  • false

  • true

ssh_pwauth

boolean

SSH password authentication.

Choices:

  • false

  • true

ssh_quiet_keygen

boolean

SSH key generation output suppression.

Choices:

  • false

  • true

swap

dictionary

Swap configuration.

filename

string

Swap file path.

maxsize

any

Maximum size of the swap file in bytes.

size

any

Size of the swap file.

timezone

string

System timezone.

user

string

Default user name to create.

users

list / elements=dictionary

Users to create.

create_groups

boolean

User group creation.

Choices:

  • false

  • true

doas

list / elements=string

Doas rules for the user.

expiredate

string

Account expiration date.

gecos

string

GECOS field for the user.

groups

any

Groups to add the user to.

hashed_passwd

string

Pre-hashed password for the user.

homedir

string

Home directory for the user.

inactive

string

Days after password expiry before account is disabled.

lock_passwd

boolean

User password lock.

Choices:

  • false

  • true

name

string / required

User login name.

no_create_home

boolean

Home directory creation skip.

Choices:

  • false

  • true

no_log_init

boolean

User initialization log skip.

Choices:

  • false

  • true

no_user_group

boolean

User group creation skip.

Choices:

  • false

  • true

passwd

string

Hashed password for the user.

plain_text_passwd

string

Plain text password for the user.

primary_group

string

Primary group for the user.

selinux_user

string

SELinux user for login mapping.

shell

string

Login shell for the user.

snapuser

string

Email for Snappy user creation.

ssh_authorized_keys

list / elements=string

SSH public keys to add to the user.

ssh_import_id

list / elements=string

SSH IDs to import public keys from.

ssh_redirect_user

boolean

SSH login redirection to default user.

Choices:

  • false

  • true

sudo

any

Sudo rule for the user.

system

boolean

System user.

Choices:

  • false

  • true

uid

integer

Numeric user ID.

write_files

list / elements=dictionary

Files to write on first boot.

append

boolean

Existing file append mode.

Choices:

  • false

  • true

content

string

Content to write to the file.

defer

boolean

Deferred writing until final stage.

Choices:

  • false

  • true

encoding

string

Encoding of the content.

Choices:

  • "b64"

  • "base64"

  • "gz"

  • "gzip"

  • "gz+b64"

  • "gzip+b64"

  • "gz+base64"

  • "gzip+base64"

  • "text/plain"

owner

string

Owner and group in user:group format.

path

string / required

Absolute path of the file to write.

permissions

string

File permissions in octal notation.

source

dictionary

URL source for file content.

headers

list / elements=dictionary

HTTP headers for the request.

name

string / required

Header name.

value

string / required

Header value.

uri

string / required

URL to fetch content from.

cluster.evacuate

string

Action to perform on cluster member evacuation.

Choices:

  • "auto"

  • "live-migrate"

  • "migrate"

  • "stop"

  • "stateful-stop"

  • "force-stop"

limits.cpu

string

Number or range of CPUs to expose.

limits.cpu.allowance

string

CPU time allowance as percentage or fixed rate.

limits.cpu.nodes

string

NUMA nodes to place the instance on.

limits.cpu.priority

integer

CPU scheduling priority compared to other instances.

limits.disk.priority

integer

I/O request priority when under load (0-10).

limits.hugepages.1GB

string

Limit for 1GB hugepages.

limits.hugepages.1MB

string

Limit for 1MB hugepages.

limits.hugepages.2MB

string

Limit for 2MB hugepages.

limits.hugepages.64KB

string

Limit for 64KB hugepages.

limits.memory

string

Percentage of host memory or fixed value in bytes.

limits.memory.enforce

string

Memory limit enforcement mode.

limits.memory.hotplug

string

Memory hotplug allowance.

limits.memory.hugepages

boolean

Huge page memory backing.

Choices:

  • false

  • true

limits.memory.oom_priority

integer

OOM killer priority compared to other instances.

limits.memory.swap

string

Instance swap.

limits.memory.swap.priority

integer

Swap usage priority compared to other instances.

limits.network.priority

integer

Network traffic priority compared to other instances.

limits.processes

integer

Maximum number of processes in the instance.

linux.kernel_modules

string

Comma-separated list of kernel modules to load.

migration.incremental.memory

boolean

Incremental memory transfer.

Choices:

  • false

  • true

migration.incremental.memory.goal

integer

Target percentage of dirty memory for completion.

migration.incremental.memory.iterations

integer

Maximum number of incremental memory transfer rounds.

migration.stateful

boolean

Allow stateful stop/start and snapshots.

Choices:

  • false

  • true

nvidia.driver.capabilities

string

NVIDIA driver capabilities to expose.

nvidia.require.cuda

string

Required CUDA version expression.

nvidia.require.driver

string

Required NVIDIA driver version expression.

nvidia.runtime

boolean

Pass NVIDIA runtime libraries into the container.

Choices:

  • false

  • true

oci.cwd

string

Working directory for OCI containers.

oci.entrypoint

string

Entrypoint override for OCI containers.

oci.gid

string

GID to run OCI container process as.

oci.uid

string

UID to run OCI container process as.

raw.apparmor

string

Raw AppArmor profile entries to append.

raw.idmap

string

Raw UID/GID mapping configuration.

raw.lxc

string

Raw LXC configuration to append.

raw.qemu

string

Raw QEMU command-line arguments to append.

raw.qemu.conf

string

Raw QEMU configuration file overrides.

raw.qemu.qmp.early

string

QMP commands to run early in QEMU startup.

raw.qemu.qmp.post-start

string

QMP commands to run after instance start.

raw.qemu.qmp.pre-start

string

QMP commands to run before instance start.

raw.qemu.scriptlet

string

Scriptlet to run during QEMU startup.

raw.seccomp

string

Raw seccomp profile to apply.

security.agent.metrics

boolean

Guest agent metrics exposure.

Choices:

  • false

  • true

security.bpffs.delegate_attachs

string

BPF attach types to delegate to the instance.

security.bpffs.delegate_cmds

string

BPF commands to delegate to the instance.

security.bpffs.delegate_maps

string

BPF map types to delegate to the instance.

security.bpffs.delegate_progs

string

BPF program types to delegate to the instance.

security.bpffs.path

string

Path at which to mount the BPF filesystem.

security.csm

boolean

Compatibility Support Module for VMs.

Choices:

  • false

  • true

security.guestapi

boolean

Guest API.

Choices:

  • false

  • true

security.guestapi.images

boolean

Guest API image access.

Choices:

  • false

  • true

security.idmap.base

integer

Base host ID for the instance UID/GID map.

security.idmap.isolated

boolean

Unique ID map isolation.

Choices:

  • false

  • true

security.idmap.size

integer

Size of the UID/GID range to allocate.

security.iommu

boolean

IOMMU.

Choices:

  • false

  • true

security.nesting

boolean

Allow running Incus inside the instance.

Choices:

  • false

  • true

security.privileged

boolean

Privileged mode.

Choices:

  • false

  • true

security.protection.delete

boolean

Deletion protection.

Choices:

  • false

  • true

security.protection.shift

boolean

UID/GID shift protection.

Choices:

  • false

  • true

security.secureboot

boolean

UEFI Secure Boot.

Choices:

  • false

  • true

security.sev

boolean

AMD SEV encryption.

Choices:

  • false

  • true

security.sev.policy.es

boolean

SEV-ES (Encrypted State).

Choices:

  • false

  • true

security.sev.session.data

string

SEV session data blob in base64.

security.sev.session.dh

string

SEV guest Diffie-Hellman key in base64.

security.syscalls.allow

string

Allowlist of syscalls to permit.

security.syscalls.deny

string

Syscalls to deny.

security.syscalls.deny_compat

boolean

Compat syscall blocking for x86 on x86_64.

Choices:

  • false

  • true

security.syscalls.deny_default

boolean

Default syscall deny list.

Choices:

  • false

  • true

security.syscalls.intercept.bpf

boolean

BPF syscall interception.

Choices:

  • false

  • true

security.syscalls.intercept.bpf.devices

boolean

Device map type allowance in intercepted BPF.

Choices:

  • false

  • true

security.syscalls.intercept.mknod

boolean

Mknod syscall interception.

Choices:

  • false

  • true

security.syscalls.intercept.mount

boolean

Mount syscall interception.

Choices:

  • false

  • true

security.syscalls.intercept.mount.allowed

string

Filesystems allowed for intercepted mount calls.

security.syscalls.intercept.mount.fuse

string

FUSE handler for intercepted mount calls.

security.syscalls.intercept.mount.shift

boolean

UID/GID shifting for intercepted mounts.

Choices:

  • false

  • true

security.syscalls.intercept.sched_setscheduler

boolean

Sched_setscheduler syscall interception.

Choices:

  • false

  • true

security.syscalls.intercept.setxattr

boolean

Setxattr syscall interception.

Choices:

  • false

  • true

security.syscalls.intercept.sysinfo

boolean

Sysinfo syscall interception.

Choices:

  • false

  • true

snapshots.expiry

string

Expiry time for automatic snapshots.

snapshots.expiry.manual

string

Expiry time for manual snapshots.

snapshots.pattern

string

Naming pattern for automatic snapshots.

snapshots.schedule

string

Cron expression for automatic snapshots.

snapshots.schedule.stopped

boolean

Stopped instance snapshots.

Choices:

  • false

  • true

description

string

Description of the profile.

devices

list / elements=dictionary

Devices to attach to the profile.

acceleration

string

Enable hardware offloading (none/sriov/vdpa).

address

string

PCI address of the device.

attached

boolean

Attached or ejected state.

Choices:

  • false

  • true

bind

string

Which side to bind on, host or instance.

boot.priority

integer

Boot priority for VMs.

busnum

integer

Bus number the USB device is connected to.

ceph.cluster_name

string

Ceph cluster name.

ceph.user_name

string

Ceph user name.

connect

string

Address and port to connect to.

connected

boolean

Host network connection state.

Choices:

  • false

  • true

dependent

boolean

Instance dependent disk.

Choices:

  • false

  • true

devnum

integer

Device number of the USB device.

firmware

boolean

Device option ROM exposure.

Choices:

  • false

  • true

gid

integer

GID of the device owner in the instance.

gputype

string

GPU type.

Choices:

  • "mdev"

  • "mig"

  • "physical"

  • "sriov"

gvrp

boolean

Register VLAN using GARP VLAN Registration Protocol.

Choices:

  • false

  • true

host_name

string

Name of the interface on the host.

hwaddr

string

MAC address of the new interface.

id

string

DRM card ID of the GPU device.

io.bus

string

Override bus for the device.

io.cache

string

Caching mode for the disk device.

ipv4.address

string

IPv4 address to assign via DHCP or static allocation.

ipv4.address.external

string

Select specific external IPv4 address.

ipv4.gateway

string

Default IPv4 gateway.

ipv4.host_address

string

IPv4 address on the host-side veth interface.

ipv4.host_table

integer

Custom policy routing table ID for IPv4 (deprecated).

ipv4.host_tables

string

Comma-separated routing table IDs for IPv4 routes.

ipv4.neighbor_probe

boolean

Parent network IP availability probe.

Choices:

  • false

  • true

ipv4.routes

string

Comma-delimited IPv4 static routes to add on the host.

ipv4.routes.external

string

Comma-delimited IPv4 routes to publish via BGP.

ipv6.address

string

IPv6 address to assign via DHCP or static allocation.

ipv6.address.external

string

Select specific external IPv6 address.

ipv6.gateway

string

Default IPv6 gateway.

ipv6.host_address

string

IPv6 address on the host-side veth interface.

ipv6.host_table

integer

Custom policy routing table ID for IPv6 (deprecated).

ipv6.host_tables

string

Comma-separated routing table IDs for IPv6 routes.

ipv6.neighbor_probe

boolean

Parent network IP availability probe.

Choices:

  • false

  • true

ipv6.routes

string

Comma-delimited IPv6 static routes to add on the host.

ipv6.routes.external

string

Comma-delimited IPv6 routes to publish via BGP.

limits.egress

string

Outgoing traffic I/O limit in bit/s.

limits.ingress

string

Incoming traffic I/O limit in bit/s.

limits.max

string

I/O limit in byte/s or IOPS (disk), or combined traffic limit in bit/s (nic).

limits.priority

integer

Outgoing traffic priority for queuing.

limits.read

string

I/O limit in byte/s or IOPS for read operations.

limits.write

string

I/O limit in byte/s or IOPS for write operations.

listen

string

Address and port to bind and listen on.

major

integer

Device major number.

mdev

string

Mediated device profile to use.

mig.ci

integer

Existing MIG compute instance ID.

mig.gi

integer

Existing MIG GPU instance ID.

mig.uuid

string

Existing MIG device UUID.

minor

integer

Device minor number.

mode

string

NIC mode or device permission mode.

mtu

string

Maximum transmission unit of the new interface.

name

string / required

Name of the device.

nat

boolean

NAT-based proxying.

Choices:

  • false

  • true

nested

string

Parent NIC name to nest this OVN NIC under.

network

string

Managed network to attach the NIC to.

nictype

string

NIC type when not using a managed network.

parent

string

Parent host device name.

path

string

Path inside the instance.

pathrm

string

Resource manager path inside the instance.

pci

string

PCI address of the parent host device.

pool

string

Storage pool for the disk device.

productid

string

Product ID of the parent host device.

propagation

string

Controls how a bind-mount is shared between instance and host.

proxy_protocol

boolean

HAProxy PROXY protocol for sender information.

Choices:

  • false

  • true

queue.tx.length

integer

Transmit queue length for the NIC.

raw.mount.options

string

File system specific mount options.

readonly

boolean

Read-only mount.

Choices:

  • false

  • true

recursive

boolean

Recursive source mount.

Choices:

  • false

  • true

required

boolean

Source existence requirement.

Choices:

  • false

  • true

security.acls

string

Comma-separated list of network ACLs to apply.

security.acls.default.egress.action

string

Default action for egress traffic not matching any ACL rule.

security.acls.default.egress.logged

boolean

Unmatched egress traffic logging.

Choices:

  • false

  • true

security.acls.default.ingress.action

string

Default action for ingress traffic not matching any ACL rule.

security.acls.default.ingress.logged

boolean

Unmatched ingress traffic logging.

Choices:

  • false

  • true

security.gid

integer

GID to drop privilege to.

security.ipv4_filtering

boolean

IPv4 address spoofing prevention.

Choices:

  • false

  • true

security.ipv6_filtering

boolean

IPv6 address spoofing prevention.

Choices:

  • false

  • true

security.mac_filtering

boolean

MAC address spoofing prevention.

Choices:

  • false

  • true

security.port_isolation

boolean

NIC port isolation.

Choices:

  • false

  • true

security.promiscuous

boolean

Promiscuous mode for unknown traffic.

Choices:

  • false

  • true

security.trusted

boolean

Trusted NIC configuration.

Choices:

  • false

  • true

security.uid

integer

UID to drop privilege to.

serial

string

Serial number of the USB device.

shift

boolean

UID/GID shifting overlay.

Choices:

  • false

  • true

size

string

Disk size limit.

size.state

string

Size for the VM runtime state file system.

source

string

Source of a file system, block device, or host device path.

type

string / required

Type of the device.

Choices:

  • "disk"

  • "nic"

  • "none"

  • "tpm"

  • "unix-block"

  • "unix-char"

  • "unix-hotplug"

  • "usb"

  • "gpu"

  • "infiniband"

  • "pci"

  • "proxy"

uid

integer

UID of the device owner in the instance.

vendorid

string

Vendor ID of the parent host device.

vlan

integer

VLAN ID to attach to.

vlan.tagged

string

Comma-separated VLAN IDs or ranges for tagged traffic.

vrf

string

VRF name on the host for the host-side interface and routes.

wwn

boolean

World Wide Name assignment.

Choices:

  • false

  • true

name

string / required

Name of the profile.

project

string

Incus project to scope this profile to.

state

string

Desired state of the profile.

Choices:

  • "present"

  • "absent"

incus_profiles_client_cert

string

Client certificate content for API authentication.

incus_profiles_client_cert_path

path

TLS client certificate path for API authentication.

incus_profiles_client_key

string

Client key content for API authentication.

incus_profiles_client_key_path

path

TLS client key path for API authentication.

incus_profiles_project

string

Incus project to scope profiles to.

incus_profiles_server_cert

string

Server certificate content for API verification.

incus_profiles_server_cert_path

path

TLS server certificate path for API verification.

incus_profiles_socket_path

path

Incus Unix socket path.

incus_profiles_state

string

Desired state of the profiles.

Choices:

  • "present"

  • "absent"

incus_profiles_token

string

Authentication token for the Incus API.

incus_profiles_url

string

URL of the Incus server API.

incus_profiles_validate_certs

boolean

TLS certificate validation.

Choices:

  • false

  • true

Examples

- name: Ensure incus profiles
  hosts: incus
  tasks:
    - name: Ensure incus profiles
      ansible.builtin.import_role:
        name: damex.incus.incus_profiles
      vars:
        incus_profiles:
          - name: default
            config:
              security.nesting: "true"
            devices:
              - name: root
                type: disk
                pool: local
                path: /
              - name: eth0
                type: nic
                network: incusbr0