def send_response()

in source/sfm-custom-resource.py [0:0]


def send_response(event, context, response_status, response_data):
    try:
        response_body = json.dumps({
            "Status": response_status,
            "Reason": 'See the details in CloudWatch Log Stream: {}'.format(context.log_stream_name),
            "PhysicalResourceId": context.log_stream_name,
            "StackId": event['StackId'],
            "RequestId": event['RequestId'],
            "LogicalResourceId": event['LogicalResourceId'],
            "Data": response_data
        })

        logger.info('Response URL: {}'.format(event['ResponseURL']))
        logger.info('Response Body: {}'.format(response_body))

        data = response_body.encode('utf-8')
        req = request.Request(event['ResponseURL'], data=data, method='PUT')
        req.add_header('Content-Type', '')
        req.add_header('Content-Length', len(response_body))
        response = request.urlopen(req)

        logger.info('Status code: {}'.format(response.getcode()))
        logger.info('Status message: {}'.format(response.msg))
    except Exception as e:
        logger.error('Custom resource send_response error: {}'.format(e))