def productaction(): """ create product """ config = Kconfig() if 'product' in request.form: product = request.form['product'] action = request.form['action'] if action == 'create' and 'plan' in request.form: plan = request.form['plan'] parameters = {} for p in request.form: if p.startswith('parameters'): value = request.form[p] key = p.replace('parameters[', '').replace(']', '') parameters[key] = value if plan == '': plan = None result = config.create_product(product, plan=plan, overrides=parameters) else: result = "Nothing to do" print(result) response = jsonify(result) response.status_code = 200 return response else: failure = {'result': 'failure', 'reason': "Invalid Data"} response = jsonify(failure) response.status_code = 400
def main(): """ """ argument_spec = { "state": { "default": "present", "choices": ['present', 'absent'], "type": 'str' }, "name": { "required": True, "type": "str" }, "product": { "required": True, "type": "str" }, "repo": { "required": False, "type": "str" }, "parameters": { "required": False, "type": "dict" }, } module = AnsibleModule(argument_spec=argument_spec) config = Kconfig(quiet=True) name = module.params['name'] product = module.params['product'] repo = module.params['repo'] plans = [p[0] for p in config.list_plans()] exists = True if name in plans else False state = module.params['state'] if state == 'present': if exists: changed = False skipped = True meta = {'result': 'skipped'} else: overrides = module.params['parameters'] if module.params[ 'parameters'] is not None else {} meta = config.create_product(product, repo=repo, plan=name, overrides=overrides) changed = True skipped = False else: if exists: meta = config.plan(name, delete=True) changed = True skipped = False else: changed = False skipped = True meta = {'result': 'skipped'} module.exit_json(changed=changed, skipped=skipped, meta=meta)
def main(): """ """ argument_spec = { "state": { "default": "present", "choices": ['present', 'absent'], "type": 'str' }, "name": { "required": True, "type": "str" }, "client": { "required": False, "type": "str" }, "product": { "required": True, "type": "str" }, "repo": { "required": False, "type": "str" }, "parameters": { "required": False, "type": "dict" }, } module = AnsibleModule(argument_spec=argument_spec) client = module.params['client'] config = Kconfig(client, quiet=True) name = module.params['name'] product = module.params['product'] repo = module.params['repo'] state = module.params['state'] if state == 'present': overrides = module.params['parameters'] if module.params[ 'parameters'] is not None else {} meta = config.create_product(product, repo=repo, plan=name, overrides=overrides) changed = True if 'newvms' in meta else False skipped = False else: meta = config.plan(name, delete=True) changed = True if 'deletedvms' in meta else False skipped = False module.exit_json(changed=changed, skipped=skipped, meta=meta)
def productaction(): """ create product """ config = Kconfig() if 'product' in request.form: product = request.form['product'] action = request.form['action'] if action == 'create' and 'plan' in request.form: plan = request.form['plan'] if plan == '': plan = None result = config.create_product(product, plan=plan) else: result = "Nothing to do" print(result) response = jsonify(result) print(response) response.status_code = 200 return response else: failure = {'result': 'failure', 'reason': "Invalid Data"} response = jsonify(failure) response.status_code = 400