def lambda_handler()

in source/demo-app-config/demo-app-config.py [0:0]


def lambda_handler(event, context):
    if event['RequestType'] == 'Create' or event['RequestType'] == 'Update':
        Bucket= os.environ['APP_BUCKET']
        try:
            s3 = boto3.resource('s3', region_name=os.environ['AWS_REGION'], config=Config(signature_version='s3v4'))

            copy_source3={'Bucket':os.environ['S3_BUCKET'],'Key':os.environ['KEY_PREFIX'] + "/zeppelin_config.sh"}
            s3.meta.client.copy(copy_source3, Bucket, 'zeppelin_config.sh')

            status = 'SUCCESS'
        except Exception as e:
            status = 'FAILED'
            print(e)
    elif event['RequestType'] == 'Delete':
        print("CustomResourceDelete")
        status = 'SUCCESS'
    else:
        status = 'SUCCESS'


    # generate response back for success
    responseUrl = event['ResponseURL']
    print(responseUrl)

    responseBody = {}
    responseBody['Status'] = status
    responseBody['Reason'] = 'See the details in CloudWatch Log Stream: ' + context.log_stream_name
    responseBody['PhysicalResourceId'] = context.log_stream_name
    responseBody['StackId'] = event['StackId']
    responseBody['RequestId'] = event['RequestId']
    responseBody['LogicalResourceId'] = event['LogicalResourceId']

    json_responseBody = json.dumps(responseBody)

    print("Response body:\n" + json_responseBody)

    headers = {
        'content-type' : '',
        'content-length' : str(len(json_responseBody))
    }

    try:
        response = requests.put(responseUrl,
                                data=json_responseBody,
                                headers=headers)
        print("Status code: " + response.reason)
    except Exception as e:
        print("send(..) failed executing requests.put(..): " + str(e))