def handler()

in functions/simple/simple.py [0:0]


def handler(event, context):
	init()
	validate_input(event)

	func_name = event['function-name']
	version = event['new-version']
	alias_name = event['alias-name']
	steps = event['steps']
	interval = event['interval']
	weight_function = event.get('type', 'linear')
	health_check = event.get('health-check', True)

	weights = generate_weights(weight_function, steps)
	start_time = time.time()

	log.info("Calculated alias weight progression: {0}".format(weights))

	for weight in weights:
		update_weight(func_name, alias_name, version, weight)
		sleep(interval)

		if health_check:
			success = do_health_check(func_name, alias_name, version)
			if not success:
				rollback(func_name, alias_name)
				raise Exception("Health check failed, exiting")

	res = finalize(func_name, alias_name, version)
	end_time = time.time()

	log.info("Alias {0}:{1} is now routing 100% of traffic to version {2}".format(func_name, alias_name, version))
	log.info("Finished after {0}s".format(round(end_time - start_time, 2)))

	return res