On this page
ngine_io.vultr.vultr – Vultr inventory source
Note
This plugin is part of the ngine_io.vultr collection (version 1.1.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 ngine_io.vultr.
To use it in a playbook, specify: ngine_io.vultr.vultr.
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_CONFIGpointing 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
         | 
      Default: 
        {}
         | 
      
        
        Create vars from jinja2 expressions.
         | 
     |
| filter_by_tag
        
        string
         | 
      
        
        Only return servers filtered by this tag
         | 
     ||
| groups
        
        dictionary
         | 
      Default: 
        {}
         | 
      
        
        Add hosts to group based on Jinja2 conditionals.
         | 
     |
| hostname
        
        string
         | 
      
       
  | 
      
        
        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 / elements=string
         | 
      Default: 
        []
         | 
      
        
        Add hosts to group based on the values of a variable.
         | 
     |
| leading_separator
        
        boolean
        
       
        added in 2.11 of ansible.builtin
         | 
      
       
  | 
      
        
        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.
         | 
     |
| plugin
        
        string / required
         | 
      
       
  | 
      
        
        Token that ensures this is a source file for the 'vultr' plugin.
         | 
     |
| 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.
         | 
     |
| use_extra_vars
        
        boolean
        
       
        added in 2.11 of ansible.builtin
         | 
      
       
  | 
      
        
        ini entries: 
         
       [inventory_plugins] 
        env:ANSIBLE_INVENTORY_USE_EXTRA_VARS
         | 
      
        
        Merge extra vars into the available variables for composition (highest precedence).
         | 
     
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
  Authors
- Yanis Guenane (@Spredzy)
 - René Moser (@resmo)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/ngine_io/vultr/vultr_inventory.html