community.general.virtualbox – virtualbox inventory source
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 |
|
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 |
|
token that ensures this is a source file for the 'virtualbox' plugin | |
query dictionary |
Default: {} |
create vars from virtualbox properties | |
running_only boolean |
|
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 |
|
If 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