community.general.lxd inventory – Returns Ansible inventory from lxd host
Note
This inventory plugin is part of the community.general collection (version 9.4.0).
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 community.general
.
You need further requirements to be able to use this inventory plugin,
see Requirements for details.
To use it in a playbook, specify: community.general.lxd
.
New in community.general 3.0.0
Synopsis
Get inventory from the lxd.
Uses a YAML configuration file that ends with ‘lxd.(yml|yaml)’.
Requirements
The below requirements are needed on the local controller node that executes this inventory.
ipaddress
lxd >= 4.0
Parameters
Parameter |
Comments |
---|---|
The client certificate file path. Default: |
|
The client certificate key file path. Default: |
|
Create groups by the following keywords See example for syntax. |
|
Token that ensures this is a source file for the ‘lxd’ plugin. Choices:
|
|
If an instance has multiple network interfaces, which one is the preferred by family. Specify Choices:
|
|
If an instance has multiple network interfaces, select which one is the preferred as pattern. Combined with the first number that can be found e.g. ‘eth’ + 0. The option has been renamed from Default: |
|
Filter the instance according to the given project. Default: |
|
The server certificate file path. |
|
This option controls if the server’s hostname is checked as part of the HTTPS connection verification. This can be useful to disable, if for example, the server certificate provided (see Choices:
|
|
Filter the instance according to the current status. Choices:
|
|
The client trusted password. You need to set this password on the lxd server before running this module using the following command If |
|
Filter the instances by type The first version of the inventory only supported containers. Choices:
|
|
The unix domain socket path or the https URL for the lxd server. Sockets in filesystem have to start with Mostly Default: |
Examples
# simple lxd.yml
plugin: community.general.lxd
url: unix:/var/snap/lxd/common/lxd/unix.socket
# simple lxd.yml including filter
plugin: community.general.lxd
url: unix:/var/snap/lxd/common/lxd/unix.socket
state: RUNNING
# simple lxd.yml including virtual machines and containers
plugin: community.general.lxd
url: unix:/var/snap/lxd/common/lxd/unix.socket
type_filter: both
# grouping lxd.yml
groupby:
locationBerlin:
type: location
attribute: Berlin
netRangeIPv4:
type: network_range
attribute: 10.98.143.0/24
netRangeIPv6:
type: network_range
attribute: fd42:bd00:7b11:2167:216:3eff::/24
osUbuntu:
type: os
attribute: ubuntu
testpattern:
type: pattern
attribute: test
profileDefault:
type: profile
attribute: default
profileX11:
type: profile
attribute: x11
releaseFocal:
type: release
attribute: focal
releaseBionic:
type: release
attribute: bionic
typeVM:
type: type
attribute: virtual-machine
typeContainer:
type: type
attribute: container
vlan666:
type: vlanid
attribute: 666
projectInternals:
type: project
attribute: internals