def main()

in playbooks/library/update_checkers.py [0:0]


def main():
    module = AnsibleModule(
        argument_spec=dict(
            checkers=dict(required=True, type='list'),
        )
    )

    data = requests.get(TOKEN_URL,
                        headers={'Metadata-Flavor': 'Google'}).json()
    token = data['access_token']
    existing_checkers = get_checkers(token)
    existing_checker_map = {c['uuid']:c for c in existing_checkers}

    updated_checkers = []
    for spec in module.params.get('checkers'):
        if not spec.get('uuid'):
            module.fail_json(msg="Checker UUID is required",
                             checker=spec)
        existing = existing_checker_map.get(spec['uuid'])
        if existing:
            updated = update_checker(token, existing, spec)
            if updated:
                updated_checkers.append(updated)
        else:
            updated = create_checker(token, spec)
            if updated:
                updated_checkers.append(updated)

    module.exit_json(changed=(len(updated_checkers) > 0),
                     updated_checkers=updated_checkers,
                     existing_checkers=existing_checkers)