mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-07 08:54:01 -07:00
cloudstack: cs_router: use query_api, remove CloudStackException dependency
This commit is contained in:
parent
3c99315bdd
commit
1a27546039
1 changed files with 14 additions and 31 deletions
|
@ -175,7 +175,6 @@ account:
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.cloudstack import (
|
from ansible.module_utils.cloudstack import (
|
||||||
AnsibleCloudStack,
|
AnsibleCloudStack,
|
||||||
CloudStackException,
|
|
||||||
cs_argument_spec,
|
cs_argument_spec,
|
||||||
cs_required_together,
|
cs_required_together,
|
||||||
)
|
)
|
||||||
|
@ -203,7 +202,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
'issystem': True
|
'issystem': True
|
||||||
}
|
}
|
||||||
|
|
||||||
service_offerings = self.cs.listServiceOfferings(**args)
|
service_offerings = self.query_api('listServiceOfferings', **args)
|
||||||
if service_offerings:
|
if service_offerings:
|
||||||
for s in service_offerings['serviceoffering']:
|
for s in service_offerings['serviceoffering']:
|
||||||
if service_offering in [s['name'], s['id']]:
|
if service_offering in [s['name'], s['id']]:
|
||||||
|
@ -224,7 +223,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
if self.module.params.get('zone'):
|
if self.module.params.get('zone'):
|
||||||
args['zoneid'] = self.get_zone(key='id')
|
args['zoneid'] = self.get_zone(key='id')
|
||||||
|
|
||||||
routers = self.cs.listRouters(**args)
|
routers = self.query_api('listRouters', **args)
|
||||||
if routers:
|
if routers:
|
||||||
for r in routers['router']:
|
for r in routers['router']:
|
||||||
if router.lower() in [r['name'].lower(), r['id']]:
|
if router.lower() in [r['name'].lower(), r['id']]:
|
||||||
|
@ -245,9 +244,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
}
|
}
|
||||||
|
|
||||||
if not self.module.check_mode:
|
if not self.module.check_mode:
|
||||||
res = self.cs.startRouter(**args)
|
res = self.query_api('startRouter', **args)
|
||||||
if 'errortext' in res:
|
|
||||||
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
|
|
||||||
|
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
|
@ -267,9 +264,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
}
|
}
|
||||||
|
|
||||||
if not self.module.check_mode:
|
if not self.module.check_mode:
|
||||||
res = self.cs.stopRouter(**args)
|
res = self.query_api('stopRouter', **args)
|
||||||
if 'errortext' in res:
|
|
||||||
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
|
|
||||||
|
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
|
@ -288,9 +283,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
}
|
}
|
||||||
|
|
||||||
if not self.module.check_mode:
|
if not self.module.check_mode:
|
||||||
res = self.cs.rebootRouter(**args)
|
res = self.query_api('rebootRouter', **args)
|
||||||
if 'errortext' in res:
|
|
||||||
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
|
|
||||||
|
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
|
@ -307,10 +300,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
}
|
}
|
||||||
|
|
||||||
if not self.module.check_mode:
|
if not self.module.check_mode:
|
||||||
res = self.cs.destroyRouter(**args)
|
res = self.query_api('destroyRouter', **args)
|
||||||
|
|
||||||
if 'errortext' in res:
|
|
||||||
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
|
|
||||||
|
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
|
@ -336,10 +326,7 @@ class AnsibleCloudStackRouter(AnsibleCloudStack):
|
||||||
current_state = router['state'].lower()
|
current_state = router['state'].lower()
|
||||||
|
|
||||||
self.stop_router()
|
self.stop_router()
|
||||||
router = self.cs.changeServiceForRouter(**args)
|
router = self.query_api('changeServiceForRouter', **args)
|
||||||
|
|
||||||
if 'errortext' in router:
|
|
||||||
self.module.fail_json(msg="Failed: '%s'" % router['errortext'])
|
|
||||||
|
|
||||||
if state in ['restarted', 'started']:
|
if state in ['restarted', 'started']:
|
||||||
router = self.start_router()
|
router = self.start_router()
|
||||||
|
@ -380,19 +367,15 @@ def main():
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
acs_router = AnsibleCloudStackRouter(module)
|
||||||
acs_router = AnsibleCloudStackRouter(module)
|
|
||||||
|
|
||||||
state = module.params.get('state')
|
state = module.params.get('state')
|
||||||
if state in ['absent']:
|
if state in ['absent']:
|
||||||
router = acs_router.absent_router()
|
router = acs_router.absent_router()
|
||||||
else:
|
else:
|
||||||
router = acs_router.present_router()
|
router = acs_router.present_router()
|
||||||
|
|
||||||
result = acs_router.get_result(router)
|
result = acs_router.get_result(router)
|
||||||
|
|
||||||
except CloudStackException as e:
|
|
||||||
module.fail_json(msg='CloudStackException: %s' % str(e))
|
|
||||||
|
|
||||||
module.exit_json(**result)
|
module.exit_json(**result)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue