Server IP : 85.214.239.14 / Your IP : 3.139.235.100 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/ansible_collections/openstack/cloud/plugins/modules/ |
Upload File : |
#!/usr/bin/python # Copyright (c) 2015 Hewlett-Packard Development Company, L.P. # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) DOCUMENTATION = ''' --- module: config short_description: Get OpenStack Client config description: - Get I(openstack) client config data from clouds.yaml or environment 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: [] type: list elements: str requirements: - "python >= 3.6" - "openstacksdk" author: OpenStack Ansible SIG ''' EXAMPLES = ''' - name: Get list of clouds that do not support security groups openstack.cloud.config: - debug: var: "{{ item }}" with_items: "{{ openstack.clouds | rejectattr('secgroup_source', 'none') | list }}" - name: Get the information back just about the mordred cloud openstack.cloud.config: clouds: - mordred ''' try: import openstack.config from openstack import exceptions HAS_OPENSTACKSDK = True except ImportError: HAS_OPENSTACKSDK = False from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule(argument_spec=dict( clouds=dict(required=False, type='list', default=[], elements='str'), )) if not HAS_OPENSTACKSDK: module.fail_json(msg='openstacksdk is required for this module') p = module.params try: config = openstack.config.OpenStackConfig() clouds = [] for cloud in config.get_all_clouds(): if not p['clouds'] or cloud.name in p['clouds']: cloud.config['name'] = cloud.name clouds.append(cloud.config) module.exit_json(ansible_facts=dict(openstack=dict(clouds=clouds))) except exceptions.ConfigException as e: module.fail_json(msg=str(e)) if __name__ == "__main__": main()