community.general.virtualbox – virtualbox inventory source

From Get docs
Ansible/docs/2.10/collections/community/general/virtualbox inventory


community.general.virtualbox – virtualbox inventory source

Note

This plugin is part of the community.general collection (version 1.3.2).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.virtualbox.


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

  • no

  • yes

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

string

ini entries: [defaults]fact_caching_connection = None

[inventory]cache_connection = None


env:ANSIBLE_CACHE_PLUGIN_CONNECTION

env:ANSIBLE_INVENTORY_CACHE_CONNECTION

Cache connection data or path, read cache plugin documentation for specifics.

cache_plugin

string

Default:

"memory"

ini entries: [defaults]fact_caching = memory

[inventory]cache_plugin = memory


env:ANSIBLE_CACHE_PLUGIN

env:ANSIBLE_INVENTORY_CACHE_PLUGIN

Cache plugin to use for the inventory's source data.

cache_prefix

string

Default:

"ansible_inventory_"

ini entries: [default]fact_caching_prefix = ansible_inventory_

[inventory]cache_prefix = ansible_inventory_


env:ANSIBLE_CACHE_PLUGIN_PREFIX

env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

Prefix to use for cache plugin files/tables

cache_timeout

integer

Default:

3600

ini entries: [defaults]fact_caching_timeout = 3600

[inventory]cache_timeout = 3600


env:ANSIBLE_CACHE_PLUGIN_TIMEOUT

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 / elements=string

Default:

[]

Add hosts to group based on the values of a variable.

network_info_path

string

Default:

"/VirtualBox/GuestInfo/Net/0/V4/IP"

property path to query for network information (ansible_host)

plugin

string / required

  • virtualbox
  • community.general.virtualbox

token that ensures this is a source file for the 'virtualbox' plugin

query

dictionary

Default:

{}

create vars from virtualbox properties

running_only

boolean

  • no

  • yes

toggles showing all vms vs only those currently running

settings_password_file

string

provide a file containing the settings password (equivalent to --settingspwfile)

strict

boolean

  • 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

# file must be named vbox.yaml or vbox.yml
simple_config_file:
    plugin: community.general.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')

# add hosts (all match with minishift vm) to the group container if any of the vms are in ansible_inventory'
plugin: community.general.virtualbox
groups:
  container: "'minis' in (inventory_hostname)"

Authors

  • Unknown (!UNKNOWN)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/virtualbox_inventory.html