virtualbox – virtualbox inventory source

Synopsis

  • Get inventory hosts from the local virtualbox installation.
  • Uses a YAML configuration file that ends with virtualbox.(yml|yaml) or vbox.(yml|yaml).
  • The inventory_hostname is always the ‘Name’ of the virtualbox instance.

Parameters

Parameter Choices/Defaults Configuration Comments
cache
boolean
Default:
"no"
ini entries:

[inventory]
cache = no

env:ANSIBLE_INVENTORY_CACHE
Toggle to enable/disable the caching of the inventory's source data, requires a cache plugin setup to work.
cache_connection
-
ini entries:

[inventory]
cache_connection = VALUE

env:ANSIBLE_INVENTORY_CACHE_CONNECTION
Cache connection data or path, read cache plugin documentation for specifics.
cache_plugin
-
ini entries:

[inventory]
cache_plugin = VALUE

env:ANSIBLE_INVENTORY_CACHE_PLUGIN
Cache plugin to use for the inventory's source data.
cache_timeout
integer
Default:
3600
ini entries:

[inventory]
cache_timeout = 3600

env:ANSIBLE_INVENTORY_CACHE_TIMEOUT
Cache duration in seconds
compose
dictionary
Default:
{}
create vars from jinja2 expressions
groups
dictionary
Default:
{}
add hosts to group based on Jinja2 conditionals
keyed_groups
list
Default:
[]
add hosts to group based on the values of a variable
network_info_path
-
Default:
"/VirtualBox/GuestInfo/Net/0/V4/IP"
property path to query for network information (ansible_host)
plugin
- / required
    Choices:
  • virtualbox
token that ensures this is a source file for the 'virtualbox' plugin
query
dictionary
Default:
{}
create vars from virtualbox properties
running_only
boolean
Default:
"no"
toggles showing all vms vs only those currently running
settings_password_file
-
provide a file containing the settings password (equivalent to --settingspwfile)
strict
boolean
Default:
"no"
If true 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

# file must be named vbox.yaml or vbox.yml
simple_config_file:
    plugin: virtualbox
    settings_password_file: /etc/virtulbox/secrets
    query:
      logged_in_users: /VirtualBox/GuestInfo/OS/LoggedInUsersList
    compose:
      ansible_connection: ('indows' in vbox_Guest_OS)|ternary('winrm', 'ssh')

Status

Authors

  • UNKNOWN

Hint

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