Continuing the ARM inventory plugin post. Follow below some useful settings to help you to generate a good dynamic inventory.
Working with group conditional
conditional_groups:
# since this will be true for every host, every host sourced from this inventory plugin config will be in the
# group 'all'
all: true
# if the VM's "name" variable contains "test", it will be placed in the 'test' group.
test: "'test' in name"
# if the VM's "name" variable contains "dev", it will be placed in the 'preprod' group.
preprod: "'preprod' in name"
# if the VM's "name" variable contains "prod", it will be placed in the 'prod' group.
prod: "'prod' in name"
Working with tag conditional
# places hosts in dynamically-created groups based on a variable value.
keyed_groups:
# places each host in a group named 'tag_(tag name)_(tag value)' for each tag on a VM.
- prefix: "azure_loc"
key: "location"
- prefix: "flavor"
key: tags.flavor | default('none')
Fetches VMs from an explicit list of resource groups instead of default all
include_vm_resource_groups:
- myrg1
- myrg2
Disabling instances in shutoff state.
# excludes hosts that are powered off
- powerstate != 'running'
Excluding hosts
# excludes hosts in the eastus region
- location in ['east']