community.general.xen_orchestra inventory – Xen Orchestra inventory source

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

New in community.general 4.1.0

Synopsis

  • Get inventory hosts from a Xen Orchestra deployment.

  • Uses a configuration file as an inventory source, it must end in .xen_orchestra.yml or .xen_orchestra.yaml.

Requirements

The below requirements are needed on the local controller node that executes this inventory.

  • websocket-client >= 1.0.0

Parameters

Parameter

Comments

api_host

string

API host to XOA API.

If the value is not specified in the inventory configuration, the value of environment variable ANSIBLE_XO_HOST will be used instead.

Configuration:

cache

boolean

Toggle to enable/disable the caching of the inventory’s source data, requires a cache plugin setup to work.

Choices:

  • false ← (default)

  • true

Configuration:

cache_connection

string

Cache connection data or path, read cache plugin documentation for specifics.

Configuration:

cache_plugin

string

Cache plugin to use for the inventory’s source data.

Default: "memory"

Configuration:

cache_prefix

string

Prefix to use for cache plugin files/tables.

Default: "ansible_inventory_"

Configuration:

cache_timeout

integer

Cache duration in seconds.

Default: 3600

Configuration:

compose

dictionary

Create vars from jinja2 expressions.

Default: {}

groups

dictionary

Add hosts to group based on Jinja2 conditionals.

Default: {}

keyed_groups

list / elements=dictionary

Add hosts to group based on the values of a variable.

Default: []

default_value

string

added in ansible-core 2.12

The default value when the host variable’s value is an empty string.

This option is mutually exclusive with keyed_groups[].trailing_separator.

key

string

The key from input dictionary used to generate groups.

parent_group

string

parent group for keyed group.

prefix

string

A keyed group name will start with this prefix.

Default: ""

separator

string

separator used to build the keyed group name.

Default: "_"

trailing_separator

boolean

added in ansible-core 2.12

Set this option to false to omit the keyed_groups[].separator after the host variable when the value is an empty string.

This option is mutually exclusive with keyed_groups[].default_value.

Choices:

  • false

  • true ← (default)

leading_separator

boolean

added in ansible-core 2.11

Use in conjunction with keyed_groups.

By default, a keyed group that does not have a prefix or a separator provided will have a name that starts with an underscore.

This is because the default prefix is "" and the default separator is "_".

Set this option to false to omit the leading underscore (or other separator) if no prefix is given.

If the group name is derived from a mapping the separator is still used to concatenate the items.

To not use a separator in the group name at all, set the separator for the keyed group to an empty string instead.

Choices:

  • false

  • true ← (default)

password

string / required

Xen Orchestra password.

If the value is not specified in the inventory configuration, the value of environment variable ANSIBLE_XO_PASSWORD will be used instead.

Configuration:

plugin

string / required

The name of this plugin, it should always be set to community.general.xen_orchestra for this plugin to recognize it as its own.

Choices:

  • "community.general.xen_orchestra"

strict

boolean

If yes make invalid entries a fatal error, otherwise skip and continue.

Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default.

Choices:

  • false ← (default)

  • true

use_extra_vars

boolean

added in ansible-core 2.11

Merge extra vars into the available variables for composition (highest precedence).

Choices:

  • false ← (default)

  • true

Configuration:

use_ssl

boolean

Use wss when connecting to the Xen Orchestra API

Choices:

  • false

  • true ← (default)

user

string / required

Xen Orchestra user.

If the value is not specified in the inventory configuration, the value of environment variable ANSIBLE_XO_USER will be used instead.

Configuration:

validate_certs

boolean

Verify TLS certificate if using HTTPS.

Choices:

  • false

  • true ← (default)

Examples

# file must be named xen_orchestra.yaml or xen_orchestra.yml
plugin: community.general.xen_orchestra
api_host: 192.168.1.255
user: xo
password: xo_pwd
validate_certs: true
use_ssl: true
groups:
    kube_nodes: "'kube_node' in tags"
compose:
    ansible_port: 2222

Authors

  • Dom Del Nano (@ddelnano)

  • Samori Gorse (@shinuza)

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.