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'
# excludes hosts in the eastus region - location in ['east']