community.general.lxd inventory – Returns Ansible inventory from lxd host
Note
This inventory plugin is part of the community.general collection (version 4.8.3).
You might already have this collection installed if you are using the ansible
package.
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
.
To use it in a playbook, specify: community.general.lxd
.
New in version 3.0.0: of community.general
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: “$HOME/.config/lxc/client.crt” |
|
The client certificate key file path. Default: “$HOME/.config/lxc/client.key” |
|
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 prefered by family. Specify Choices:
|
|
If an instance has multiple network interfaces, select which one is the prefered as pattern. Combined with the first number that can be found e.g. ‘eth’ + 0. The option has been renamed from prefered_container_network_interface to prefered_instance_network_interface in community.general 3.8.0. The old name still works as an alias. Default: “eth” |
|
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 trust_password is set, this module send a request for authentication before sending any requests. |
|
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: “unix:/var/snap/lxd/common/lxd/unix.socket” |
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
Authors
Frank Dornheim (@conloos)
Hint
Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication