UNPKG

@aws-solutions-constructs/core

Version:
81 lines 12.2 kB
"use strict"; /** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance * with the License. A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0 * * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions * and limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultDynamoEventSourceProps = DefaultDynamoEventSourceProps; exports.DefaultS3EventSourceProps = DefaultS3EventSourceProps; exports.DefaultKinesisEventSourceProps = DefaultKinesisEventSourceProps; const lambda = require("aws-cdk-lib/aws-lambda"); const utils_1 = require("./utils"); const aws_lambda_event_sources_1 = require("aws-cdk-lib/aws-lambda-event-sources"); const s3 = require("aws-cdk-lib/aws-s3"); const aws_cdk_lib_1 = require("aws-cdk-lib"); const sqs_helper_1 = require("./sqs-helper"); /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ function DefaultDynamoEventSourceProps(scope, dynamoEventSourceProps) { const baseProps = { startingPosition: lambda.StartingPosition.TRIM_HORIZON, bisectBatchOnError: true, maxRecordAge: aws_cdk_lib_1.Duration.hours(24), retryAttempts: 500 }; let extraProps = {}; if (dynamoEventSourceProps === undefined || dynamoEventSourceProps?.deploySqsDlqQueue === undefined || dynamoEventSourceProps.deploySqsDlqQueue) { const buildQueueResponse = (0, sqs_helper_1.buildQueue)(scope, 'SqsDlqQueue', { queueProps: dynamoEventSourceProps?.sqsDlqQueueProps, deployDeadLetterQueue: false // This is already a DLQ for the stream, it doesn't need it's own DLQS }); extraProps = { onFailure: new aws_lambda_event_sources_1.SqsDlq(buildQueueResponse.queue), }; } const defaultDynamoEventSourceProps = Object.assign(baseProps, extraProps); return (0, utils_1.consolidateProps)(defaultDynamoEventSourceProps, dynamoEventSourceProps?.eventSourceProps); } /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ function DefaultS3EventSourceProps(s3EventSourceProps) { const defaultS3EventSourceProps = { events: [s3.EventType.OBJECT_CREATED] }; return (0, utils_1.consolidateProps)(defaultS3EventSourceProps, s3EventSourceProps); } /** * @internal This is an internal core function and should not be called directly by Solutions Constructs clients. */ function DefaultKinesisEventSourceProps(scope, kinesisEventSourceProps) { const baseProps = { startingPosition: lambda.StartingPosition.TRIM_HORIZON, bisectBatchOnError: true, maxRecordAge: aws_cdk_lib_1.Duration.hours(24), retryAttempts: 500 }; let extraProps = {}; if (kinesisEventSourceProps === undefined || kinesisEventSourceProps?.deploySqsDlqQueue === undefined || kinesisEventSourceProps.deploySqsDlqQueue) { const buildQueueResponse = (0, sqs_helper_1.buildQueue)(scope, 'SqsDlqQueue', { queueProps: kinesisEventSourceProps?.sqsDlqQueueProps, deployDeadLetterQueue: false // Don't create SQS DLQ for Kinesis DLQ }); extraProps = { onFailure: new aws_lambda_event_sources_1.SqsDlq(buildQueueResponse.queue), }; } const defaultKinesisEventSourceProps = Object.assign(baseProps, extraProps); return (0, utils_1.consolidateProps)(defaultKinesisEventSourceProps, kinesisEventSourceProps?.eventSourceProps); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWV2ZW50LXNvdXJjZS1tYXBwaW5nLWRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGFtYmRhLWV2ZW50LXNvdXJjZS1tYXBwaW5nLWRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUF5Qkgsc0VBMEJDO0FBS0QsOERBT0M7QUFLRCx3RUF5QkM7QUFyRkQsaURBQWlEO0FBQ2pELG1DQUEyQztBQUMzQyxtRkFBMko7QUFDM0oseUNBQXlDO0FBQ3pDLDZDQUF1QztBQUV2Qyw2Q0FBMEM7QUFRMUM7O0dBRUc7QUFDSCxTQUFnQiw2QkFBNkIsQ0FBQyxLQUFnQixFQUFFLHNCQUF5QztJQUV2RyxNQUFNLFNBQVMsR0FBMkI7UUFDeEMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQVk7UUFDdEQsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixZQUFZLEVBQUUsc0JBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2hDLGFBQWEsRUFBRSxHQUFHO0tBQ25CLENBQUM7SUFFRixJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFFcEIsSUFBSSxzQkFBc0IsS0FBSyxTQUFTLElBQUksc0JBQXNCLEVBQUUsaUJBQWlCLEtBQUssU0FBUztXQUM5RixzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzlDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSx1QkFBVSxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7WUFDMUQsVUFBVSxFQUFFLHNCQUFzQixFQUFFLGdCQUFnQjtZQUNwRCxxQkFBcUIsRUFBRSxLQUFLLENBQUcsc0VBQXNFO1NBQ3RHLENBQUMsQ0FBQztRQUVILFVBQVUsR0FBRztZQUNYLFNBQVMsRUFBRSxJQUFJLGlDQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUzRSxPQUFPLElBQUEsd0JBQWdCLEVBQUMsNkJBQTZCLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUNuRyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQix5QkFBeUIsQ0FBQyxrQkFBdUM7SUFFL0UsTUFBTSx5QkFBeUIsR0FBdUI7UUFDcEQsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUM7S0FDdEMsQ0FBQztJQUVGLE9BQU8sSUFBQSx3QkFBZ0IsRUFBQyx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLEtBQWdCLEVBQUUsdUJBQTBDO0lBQ3pHLE1BQU0sU0FBUyxHQUE0QjtRQUN6QyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtRQUN0RCxrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLFlBQVksRUFBRSxzQkFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEMsYUFBYSxFQUFFLEdBQUc7S0FDbkIsQ0FBQztJQUVGLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUVwQixJQUFJLHVCQUF1QixLQUFLLFNBQVMsSUFBSSx1QkFBdUIsRUFBRSxpQkFBaUIsS0FBSyxTQUFTO1dBQ2hHLHVCQUF1QixDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHVCQUFVLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtZQUMxRCxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCO1lBQ3JELHFCQUFxQixFQUFFLEtBQUssQ0FBQyx1Q0FBdUM7U0FDckUsQ0FBQyxDQUFDO1FBRUgsVUFBVSxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksaUNBQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRTVFLE9BQU8sSUFBQSx3QkFBZ0IsRUFBQyw4QkFBOEIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3JHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgY29uc29saWRhdGVQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgRHluYW1vRXZlbnRTb3VyY2VQcm9wcywgUzNFdmVudFNvdXJjZVByb3BzLCBLaW5lc2lzRXZlbnRTb3VyY2VQcm9wcywgU3RyZWFtRXZlbnRTb3VyY2VQcm9wcywgU3FzRGxxIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ldmVudC1zb3VyY2VzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNxcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3FzJztcbmltcG9ydCB7IGJ1aWxkUXVldWUgfSBmcm9tICcuL3Nxcy1oZWxwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50U291cmNlUHJvcHMge1xuICByZWFkb25seSBldmVudFNvdXJjZVByb3BzPzogU3RyZWFtRXZlbnRTb3VyY2VQcm9wcyxcbiAgcmVhZG9ubHkgZGVwbG95U3FzRGxxUXVldWU/OiBib29sZWFuLFxuICByZWFkb25seSBzcXNEbHFRdWV1ZVByb3BzPzogc3FzLlF1ZXVlUHJvcHNcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdER5bmFtb0V2ZW50U291cmNlUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZHluYW1vRXZlbnRTb3VyY2VQcm9wcz86IEV2ZW50U291cmNlUHJvcHMpOiBEeW5hbW9FdmVudFNvdXJjZVByb3BzIHtcblxuICBjb25zdCBiYXNlUHJvcHM6IER5bmFtb0V2ZW50U291cmNlUHJvcHMgPSB7XG4gICAgc3RhcnRpbmdQb3NpdGlvbjogbGFtYmRhLlN0YXJ0aW5nUG9zaXRpb24uVFJJTV9IT1JJWk9OLFxuICAgIGJpc2VjdEJhdGNoT25FcnJvcjogdHJ1ZSxcbiAgICBtYXhSZWNvcmRBZ2U6IER1cmF0aW9uLmhvdXJzKDI0KSxcbiAgICByZXRyeUF0dGVtcHRzOiA1MDBcbiAgfTtcblxuICBsZXQgZXh0cmFQcm9wcyA9IHt9O1xuXG4gIGlmIChkeW5hbW9FdmVudFNvdXJjZVByb3BzID09PSB1bmRlZmluZWQgfHwgZHluYW1vRXZlbnRTb3VyY2VQcm9wcz8uZGVwbG95U3FzRGxxUXVldWUgPT09IHVuZGVmaW5lZFxuICAgIHx8IGR5bmFtb0V2ZW50U291cmNlUHJvcHMuZGVwbG95U3FzRGxxUXVldWUpIHtcbiAgICBjb25zdCBidWlsZFF1ZXVlUmVzcG9uc2UgPSBidWlsZFF1ZXVlKHNjb3BlLCAnU3FzRGxxUXVldWUnLCB7XG4gICAgICBxdWV1ZVByb3BzOiBkeW5hbW9FdmVudFNvdXJjZVByb3BzPy5zcXNEbHFRdWV1ZVByb3BzLFxuICAgICAgZGVwbG95RGVhZExldHRlclF1ZXVlOiBmYWxzZSAgIC8vIFRoaXMgaXMgYWxyZWFkeSBhIERMUSBmb3IgdGhlIHN0cmVhbSwgaXQgZG9lc24ndCBuZWVkIGl0J3Mgb3duIERMUVNcbiAgICB9KTtcblxuICAgIGV4dHJhUHJvcHMgPSB7XG4gICAgICBvbkZhaWx1cmU6IG5ldyBTcXNEbHEoYnVpbGRRdWV1ZVJlc3BvbnNlLnF1ZXVlKSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdER5bmFtb0V2ZW50U291cmNlUHJvcHMgPSBPYmplY3QuYXNzaWduKGJhc2VQcm9wcywgZXh0cmFQcm9wcyk7XG5cbiAgcmV0dXJuIGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdER5bmFtb0V2ZW50U291cmNlUHJvcHMsIGR5bmFtb0V2ZW50U291cmNlUHJvcHM/LmV2ZW50U291cmNlUHJvcHMpO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEZWZhdWx0UzNFdmVudFNvdXJjZVByb3BzKHMzRXZlbnRTb3VyY2VQcm9wcz86IFMzRXZlbnRTb3VyY2VQcm9wcykge1xuXG4gIGNvbnN0IGRlZmF1bHRTM0V2ZW50U291cmNlUHJvcHM6IFMzRXZlbnRTb3VyY2VQcm9wcyA9IHtcbiAgICBldmVudHM6IFtzMy5FdmVudFR5cGUuT0JKRUNUX0NSRUFURURdXG4gIH07XG5cbiAgcmV0dXJuIGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdFMzRXZlbnRTb3VyY2VQcm9wcywgczNFdmVudFNvdXJjZVByb3BzKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdEtpbmVzaXNFdmVudFNvdXJjZVByb3BzKHNjb3BlOiBDb25zdHJ1Y3QsIGtpbmVzaXNFdmVudFNvdXJjZVByb3BzPzogRXZlbnRTb3VyY2VQcm9wcyk6IEtpbmVzaXNFdmVudFNvdXJjZVByb3BzIHtcbiAgY29uc3QgYmFzZVByb3BzOiBLaW5lc2lzRXZlbnRTb3VyY2VQcm9wcyA9IHtcbiAgICBzdGFydGluZ1Bvc2l0aW9uOiBsYW1iZGEuU3RhcnRpbmdQb3NpdGlvbi5UUklNX0hPUklaT04sXG4gICAgYmlzZWN0QmF0Y2hPbkVycm9yOiB0cnVlLFxuICAgIG1heFJlY29yZEFnZTogRHVyYXRpb24uaG91cnMoMjQpLFxuICAgIHJldHJ5QXR0ZW1wdHM6IDUwMFxuICB9O1xuXG4gIGxldCBleHRyYVByb3BzID0ge307XG5cbiAgaWYgKGtpbmVzaXNFdmVudFNvdXJjZVByb3BzID09PSB1bmRlZmluZWQgfHwga2luZXNpc0V2ZW50U291cmNlUHJvcHM/LmRlcGxveVNxc0RscVF1ZXVlID09PSB1bmRlZmluZWRcbiAgICB8fCBraW5lc2lzRXZlbnRTb3VyY2VQcm9wcy5kZXBsb3lTcXNEbHFRdWV1ZSkge1xuICAgIGNvbnN0IGJ1aWxkUXVldWVSZXNwb25zZSA9IGJ1aWxkUXVldWUoc2NvcGUsICdTcXNEbHFRdWV1ZScsIHtcbiAgICAgIHF1ZXVlUHJvcHM6IGtpbmVzaXNFdmVudFNvdXJjZVByb3BzPy5zcXNEbHFRdWV1ZVByb3BzLFxuICAgICAgZGVwbG95RGVhZExldHRlclF1ZXVlOiBmYWxzZSAvLyBEb24ndCBjcmVhdGUgU1FTIERMUSBmb3IgS2luZXNpcyBETFFcbiAgICB9KTtcblxuICAgIGV4dHJhUHJvcHMgPSB7XG4gICAgICBvbkZhaWx1cmU6IG5ldyBTcXNEbHEoYnVpbGRRdWV1ZVJlc3BvbnNlLnF1ZXVlKSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdEtpbmVzaXNFdmVudFNvdXJjZVByb3BzID0gT2JqZWN0LmFzc2lnbihiYXNlUHJvcHMsIGV4dHJhUHJvcHMpO1xuXG4gIHJldHVybiBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRLaW5lc2lzRXZlbnRTb3VyY2VQcm9wcywga2luZXNpc0V2ZW50U291cmNlUHJvcHM/LmV2ZW50U291cmNlUHJvcHMpO1xufVxuIl19