# vultr – Vultr inventory source

New in version 2.7.

- Synopsis
- Parameters
- Examples
- Status

## Synopsis

- Get inventory hosts from Vultr public cloud.
- Uses an YAML configuration file ending with either vultr.yml or vultr.yaml to set parameter values (also see examples).
- Uses api_config, ~/.vultr.ini, ./vultr.ini or `VULTR_API_CONFIG` pointing to a Vultr credentials INI file (see https://docs.ansible.com/ansible/latest/scenario_guides/guide_vultr.html).

## Parameters

Parameter | Choices/Defaults | Configuration | Comments
--- | --- | --- | ---
api_account string | Default: "default" |  | Specify the account to be used.
api_config path |  | env:VULTR_API_CONFIG | Path to the vultr configuration file. If not specified will be taken from regular Vultr configuration.
api_key string |  | env:VULTR_API_KEY | Vultr API key. If not specified will be taken from regular Vultr configuration.
compose dictionary added in 2.8 | Default: {} |  | Create vars from jinja2 expressions.
filter_by_tag string added in 2.8 |  |  | Only return servers filtered by this tag
groups dictionary added in 2.8 | Default: {} |  | Add hosts to group based on Jinja2 conditionals.

hostname
string

Choices:
- v4_main_ip ←
- v6_main_ip
- name

Field to match the hostname. Note v4_main_ip corresponds to the main_ip field returned from the API and name to label.

keyed_groups list added in 2.8 | Default: [] |  | Add hosts to group based on the values of a variable.

plugin
string / required

Choices:
- vultr

Token that ensures this is a source file for the 'vultr' plugin.

strict
boolean
added in 2.8

Choices:
- no ←
- yes

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.

## Examples

    # inventory_vultr.yml file in YAML format
    # Example command line: ansible-inventory --list -i inventory_vultr.yml

    # Group by a region as lower case and with prefix e.g. "vultr_region_amsterdam" and by OS without prefix e.g. "CentOS_7_x64"
    plugin: vultr
    keyed_groups:
      - prefix: vultr_region
        key: region | lower
      - separator: ""
        key: os

    # Pass a tag filter to the API
    plugin: vultr
    filter_by_tag: Cache

## Status

- This inventory is not guaranteed to have a backwards compatible interface. [preview]
- This inventory is maintained by the Ansible Community. [community]

### Authors

- Yanis Guenane (@Spredzy)
- René Moser (@resmo)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.

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.