def _subscribe_lambda_to_sns_topic(lambda_arn, topic_name, region): topic_arn = CONN.sns(region).subscribe(lambda_arn, topic_name, 'lambda') try: CONN.lambda_conn().add_invocation_permission(lambda_arn, 'sns.amazonaws.com', source_arn=topic_arn) except ClientError: _LOG.warn('The final access policy size for lambda {} is reached. ' 'The limit is 20480 bytes. ' 'Invocation permission was not added.'.format(lambda_arn))
"status_code": "503", "error_regex": ".*ERROR_CODE\\\": 503.*", 'response_templates': { 'application/json': '#set ($errorMessageObj = $util.parseJson(' '$input.path(\'$.errorMessage\')))' '{"message" : "$errorMessageObj.message"}' } } ] } _CORS_HEADER_NAME = 'Access-Control-Allow-Origin' _CORS_HEADER_VALUE = "'*'" _API_GATEWAY_CONN = CONN.api_gateway() _LAMBDA_CONN = CONN.lambda_conn() def api_resource_identifier(name, output=None): if output: # api currently is not located in different regions # process only first object api_output = list(output.items())[0][1] # find id from the output return api_output['description']['id'] # if output is not provided - try to get API by name # cause there is no another option return _API_GATEWAY_CONN.get_api_id(name) def create_api_gateway(args):
def _subscribe_lambda_to_sns_topic(lambda_arn, topic_name, region): topic_arn = CONN.sns(region).subscribe(lambda_arn, topic_name, 'lambda') CONN.lambda_conn().add_invocation_permission(lambda_arn, 'sns.amazonaws.com', source_arn=topic_arn)