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)