diff options
author | Toshio Kuratomi <a.badger@gmail.com> | 2015-07-01 08:07:37 -0700 |
---|---|---|
committer | Toshio Kuratomi <a.badger@gmail.com> | 2015-07-01 08:07:37 -0700 |
commit | 968386cba3bd027d2b75586a106d15f363b82607 (patch) | |
tree | 1b9214af5d0d11ce8bc75919ee9ab9a11c54f97f | |
parent | 2b209f80659ccf3bd81854a3beac1b429557c09d (diff) | |
parent | 7b0b75ceedf526826ebf591709afea4c8fdde7bb (diff) | |
download | ansible-modules-core-968386cba3bd027d2b75586a106d15f363b82607.tar.gz |
Merge pull request #1631 from emonty/features/single-cloud-details
Add filter ability to OpenStack os-client-config module
-rw-r--r-- | cloud/openstack/os_client_config.py | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/cloud/openstack/os_client_config.py b/cloud/openstack/os_client_config.py index 100608b0..2c4af5c8 100644 --- a/cloud/openstack/os_client_config.py +++ b/cloud/openstack/os_client_config.py @@ -25,6 +25,15 @@ short_description: Get OpenStack Client config description: - Get I(openstack) client config data from clouds.yaml or environment version_added: "2.0" +notes: + - Facts are placed in the C(openstack.clouds) variable. +options: + clouds: + description: + - List of clouds to limit the return list to. No value means return + information on all configured clouds + required: false + default: [] requirements: [ os-client-config ] author: "Monty Taylor (@emonty)" ''' @@ -34,19 +43,27 @@ EXAMPLES = ''' - os-client-config: - debug: var={{ item }} with_items: "{{ openstack.clouds|rejectattr('secgroup_source', 'none')|list() }}" + +# Get the information back just about the mordred cloud +- os-client-config: + clouds: + - mordred ''' def main(): - module = AnsibleModule({}) + module = AnsibleModule(argument_spec=dict( + clouds=dict(required=False, default=[]), + )) p = module.params try: config = os_client_config.OpenStackConfig() clouds = [] for cloud in config.get_all_clouds(): - cloud.config['name'] = cloud.name - clouds.append(cloud.config) + if not module.params['clouds'] or cloud.name in module.param['clouds']: + cloud.config['name'] = cloud.name + clouds.append(cloud.config) module.exit_json(ansible_facts=dict(openstack=dict(clouds=clouds))) except exceptions.OpenStackConfigException as e: module.fail_json(msg=str(e)) |