def create_handler()

in functions/source/KubeGet/lambda_function.py [0:0]


def create_handler(event, _):
    print('Received event: %s' % json.dumps(event))
    create_kubeconfig(event['ResourceProperties']['ClusterName'])
    name = event['ResourceProperties']['Name']
    retry_timeout = 0
    if "Timeout" in event['ResourceProperties']:
        retry_timeout = int(event['ResourceProperties']["Timeout"])
    if retry_timeout > 600:
        retry_timeout = 600
    namespace = event['ResourceProperties']['Namespace']
    json_path = event['ResourceProperties']['JsonPath']
    while True:
        try:
            outp = run_command('kubectl get %s -o jsonpath="%s" --namespace %s' % (name, json_path, namespace))
            break
        except Exception as e:
            if retry_timeout < 1:
                raise
            else:
                logging.error('Exception: %s' % e, exc_info=True)
                print("retrying until timeout...")
                time.sleep(5)
                retry_timeout = retry_timeout - 5
    response_data = {}
    if "ResponseKey" in event['ResourceProperties']:
        response_data[event['ResourceProperties']["ResponseKey"]] = outp
    if len(outp.encode('utf-8')) > 1000:
        outp = 'MD5-' + str(md5(outp.encode('utf-8')).hexdigest())
    helper.Data.update(response_data)
    return outp