Пример #1
0
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
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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