11.0.0
This commit is contained in:
@@ -114,6 +114,8 @@ class decort_bservice(DecortController):
|
||||
if self.bservice_id:
|
||||
_, self.bservice_info = self.bservice_get_by_id(self.bservice_id)
|
||||
self.bservice_state(self.bservice_info, self.aparams['state'])
|
||||
|
||||
self.bservice_should_exist = True
|
||||
return
|
||||
|
||||
def action(self,d_state):
|
||||
@@ -259,76 +261,80 @@ class decort_bservice(DecortController):
|
||||
if check_errors:
|
||||
self.exit(fail=True)
|
||||
|
||||
@DecortController.handle_sdk_exceptions
|
||||
def run(self):
|
||||
amodule = self.amodule
|
||||
|
||||
if self.amodule.check_mode:
|
||||
self.result['changed'] = False
|
||||
if self.bservice_id:
|
||||
self.result['failed'] = False
|
||||
self.result['facts'] = self.package_facts(amodule.check_mode)
|
||||
amodule.exit_json(**self.result)
|
||||
# we exit the module at this point
|
||||
else:
|
||||
self.result['failed'] = True
|
||||
self.result['msg'] = ("Cannot locate B-service name '{}'. Other arguments are: B-service ID {}, "
|
||||
"RG name '{}', RG ID {}, Account '{}'.").format(amodule.params['name'],
|
||||
amodule.params['id'],
|
||||
amodule.params['rg_name'],
|
||||
amodule.params['rg_id'],
|
||||
amodule.params['account_name'])
|
||||
amodule.fail_json(**self.result)
|
||||
pass
|
||||
|
||||
|
||||
#MAIN MANAGE PART
|
||||
|
||||
if self.bservice_id:
|
||||
if self.bservice_info['status'] in ("DELETING","DESTROYNG","RECONFIGURING","DESTROYING",
|
||||
"ENABLING","DISABLING","RESTORING","MODELED"):
|
||||
self.error()
|
||||
elif self.bservice_info['status'] == "DELETED":
|
||||
if amodule.params['state'] in (
|
||||
'disabled', 'enabled', 'present', 'started', 'stopped'
|
||||
):
|
||||
self.restore(self.bservice_id)
|
||||
self.action(amodule.params['state'])
|
||||
if amodule.params['state'] == 'absent':
|
||||
self.nop()
|
||||
elif self.bservice_info['status'] in (
|
||||
'ENABLED', 'DISABLED', 'CREATED',
|
||||
):
|
||||
if amodule.params['state'] == 'absent':
|
||||
self.destroy()
|
||||
else:
|
||||
self.action(amodule.params['state'])
|
||||
elif self.bservice_info['status'] == "DESTROYED":
|
||||
if amodule.params['state'] in ('present','enabled'):
|
||||
self.create()
|
||||
self.action(amodule.params['state'])
|
||||
if amodule.params['state'] == 'absent':
|
||||
self.nop()
|
||||
else:
|
||||
state = amodule.params['state']
|
||||
if state is None:
|
||||
state = 'present'
|
||||
if state == 'absent':
|
||||
self.nop()
|
||||
if state in ('present','started'):
|
||||
self.create()
|
||||
elif state in ('stopped', 'disabled','enabled'):
|
||||
self.error()
|
||||
|
||||
if self.result['failed']:
|
||||
amodule.fail_json(**self.result)
|
||||
else:
|
||||
if self.bservice_should_exist:
|
||||
_, self.bservice_info = self.bservice_get_by_id(self.bservice_id)
|
||||
self.result['facts'] = self.package_facts(amodule.check_mode)
|
||||
amodule.exit_json(**self.result)
|
||||
else:
|
||||
amodule.exit_json(**self.result)
|
||||
|
||||
def main():
|
||||
subj = decort_bservice()
|
||||
amodule = subj.amodule
|
||||
|
||||
if subj.amodule.check_mode:
|
||||
subj.result['changed'] = False
|
||||
if subj.bservice_id:
|
||||
subj.result['failed'] = False
|
||||
subj.result['facts'] = subj.package_facts(amodule.check_mode)
|
||||
amodule.exit_json(**subj.result)
|
||||
# we exit the module at this point
|
||||
else:
|
||||
subj.result['failed'] = True
|
||||
subj.result['msg'] = ("Cannot locate B-service name '{}'. Other arguments are: B-service ID {}, "
|
||||
"RG name '{}', RG ID {}, Account '{}'.").format(amodule.params['name'],
|
||||
amodule.params['id'],
|
||||
amodule.params['rg_name'],
|
||||
amodule.params['rg_id'],
|
||||
amodule.params['account_name'])
|
||||
amodule.fail_json(**subj.result)
|
||||
pass
|
||||
|
||||
|
||||
#MAIN MANAGE PART
|
||||
decort_bservice().run()
|
||||
|
||||
if subj.bservice_id:
|
||||
if subj.bservice_info['status'] in ("DELETING","DESTROYNG","RECONFIGURING","DESTROYING",
|
||||
"ENABLING","DISABLING","RESTORING","MODELED"):
|
||||
subj.error()
|
||||
elif subj.bservice_info['status'] == "DELETED":
|
||||
if amodule.params['state'] in (
|
||||
'disabled', 'enabled', 'present', 'started', 'stopped'
|
||||
):
|
||||
subj.restore(subj.bservice_id)
|
||||
subj.action(amodule.params['state'])
|
||||
if amodule.params['state'] == 'absent':
|
||||
subj.nop()
|
||||
elif subj.bservice_info['status'] in (
|
||||
'ENABLED', 'DISABLED', 'CREATED',
|
||||
):
|
||||
if amodule.params['state'] == 'absent':
|
||||
subj.destroy()
|
||||
else:
|
||||
subj.action(amodule.params['state'])
|
||||
elif subj.bservice_info['status'] == "DESTROYED":
|
||||
if amodule.params['state'] in ('present','enabled'):
|
||||
subj.create()
|
||||
subj.action(amodule.params['state'])
|
||||
if amodule.params['state'] == 'absent':
|
||||
subj.nop()
|
||||
else:
|
||||
state = amodule.params['state']
|
||||
if state is None:
|
||||
state = 'present'
|
||||
if state == 'absent':
|
||||
subj.nop()
|
||||
if state in ('present','started'):
|
||||
subj.create()
|
||||
elif state in ('stopped', 'disabled','enabled'):
|
||||
subj.error()
|
||||
|
||||
if subj.result['failed']:
|
||||
amodule.fail_json(**subj.result)
|
||||
else:
|
||||
if subj.bservice_should_exist:
|
||||
_, subj.bservice_info = subj.bservice_get_by_id(subj.bservice_id)
|
||||
subj.result['facts'] = subj.package_facts(amodule.check_mode)
|
||||
amodule.exit_json(**subj.result)
|
||||
else:
|
||||
amodule.exit_json(**subj.result)
|
||||
if __name__ == "__main__":
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user