cloudscale_ch.cloud.inventory inventory – cloudscale.ch inventory source
Note
This inventory plugin is part of the cloudscale_ch.cloud collection (version 2.4.0).
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 cloudscale_ch.cloud
.
To use it in a playbook, specify: cloudscale_ch.cloud.inventory
.
Synopsis
Get inventory hosts from cloudscale.ch API
Uses an YAML configuration file ending with either cloudscale.yml or cloudscale.yaml to set parameter values (also see examples).
Aliases: cloudscale
Parameters
Parameter |
Comments |
---|---|
Which IP address to register as the ansible_host. If the requested value does not exist or this is set to ‘none’, no ansible_host will be set. Choices:
|
|
cloudscale.ch API token. This can also be passed in the |
|
Create vars from jinja2 expressions. Default: |
|
Add hosts to group based on Jinja2 conditionals. Default: |
|
What to register as the inventory hostname. If set to ‘uuid’ the uuid of the server will be used and a group will be created for the server name. If set to ‘name’ the name of the server will be used unless there are more than one server with the same name in which case the ‘uuid’ logic will be used. Choices:
|
|
Add hosts to group based on the values of a variable. Default: |
|
The default value when the host variable’s value is an empty string. This option is mutually exclusive with |
|
The key from input dictionary used to generate groups. |
|
parent group for keyed group. |
|
A keyed group name will start with this prefix. Default: |
|
separator used to build the keyed group name. Default: |
|
Set this option to This option is mutually exclusive with Choices:
|
|
Use in conjunction with 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 Set this option to 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:
|
|
Token that ensures this is a source file for the ‘cloudscale’ plugin. Choices:
|
|
If Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. Choices:
|
|
Merge extra vars into the available variables for composition (highest precedence). Choices:
Configuration:
|
Examples
# cloudscale.yml name ending file in YAML format
# Example command line: ansible-inventory --list -i inventory_cloudscale.yml
plugin: cloudscale_ch.cloud.inventory
# Example grouping by tag key "project"
plugin: cloudscale_ch.cloud.inventory
keyed_groups:
- prefix: project
key: cloudscale.tags.project
# Example grouping by key "operating_system" lowercased and prefixed with "os"
plugin: cloudscale_ch.cloud.inventory
keyed_groups:
- prefix: os
key: cloudscale.image.operating_system | lower