lambda/python/cfn_example_functions/cfnresponse.py [10:47]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SUCCESS = "SUCCESS"
FAILED = "FAILED"

http = urllib3.PoolManager()


def send(event, response_status, physical_resource_id, reason, response_data=None, no_echo=False):
    response_url = event['ResponseURL']
    response_data = response_data or {}

    logger.debug(response_url)

    response_body = {
        'Status': response_status,
        'Reason': reason,
        'PhysicalResourceId': physical_resource_id,
        'StackId': event['StackId'],
        'RequestId': event['RequestId'],
        'LogicalResourceId': event['LogicalResourceId'],
        'NoEcho': no_echo,
        'Data': response_data
    }

    json_response_body = json.dumps(response_body)

    logger.debug(f"Response body: \n{json_response_body}")

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

    try:
        response = http.request('PUT', response_url, headers=headers, body=json_response_body)
        logger.info(f'{{"response_body": {{{json_response_body}}}, "status_code": {response.status}}}')
        return response
    except Exception as e:
        logger.info("send(..) failed executing http.request(..):", e)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



lambda/python/rs_integration_function/callback_sources/cfnresponse.py [10:47]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SUCCESS = "SUCCESS"
FAILED = "FAILED"

http = urllib3.PoolManager()


def send(event, response_status, physical_resource_id, reason, response_data=None, no_echo=False):
    response_url = event['ResponseURL']
    response_data = response_data or {}

    logger.debug(response_url)

    response_body = {
        'Status': response_status,
        'Reason': reason,
        'PhysicalResourceId': physical_resource_id,
        'StackId': event['StackId'],
        'RequestId': event['RequestId'],
        'LogicalResourceId': event['LogicalResourceId'],
        'NoEcho': no_echo,
        'Data': response_data
    }

    json_response_body = json.dumps(response_body)

    logger.debug(f"Response body: \n{json_response_body}")

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

    try:
        response = http.request('PUT', response_url, headers=headers, body=json_response_body)
        logger.info(f'{{"response_body": {{{json_response_body}}}, "status_code": {response.status}}}')
        return response
    except Exception as e:
        logger.info("send(..) failed executing http.request(..):", e)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



