def main(): fields = { "chart": { "required": True, "type": "str" }, "name": { "required": False, "type": "str" }, "namespace": { "required": False, "type": "str" }, "kubeconfig": { "required": False, "type": "str" }, "atomic": { "default": False, "type": "bool" }, "values": { "required": False, "type": "json" }, "state": { "default": "present", "choices": ['present', 'absent'], "type": 'str' }, } log("Init complete") module = AnsibleModule(argument_spec=fields) # reflect the params module.kubeconfig = module.params['kubeconfig'] module.namespace = module.params['namespace'] module.name = module.params['name'] module.state = module.params['state'] module.values = module.params['values'] module.atomic = module.params['atomic'] try: has_changed = apply_state(module) module.exit_json(changed=has_changed) except ModuleFailed as failed: module.fail_json(msg=failed.message) return