Migrating subnets_info from AnsibleModule to OpenStackModule

Updated module, added "deprecated_names", Removed "ansible-deprecated-no-collection-name" for subnets_info for ansible 2.10, 2.11

Change-Id: I5590976964543188518200f2b31a1603eb30f39b
This commit is contained in:
anbanerj 2020-11-23 14:56:06 +01:00
parent d36ac1f125
commit d5c403cded
3 changed files with 18 additions and 22 deletions

View File

@ -129,34 +129,32 @@ openstack_subnets:
elements: dict elements: dict
''' '''
from ansible.module_utils.basic import AnsibleModule from ansible_collections.openstack.cloud.plugins.module_utils.openstack import OpenStackModule
from ansible_collections.openstack.cloud.plugins.module_utils.openstack import openstack_full_argument_spec, openstack_cloud_from_module
def main(): class SubnetInfoModule(OpenStackModule):
argument_spec = openstack_full_argument_spec( deprecated_names = ('subnets_facts', 'openstack.cloud.subnets_facts')
argument_spec = dict(
name=dict(required=False, default=None, aliases=['subnet']), name=dict(required=False, default=None, aliases=['subnet']),
filters=dict(required=False, type='dict', default=None) filters=dict(required=False, type='dict', default=None)
) )
module = AnsibleModule(argument_spec)
is_old_facts = module._name == 'openstack.cloud.subnets_facts'
if is_old_facts:
module.deprecate("The 'openstack.cloud.subnets_facts' module has been renamed to 'openstack.cloud.subnets_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
sdk, cloud = openstack_cloud_from_module(module) def run(self):
try: kwargs = self.check_versioned(
subnets = cloud.search_subnets(module.params['name'], filters=self.params['filters']
module.params['filters']) )
if is_old_facts: if self.params['name']:
module.exit_json(changed=False, ansible_facts=dict( kwargs['name_or_id'] = self.params['name']
openstack_subnets=subnets)) subnets = self.conn.search_subnets(**kwargs)
else:
module.exit_json(changed=False, openstack_subnets=subnets)
except sdk.exceptions.OpenStackCloudException as e: self.exit(changed=False, openstack_subnets=subnets)
module.fail_json(msg=str(e))
def main():
module = SubnetInfoModule()
module()
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -4,5 +4,4 @@ plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-na
plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name
plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name
plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name
plugins/modules/subnets_info.py pylint:ansible-deprecated-no-collection-name
plugins/module_utils/openstack.py pylint:ansible-deprecated-no-collection-name plugins/module_utils/openstack.py pylint:ansible-deprecated-no-collection-name

View File

@ -4,5 +4,4 @@ plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-na
plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name
plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name
plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name
plugins/modules/subnets_info.py pylint:ansible-deprecated-no-collection-name
plugins/module_utils/openstack.py pylint:ansible-deprecated-no-collection-name plugins/module_utils/openstack.py pylint:ansible-deprecated-no-collection-name