ansible/contrib
Monty Taylor 4848652c7a Add a module_utils OpenStack Cloud constructor (#20974)
Start using this to construct shade OpenStack Cloud objects in a
consistent manner. This will let us centralize things like dealing with
password arguments and whatnot. It also allows us to introduce the
ability to pass a fully formed config dict directly to the module.

Migrate all OpenStack modules to use openstack_cloud_from_module.

Have it return the shade library since it's responsible for
importing shade and shade is needed for the exceptions.

Only pull specific OpenStack arguments for the constructor

Rather than passing **module.params to the shade constructor, pull out
only the values that make sense. This should prevent the issues with
module parameters stepping on shade parameters.

Replace module.params.pop with module.params.get

We don't need to pop these anymore since the shade constructor is now
using opt-in values.

Using real urls is ungood. Use example.com domains. Also, get rid of the
antiquated port numbers.

(cherry picked from commit 0f893027c4)
2018-02-15 17:59:05 +01:00
..
inventory Add a module_utils OpenStack Cloud constructor (#20974) 2018-02-15 17:59:05 +01:00
vault Python 2.6 str.format() compatibility fixes. 2018-01-10 14:08:11 -08:00
README.md updated readme with vault and 2.4 inv plugins (#26361) 2017-07-24 16:37:59 -04:00

contrib

Files here provide an extension mechanism for Ansible similar to plugins. They are not maintained by the Ansible core team or installed with Ansible.

inventory

Before 2.4 introduced inventory plugins, inventory scripts were the only way to provide sources that were not built into Ansible. Inventory scripts allow you to store your hosts, groups, and variables in any way you like.

Starting with Ansible version 2.4, they are enabled via the 'script' inventory plugin. Examples of use include discovering inventory from EC2 or pulling it from Cobbler. These could also be used to interface with LDAP or the database.

chmod +x an inventory plugin and either name it /etc/ansible/hosts or use ansible -i /path/to/inventory/script. You might also need to copy a configuration file with the same name and/or set environment variables. The scripts or configuration files can provide more details.

vault

If the file passed to --vault-password-file has the executable bit set, Ansible will execute it and use the stdout of that execution as 'the secret'. Vault scripts provided here use this facility to retrieve the vault secret from a number of sources.

contributions welcome

Send in pull requests to add scripts of your own. The sky is the limit!