@aws-solutions-constructs/aws-cloudfront-apigateway-lambda 2.47.0 → 2.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +116 -36
- package/README.md +42 -18
- package/lib/index.d.ts +6 -3
- package/lib/index.js +17 -16
- package/package.json +7 -7
- package/test/integ.cftaplam-customCloudfrontLoggingBucket.expected.json +370 -28
- package/test/integ.cftaplam-customCloudfrontLoggingBucket.js +8 -1
- package/test/integ.cftaplam-no-arguments.expected.json +370 -28
- package/test/integ.cftaplam-no-arguments.js +8 -1
- package/test/integ.cftaplam-override-behavior.expected.json +370 -8
- package/test/integ.cftaplam-override-behavior.js +3 -2
- package/test/test.cloudfront-apigateway-lambda.test.js +46 -3
package/lib/index.js
CHANGED
|
@@ -20,27 +20,28 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
|
|
|
20
20
|
super(scope, id);
|
|
21
21
|
defaults.CheckLambdaProps(props);
|
|
22
22
|
// CheckCloudFrontProps() is called by internal aws-cloudfront-apigateway construct
|
|
23
|
+
if (!props.apiGatewayProps?.defaultMethodOptions?.authorizationType) {
|
|
24
|
+
defaults.printWarning('As of v2.48.0, apiGatewayProps.defaultMethodOptions.authorizationType is\
|
|
25
|
+
required. To update your instantiation call, add the following to your CloudFrontToApiGatewayToLambdaProps argument\
|
|
26
|
+
\n\napiGatewayProps: { defaultMethodOptions: { authorizationType: api.AuthorizationType.NONE }},\n\nSee Issue1043 for an explanation.');
|
|
27
|
+
throw new Error('As of v2.48.0, an explicit authorization type is required for CloudFront/API Gateway patterns');
|
|
28
|
+
}
|
|
29
|
+
else if (props.apiGatewayProps.defaultMethodOptions.authorizationType === "AWS_IAM") {
|
|
30
|
+
throw new Error('Amazon API Gateway Rest APIs integrated with Amazon CloudFront do not support AWS_IAM authorization');
|
|
31
|
+
}
|
|
32
|
+
// All our tests are based upon this behavior being on, so we're setting
|
|
33
|
+
// context here rather than assuming the client will set it
|
|
34
|
+
this.node.setContext("@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy", true);
|
|
23
35
|
this.lambdaFunction = defaults.buildLambdaFunction(this, {
|
|
24
36
|
existingLambdaObj: props.existingLambdaObj,
|
|
25
37
|
lambdaFunctionProps: props.lambdaFunctionProps
|
|
26
38
|
});
|
|
27
|
-
|
|
39
|
+
// We can't default to IAM authentication with a CloudFront distribution, so
|
|
40
|
+
// we'll instruct core to not use any default auth to avoid override warnings
|
|
41
|
+
const regionalLambdaRestApiResponse = defaults.RegionalLambdaRestApi(this, this.lambdaFunction, props.apiGatewayProps, props.logGroupProps, false);
|
|
28
42
|
this.apiGateway = regionalLambdaRestApiResponse.api;
|
|
29
43
|
this.apiGatewayCloudWatchRole = regionalLambdaRestApiResponse.role;
|
|
30
44
|
this.apiGatewayLogGroup = regionalLambdaRestApiResponse.group;
|
|
31
|
-
this.apiGateway.methods.forEach((apiMethod) => {
|
|
32
|
-
// Override the API Gateway Authorization Type from AWS_IAM to NONE
|
|
33
|
-
const child = apiMethod.node.findChild('Resource');
|
|
34
|
-
if (child.authorizationType === 'AWS_IAM') {
|
|
35
|
-
child.addPropertyOverride('AuthorizationType', 'NONE');
|
|
36
|
-
defaults.addCfnSuppressRules(apiMethod, [
|
|
37
|
-
{
|
|
38
|
-
id: 'W59',
|
|
39
|
-
reason: `AWS::ApiGateway::Method AuthorizationType is set to 'NONE' because API Gateway behind CloudFront does not support AWS_IAM authentication`
|
|
40
|
-
},
|
|
41
|
-
]);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
45
|
const apiCloudfront = new aws_cloudfront_apigateway_1.CloudFrontToApiGateway(this, 'CloudFrontToApiGateway', {
|
|
45
46
|
existingApiGatewayObj: this.apiGateway,
|
|
46
47
|
cloudFrontDistributionProps: props.cloudFrontDistributionProps,
|
|
@@ -55,5 +56,5 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
|
|
|
55
56
|
}
|
|
56
57
|
exports.CloudFrontToApiGatewayToLambda = CloudFrontToApiGatewayToLambda;
|
|
57
58
|
_a = JSII_RTTI_SYMBOL_1;
|
|
58
|
-
CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQUN2QyxtR0FBNkY7QUFpRTdGLE1BQWEsOEJBQStCLFNBQVEsc0JBQVM7SUFTM0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsbUZBQW1GO1FBRW5GLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRTtZQUN2RCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUksSUFBSSxDQUFDLFVBQVUsR0FBRyw2QkFBNkIsQ0FBQyxHQUFHLENBQUM7UUFDcEQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQztRQUNuRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzVDLG1FQUFtRTtZQUNuRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQWtCLENBQUM7WUFDcEUsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFO2dCQUN6QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRXZELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUU7b0JBQ3RDO3dCQUNFLEVBQUUsRUFBRSxLQUFLO3dCQUNULE1BQU0sRUFBRSwwSUFBMEk7cUJBQ25KO2lCQUNGLENBQUMsQ0FBQzthQUVKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBMkIsSUFBSSxrREFBc0IsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDdkcscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdEMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7WUFDaEUsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtTQUM3RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMseUJBQXlCLEdBQUcsYUFBYSxDQUFDLHlCQUF5QixDQUFDO1FBQ3pFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUM7UUFDM0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQztJQUN2RSxDQUFDOztBQTNESCx3RUE0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbG91ZEZyb250VG9BcGlHYXRld2F5IH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9hd3MtY2xvdWRmcm9udC1hcGlnYXRld2F5JztcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUgcHJvcGVydGllcyBmb3IgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBDb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcyB7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBMYW1iZGEgRnVuY3Rpb24gb2JqZWN0LCBwcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgbGFtYmRhRnVuY3Rpb25Qcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbixcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25Qcm9wcz86IGxhbWJkYS5GdW5jdGlvblByb3BzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQVBJIEdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR2F0ZXdheVByb3BzPzogYXBpLkxhbWJkYVJlc3RBcGlQcm9wcyB8IGFueVxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIHR1cm4gb24vb2ZmIHRoZSBhdXRvbWF0aWMgaW5qZWN0aW9uIG9mIGJlc3QgcHJhY3RpY2UgSFRUUFxuICAgKiBzZWN1cml0eSBoZWFkZXJzIGluIGFsbCByZXNwb25zZXMgZnJvbSBjbG91ZGZyb250LlxuICAgKiBUdXJuaW5nIHRoaXMgb24gd2lsbCBpbmplY3QgZGVmYXVsdCBoZWFkZXJzIGFuZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBwYXNzaW5nIGN1c3RvbSBzZWN1cml0eSBoZWFkZXJzXG4gICAqIHZpYSB0aGUgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM/OiBib29sZWFuLFxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBjb25maWd1cmF0aW9uIHRoYXQgY2xvdWRmcm9udCBhcHBsaWVzIHRvIGFsbCBodHRwIHJlc3BvbnNlcy5cbiAgICogQ2FuIGJlIHVzZWQgdG8gcGFzcyBhIGN1c3RvbSBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yLCBSZXNwb25zZUN1c3RvbUhlYWRlcnNCZWhhdmlvciBvclxuICAgKiBSZXNwb25zZUhlYWRlcnNDb3JzQmVoYXZpb3IgdG8gdGhlIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uLlxuICAgKlxuICAgKiBQYXNzaW5nIGEgY3VzdG9tIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggdHVybmluZyBvbiB0aGUgZGVmYXVsdCBzZWN1cml0eSBoZWFkZXJzXG4gICAqIHZpYSBgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVyc2AgcHJvcC4gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiBib3RoIGBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzYCBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGFuZCBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yIGlzIHBhc3NlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHNcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBDbG91ZEZyb250IExvZ2dpbmcgQnVja2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHNcbn1cblxuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldD86IHMzLkJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXk6IGFwaS5SZXN0QXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheUNsb3VkV2F0Y2hSb2xlPzogaWFtLlJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5TG9nR3JvdXA6IGxvZ3MuTG9nR3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGEgY2xhc3MuXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0fSBzY29wZSAtIHJlcHJlc2VudHMgdGhlIHNjb3BlIGZvciBhbGwgdGhlIHJlc291cmNlcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gdGhpcyBpcyBhIGEgc2NvcGUtdW5pcXVlIGlkLlxuICAgKiBAcGFyYW0ge0Nsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGRlZmF1bHRzLkNoZWNrTGFtYmRhUHJvcHMocHJvcHMpO1xuICAgIC8vIENoZWNrQ2xvdWRGcm9udFByb3BzKCkgaXMgY2FsbGVkIGJ5IGludGVybmFsIGF3cy1jbG91ZGZyb250LWFwaWdhdGV3YXkgY29uc3RydWN0XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gZGVmYXVsdHMuYnVpbGRMYW1iZGFGdW5jdGlvbih0aGlzLCB7XG4gICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzXG4gICAgfSk7XG5cbiAgICBjb25zdCByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZSA9IGRlZmF1bHRzLlJlZ2lvbmFsTGFtYmRhUmVzdEFwaSh0aGlzLCB0aGlzLmxhbWJkYUZ1bmN0aW9uLCBwcm9wcy5hcGlHYXRld2F5UHJvcHMsIHByb3BzLmxvZ0dyb3VwUHJvcHMpO1xuICAgIHRoaXMuYXBpR2F0ZXdheSA9IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlLmFwaTtcbiAgICB0aGlzLmFwaUdhdGV3YXlDbG91ZFdhdGNoUm9sZSA9IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlLnJvbGU7XG4gICAgdGhpcy5hcGlHYXRld2F5TG9nR3JvdXAgPSByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZS5ncm91cDtcblxuICAgIHRoaXMuYXBpR2F0ZXdheS5tZXRob2RzLmZvckVhY2goKGFwaU1ldGhvZCkgPT4ge1xuICAgICAgLy8gT3ZlcnJpZGUgdGhlIEFQSSBHYXRld2F5IEF1dGhvcml6YXRpb24gVHlwZSBmcm9tIEFXU19JQU0gdG8gTk9ORVxuICAgICAgY29uc3QgY2hpbGQgPSBhcGlNZXRob2Qubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgYXBpLkNmbk1ldGhvZDtcbiAgICAgIGlmIChjaGlsZC5hdXRob3JpemF0aW9uVHlwZSA9PT0gJ0FXU19JQU0nKSB7XG4gICAgICAgIGNoaWxkLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0F1dGhvcml6YXRpb25UeXBlJywgJ05PTkUnKTtcblxuICAgICAgICBkZWZhdWx0cy5hZGRDZm5TdXBwcmVzc1J1bGVzKGFwaU1ldGhvZCwgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnVzU5JyxcbiAgICAgICAgICAgIHJlYXNvbjogYEFXUzo6QXBpR2F0ZXdheTo6TWV0aG9kIEF1dGhvcml6YXRpb25UeXBlIGlzIHNldCB0byAnTk9ORScgYmVjYXVzZSBBUEkgR2F0ZXdheSBiZWhpbmQgQ2xvdWRGcm9udCBkb2VzIG5vdCBzdXBwb3J0IEFXU19JQU0gYXV0aGVudGljYXRpb25gXG4gICAgICAgICAgfSxcbiAgICAgICAgXSk7XG5cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGFwaUNsb3VkZnJvbnQ6IENsb3VkRnJvbnRUb0FwaUdhdGV3YXkgPSBuZXcgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSh0aGlzLCAnQ2xvdWRGcm9udFRvQXBpR2F0ZXdheScsIHtcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheU9iajogdGhpcy5hcGlHYXRld2F5LFxuICAgICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgICBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzOiBwcm9wcy5pbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyxcbiAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzOiBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICAgIH0pO1xuXG4gICAgdGhpcy5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uO1xuICAgIHRoaXMuY2xvdWRGcm9udEZ1bmN0aW9uID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250RnVuY3Rpb247XG4gICAgdGhpcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldCA9IGFwaUNsb3VkZnJvbnQuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXQ7XG4gIH1cbn1cbiJdfQ==
|
|
59
|
+
CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.49.0" };
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQUN2QyxtR0FBNkY7QUFvRTdGLE1BQWEsOEJBQStCLFNBQVEsc0JBQVM7SUFTM0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFO1lBQ25FLFFBQVEsQ0FBQyxZQUFZLENBQUM7OzRJQUVnSCxDQUFDLENBQUM7WUFDeEksTUFBTSxJQUFJLEtBQUssQ0FBQywrRkFBK0YsQ0FBQyxDQUFDO1NBQ2xIO2FBQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixLQUFLLFNBQVMsRUFBRTtZQUNyRixNQUFNLElBQUksS0FBSyxDQUFDLHFHQUFxRyxDQUFDLENBQUM7U0FDeEg7UUFFRCx3RUFBd0U7UUFDeEUsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlEQUFpRCxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRTtZQUN2RCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsNEVBQTRFO1FBQzVFLDZFQUE2RTtRQUM3RSxNQUFNLDZCQUE2QixHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQ3ZFLElBQUksQ0FBQyxjQUFjLEVBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQ3JCLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyw2QkFBNkIsQ0FBQyxHQUFHLENBQUM7UUFDcEQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQztRQUNuRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsNkJBQTZCLENBQUMsS0FBSyxDQUFDO1FBRTlELE1BQU0sYUFBYSxHQUEyQixJQUFJLGtEQUFzQixDQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRTtZQUN2RyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN0QywyQkFBMkIsRUFBRSxLQUFLLENBQUMsMkJBQTJCO1lBQzlELHlCQUF5QixFQUFFLEtBQUssQ0FBQyx5QkFBeUI7WUFDMUQsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLDRCQUE0QjtZQUNoRSwwQkFBMEIsRUFBRSxLQUFLLENBQUMsMEJBQTBCO1NBQzdELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx5QkFBeUIsR0FBRyxhQUFhLENBQUMseUJBQXlCLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztRQUMzRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsYUFBYSxDQUFDLHVCQUF1QixDQUFDO0lBQ3ZFLENBQUM7O0FBN0RILHdFQThEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGFwaSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENsb3VkRnJvbnRUb0FwaUdhdGV3YXkgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2F3cy1jbG91ZGZyb250LWFwaWdhdGV3YXknO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIENvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYVByb3BzIHtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIExhbWJkYSBGdW5jdGlvbiBvYmplY3QsIHByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGBsYW1iZGFGdW5jdGlvblByb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nTGFtYmRhT2JqPzogbGFtYmRhLkZ1bmN0aW9uLFxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvblByb3BzPzogbGFtYmRhLkZ1bmN0aW9uUHJvcHNcbiAgLyoqXG4gICAqIFVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBBUEkgR2F0ZXdheS4gQXMgb2YgcmVsZWFzZVxuICAgKiAyLjQ4LjAsIGNsaWVudHMgbXVzdCBpbmNsdWRlIHRoaXMgcHJvcGVydHkgd2l0aCBkZWZhdWx0TWV0aG9kT3B0aW9uczogeyBhdXRob3JpemF0aW9uVHlwZTogc3RyaW5nIH0gc3BlY2lmaWVkLlxuICAgKiBTZWUgSXNzdWUxMDQzIGluIHRoZSBnaXRodWIgcmVwbyBodHRwczovL2dpdGh1Yi5jb20vYXdzbGFicy9hd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvaXNzdWVzLzEwNDNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0TWV0aG9kT3B0aW9ucy9hdXRob3JpemF0aW9uVHlwZSBpcyByZXF1aXJlZCwgZm9yIG90aGVyLCB1bnNwZWNpZmllZCB2YWx1ZXMgdGhlXG4gICAqIGRlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwaUdhdGV3YXlQcm9wczogYXBpLkxhbWJkYVJlc3RBcGlQcm9wcyB8IGFueVxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIHR1cm4gb24vb2ZmIHRoZSBhdXRvbWF0aWMgaW5qZWN0aW9uIG9mIGJlc3QgcHJhY3RpY2UgSFRUUFxuICAgKiBzZWN1cml0eSBoZWFkZXJzIGluIGFsbCByZXNwb25zZXMgZnJvbSBjbG91ZGZyb250LlxuICAgKiBUdXJuaW5nIHRoaXMgb24gd2lsbCBpbmplY3QgZGVmYXVsdCBoZWFkZXJzIGFuZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBwYXNzaW5nIGN1c3RvbSBzZWN1cml0eSBoZWFkZXJzXG4gICAqIHZpYSB0aGUgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHMgcGFyYW1ldGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM/OiBib29sZWFuLFxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBjb25maWd1cmF0aW9uIHRoYXQgY2xvdWRmcm9udCBhcHBsaWVzIHRvIGFsbCBodHRwIHJlc3BvbnNlcy5cbiAgICogQ2FuIGJlIHVzZWQgdG8gcGFzcyBhIGN1c3RvbSBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yLCBSZXNwb25zZUN1c3RvbUhlYWRlcnNCZWhhdmlvciBvclxuICAgKiBSZXNwb25zZUhlYWRlcnNDb3JzQmVoYXZpb3IgdG8gdGhlIGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uLlxuICAgKlxuICAgKiBQYXNzaW5nIGEgY3VzdG9tIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggdHVybmluZyBvbiB0aGUgZGVmYXVsdCBzZWN1cml0eSBoZWFkZXJzXG4gICAqIHZpYSBgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVyc2AgcHJvcC4gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiBib3RoIGBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzYCBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGFuZCBSZXNwb25zZVNlY3VyaXR5SGVhZGVyc0JlaGF2aW9yIGlzIHBhc3NlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzPzogY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIENsb3VkV2F0Y2hMb2dzIExvZ0dyb3VwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHNcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBDbG91ZEZyb250IExvZ2dpbmcgQnVja2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gICByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHNcbn1cblxuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRGdW5jdGlvbj86IGNsb3VkZnJvbnQuRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldD86IHMzLkJ1Y2tldDtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXk6IGFwaS5SZXN0QXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheUNsb3VkV2F0Y2hSb2xlPzogaWFtLlJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5TG9nR3JvdXA6IGxvZ3MuTG9nR3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGEgY2xhc3MuXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0fSBzY29wZSAtIHJlcHJlc2VudHMgdGhlIHNjb3BlIGZvciBhbGwgdGhlIHJlc291cmNlcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gdGhpcyBpcyBhIGEgc2NvcGUtdW5pcXVlIGlkLlxuICAgKiBAcGFyYW0ge0Nsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGRlZmF1bHRzLkNoZWNrTGFtYmRhUHJvcHMocHJvcHMpO1xuICAgIC8vIENoZWNrQ2xvdWRGcm9udFByb3BzKCkgaXMgY2FsbGVkIGJ5IGludGVybmFsIGF3cy1jbG91ZGZyb250LWFwaWdhdGV3YXkgY29uc3RydWN0XG4gICAgaWYgKCFwcm9wcy5hcGlHYXRld2F5UHJvcHM/LmRlZmF1bHRNZXRob2RPcHRpb25zPy5hdXRob3JpemF0aW9uVHlwZSkge1xuICAgICAgZGVmYXVsdHMucHJpbnRXYXJuaW5nKCdBcyBvZiB2Mi40OC4wLCBhcGlHYXRld2F5UHJvcHMuZGVmYXVsdE1ldGhvZE9wdGlvbnMuYXV0aG9yaXphdGlvblR5cGUgaXNcXFxuICAgICAgcmVxdWlyZWQuIFRvIHVwZGF0ZSB5b3VyIGluc3RhbnRpYXRpb24gY2FsbCwgYWRkIHRoZSBmb2xsb3dpbmcgdG8geW91ciBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcyBhcmd1bWVudFxcXG4gICAgICBcXG5cXG5hcGlHYXRld2F5UHJvcHM6IHsgZGVmYXVsdE1ldGhvZE9wdGlvbnM6IHsgYXV0aG9yaXphdGlvblR5cGU6IGFwaS5BdXRob3JpemF0aW9uVHlwZS5OT05FIH19LFxcblxcblNlZSBJc3N1ZTEwNDMgZm9yIGFuIGV4cGxhbmF0aW9uLicpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcyBvZiB2Mi40OC4wLCBhbiBleHBsaWNpdCBhdXRob3JpemF0aW9uIHR5cGUgaXMgcmVxdWlyZWQgZm9yIENsb3VkRnJvbnQvQVBJIEdhdGV3YXkgcGF0dGVybnMnKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLmFwaUdhdGV3YXlQcm9wcy5kZWZhdWx0TWV0aG9kT3B0aW9ucy5hdXRob3JpemF0aW9uVHlwZSA9PT0gXCJBV1NfSUFNXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQW1hem9uIEFQSSBHYXRld2F5IFJlc3QgQVBJcyBpbnRlZ3JhdGVkIHdpdGggQW1hem9uIENsb3VkRnJvbnQgZG8gbm90IHN1cHBvcnQgQVdTX0lBTSBhdXRob3JpemF0aW9uJyk7XG4gICAgfVxuXG4gICAgLy8gQWxsIG91ciB0ZXN0cyBhcmUgYmFzZWQgdXBvbiB0aGlzIGJlaGF2aW9yIGJlaW5nIG9uLCBzbyB3ZSdyZSBzZXR0aW5nXG4gICAgLy8gY29udGV4dCBoZXJlIHJhdGhlciB0aGFuIGFzc3VtaW5nIHRoZSBjbGllbnQgd2lsbCBzZXQgaXRcbiAgICB0aGlzLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zMzpzZXJ2ZXJBY2Nlc3NMb2dzVXNlQnVja2V0UG9saWN5XCIsIHRydWUpO1xuXG4gICAgdGhpcy5sYW1iZGFGdW5jdGlvbiA9IGRlZmF1bHRzLmJ1aWxkTGFtYmRhRnVuY3Rpb24odGhpcywge1xuICAgICAgZXhpc3RpbmdMYW1iZGFPYmo6IHByb3BzLmV4aXN0aW5nTGFtYmRhT2JqLFxuICAgICAgbGFtYmRhRnVuY3Rpb25Qcm9wczogcHJvcHMubGFtYmRhRnVuY3Rpb25Qcm9wc1xuICAgIH0pO1xuXG4gICAgLy8gV2UgY2FuJ3QgZGVmYXVsdCB0byBJQU0gYXV0aGVudGljYXRpb24gd2l0aCBhIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uLCBzb1xuICAgIC8vIHdlJ2xsIGluc3RydWN0IGNvcmUgdG8gbm90IHVzZSBhbnkgZGVmYXVsdCBhdXRoIHRvIGF2b2lkIG92ZXJyaWRlIHdhcm5pbmdzXG4gICAgY29uc3QgcmVnaW9uYWxMYW1iZGFSZXN0QXBpUmVzcG9uc2UgPSBkZWZhdWx0cy5SZWdpb25hbExhbWJkYVJlc3RBcGkodGhpcyxcbiAgICAgIHRoaXMubGFtYmRhRnVuY3Rpb24sXG4gICAgICBwcm9wcy5hcGlHYXRld2F5UHJvcHMsXG4gICAgICBwcm9wcy5sb2dHcm91cFByb3BzLFxuICAgICAgZmFsc2UpO1xuICAgIHRoaXMuYXBpR2F0ZXdheSA9IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlLmFwaTtcbiAgICB0aGlzLmFwaUdhdGV3YXlDbG91ZFdhdGNoUm9sZSA9IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlLnJvbGU7XG4gICAgdGhpcy5hcGlHYXRld2F5TG9nR3JvdXAgPSByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZS5ncm91cDtcblxuICAgIGNvbnN0IGFwaUNsb3VkZnJvbnQ6IENsb3VkRnJvbnRUb0FwaUdhdGV3YXkgPSBuZXcgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSh0aGlzLCAnQ2xvdWRGcm9udFRvQXBpR2F0ZXdheScsIHtcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheU9iajogdGhpcy5hcGlHYXRld2F5LFxuICAgICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgICBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzOiBwcm9wcy5pbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wcyxcbiAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzOiBwcm9wcy5yZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wc1xuICAgIH0pO1xuXG4gICAgdGhpcy5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uO1xuICAgIHRoaXMuY2xvdWRGcm9udEZ1bmN0aW9uID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250RnVuY3Rpb247XG4gICAgdGhpcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldCA9IGFwaUNsb3VkZnJvbnQuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXQ7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.49.0",
|
|
4
4
|
"description": "CDK Constructs for AWS Cloudfront to AWS API Gateway to AWS Lambda integration.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,13 +53,13 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.
|
|
57
|
-
"@aws-solutions-constructs/core": "2.
|
|
56
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.49.0",
|
|
57
|
+
"@aws-solutions-constructs/core": "2.49.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@types/jest": "^27.4.0",
|
|
61
61
|
"@types/node": "^10.3.0",
|
|
62
|
-
"aws-cdk-lib": "2.
|
|
62
|
+
"aws-cdk-lib": "2.118.0",
|
|
63
63
|
"constructs": "^10.0.0"
|
|
64
64
|
},
|
|
65
65
|
"jest": {
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
]
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
|
-
"@aws-solutions-constructs/core": "2.
|
|
81
|
-
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.
|
|
82
|
-
"aws-cdk-lib": "^2.
|
|
80
|
+
"@aws-solutions-constructs/core": "2.49.0",
|
|
81
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.49.0",
|
|
82
|
+
"aws-cdk-lib": "^2.118.0",
|
|
83
83
|
"constructs": "^10.0.0"
|
|
84
84
|
},
|
|
85
85
|
"keywords": [
|
|
@@ -1,6 +1,178 @@
|
|
|
1
1
|
{
|
|
2
2
|
"Description": "Integration Test for aws-cloudfront-apigateway-lambda custom Cloudfront Logging Bucket",
|
|
3
3
|
"Resources": {
|
|
4
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunctionServiceRole00AAA44C": {
|
|
5
|
+
"Type": "AWS::IAM::Role",
|
|
6
|
+
"Properties": {
|
|
7
|
+
"AssumeRolePolicyDocument": {
|
|
8
|
+
"Statement": [
|
|
9
|
+
{
|
|
10
|
+
"Action": "sts:AssumeRole",
|
|
11
|
+
"Effect": "Allow",
|
|
12
|
+
"Principal": {
|
|
13
|
+
"Service": "lambda.amazonaws.com"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"Version": "2012-10-17"
|
|
18
|
+
},
|
|
19
|
+
"ManagedPolicyArns": [
|
|
20
|
+
{
|
|
21
|
+
"Fn::Join": [
|
|
22
|
+
"",
|
|
23
|
+
[
|
|
24
|
+
"arn:",
|
|
25
|
+
{
|
|
26
|
+
"Ref": "AWS::Partition"
|
|
27
|
+
},
|
|
28
|
+
":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
29
|
+
]
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunction86ECA8C3": {
|
|
36
|
+
"Type": "AWS::Lambda::Function",
|
|
37
|
+
"Properties": {
|
|
38
|
+
"Code": {
|
|
39
|
+
"S3Bucket": {
|
|
40
|
+
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
41
|
+
},
|
|
42
|
+
"S3Key": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip"
|
|
43
|
+
},
|
|
44
|
+
"Handler": ".handler",
|
|
45
|
+
"Role": {
|
|
46
|
+
"Fn::GetAtt": [
|
|
47
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunctionServiceRole00AAA44C",
|
|
48
|
+
"Arn"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"Runtime": "nodejs16.x"
|
|
52
|
+
},
|
|
53
|
+
"DependsOn": [
|
|
54
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunctionServiceRole00AAA44C"
|
|
55
|
+
],
|
|
56
|
+
"Metadata": {
|
|
57
|
+
"cfn_nag": {
|
|
58
|
+
"rules_to_suppress": [
|
|
59
|
+
{
|
|
60
|
+
"id": "W58",
|
|
61
|
+
"reason": "Test Resource"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "W89",
|
|
65
|
+
"reason": "Test Resource"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "W92",
|
|
69
|
+
"reason": "Test Resource"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunctioncftaplamcustomCloudfrontLoggingBucketcftaplamcustomCloudfrontLoggingBucketauthorizer02C97B0FPermissionsBF8A1A3B": {
|
|
76
|
+
"Type": "AWS::Lambda::Permission",
|
|
77
|
+
"Properties": {
|
|
78
|
+
"Action": "lambda:InvokeFunction",
|
|
79
|
+
"FunctionName": {
|
|
80
|
+
"Fn::GetAtt": [
|
|
81
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunction86ECA8C3",
|
|
82
|
+
"Arn"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"Principal": "apigateway.amazonaws.com",
|
|
86
|
+
"SourceArn": {
|
|
87
|
+
"Fn::Join": [
|
|
88
|
+
"",
|
|
89
|
+
[
|
|
90
|
+
"arn:",
|
|
91
|
+
{
|
|
92
|
+
"Ref": "AWS::Partition"
|
|
93
|
+
},
|
|
94
|
+
":execute-api:",
|
|
95
|
+
{
|
|
96
|
+
"Ref": "AWS::Region"
|
|
97
|
+
},
|
|
98
|
+
":",
|
|
99
|
+
{
|
|
100
|
+
"Ref": "AWS::AccountId"
|
|
101
|
+
},
|
|
102
|
+
":",
|
|
103
|
+
{
|
|
104
|
+
"Ref": "cfapigwlambdaLambdaRestApi775C255B"
|
|
105
|
+
},
|
|
106
|
+
"/authorizers/",
|
|
107
|
+
{
|
|
108
|
+
"Ref": "cftaplamcustomCloudfrontLoggingBucketauthorizer4D180075"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizer4D180075": {
|
|
116
|
+
"Type": "AWS::ApiGateway::Authorizer",
|
|
117
|
+
"Properties": {
|
|
118
|
+
"AuthorizerResultTtlInSeconds": 300,
|
|
119
|
+
"AuthorizerUri": {
|
|
120
|
+
"Fn::Join": [
|
|
121
|
+
"",
|
|
122
|
+
[
|
|
123
|
+
"arn:",
|
|
124
|
+
{
|
|
125
|
+
"Fn::Select": [
|
|
126
|
+
1,
|
|
127
|
+
{
|
|
128
|
+
"Fn::Split": [
|
|
129
|
+
":",
|
|
130
|
+
{
|
|
131
|
+
"Fn::GetAtt": [
|
|
132
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunction86ECA8C3",
|
|
133
|
+
"Arn"
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
":apigateway:",
|
|
141
|
+
{
|
|
142
|
+
"Fn::Select": [
|
|
143
|
+
3,
|
|
144
|
+
{
|
|
145
|
+
"Fn::Split": [
|
|
146
|
+
":",
|
|
147
|
+
{
|
|
148
|
+
"Fn::GetAtt": [
|
|
149
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunction86ECA8C3",
|
|
150
|
+
"Arn"
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
":lambda:path/2015-03-31/functions/",
|
|
158
|
+
{
|
|
159
|
+
"Fn::GetAtt": [
|
|
160
|
+
"cftaplamcustomCloudfrontLoggingBucketauthorizerAuthFunction86ECA8C3",
|
|
161
|
+
"Arn"
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"/invocations"
|
|
165
|
+
]
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"IdentitySource": "method.request.header.Authorization",
|
|
169
|
+
"Name": "cftaplamcustomCloudfrontLoggingBucketcftaplamcustomCloudfrontLoggingBucketauthorizer02C97B0F",
|
|
170
|
+
"RestApiId": {
|
|
171
|
+
"Ref": "cfapigwlambdaLambdaRestApi775C255B"
|
|
172
|
+
},
|
|
173
|
+
"Type": "REQUEST"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
4
176
|
"cfapigwlambdaLambdaFunctionServiceRole9B40D826": {
|
|
5
177
|
"Type": "AWS::IAM::Role",
|
|
6
178
|
"Properties": {
|
|
@@ -169,7 +341,7 @@
|
|
|
169
341
|
"Name": "LambdaRestApi"
|
|
170
342
|
}
|
|
171
343
|
},
|
|
172
|
-
"
|
|
344
|
+
"cfapigwlambdaLambdaRestApiDeployment33C24C7D41e6d6ff15b0c6d292b31cce930b3216": {
|
|
173
345
|
"Type": "AWS::ApiGateway::Deployment",
|
|
174
346
|
"Properties": {
|
|
175
347
|
"Description": "Automatically created by the RestApi construct",
|
|
@@ -206,7 +378,7 @@
|
|
|
206
378
|
"Format": "{\"requestId\":\"$context.requestId\",\"ip\":\"$context.identity.sourceIp\",\"user\":\"$context.identity.user\",\"caller\":\"$context.identity.caller\",\"requestTime\":\"$context.requestTime\",\"httpMethod\":\"$context.httpMethod\",\"resourcePath\":\"$context.resourcePath\",\"status\":\"$context.status\",\"protocol\":\"$context.protocol\",\"responseLength\":\"$context.responseLength\"}"
|
|
207
379
|
},
|
|
208
380
|
"DeploymentId": {
|
|
209
|
-
"Ref": "
|
|
381
|
+
"Ref": "cfapigwlambdaLambdaRestApiDeployment33C24C7D41e6d6ff15b0c6d292b31cce930b3216"
|
|
210
382
|
},
|
|
211
383
|
"MethodSettings": [
|
|
212
384
|
{
|
|
@@ -319,7 +491,10 @@
|
|
|
319
491
|
"cfapigwlambdaLambdaRestApiproxyANY68181290": {
|
|
320
492
|
"Type": "AWS::ApiGateway::Method",
|
|
321
493
|
"Properties": {
|
|
322
|
-
"AuthorizationType": "
|
|
494
|
+
"AuthorizationType": "CUSTOM",
|
|
495
|
+
"AuthorizerId": {
|
|
496
|
+
"Ref": "cftaplamcustomCloudfrontLoggingBucketauthorizer4D180075"
|
|
497
|
+
},
|
|
323
498
|
"HttpMethod": "ANY",
|
|
324
499
|
"Integration": {
|
|
325
500
|
"IntegrationHttpMethod": "POST",
|
|
@@ -354,16 +529,6 @@
|
|
|
354
529
|
"RestApiId": {
|
|
355
530
|
"Ref": "cfapigwlambdaLambdaRestApi775C255B"
|
|
356
531
|
}
|
|
357
|
-
},
|
|
358
|
-
"Metadata": {
|
|
359
|
-
"cfn_nag": {
|
|
360
|
-
"rules_to_suppress": [
|
|
361
|
-
{
|
|
362
|
-
"id": "W59",
|
|
363
|
-
"reason": "AWS::ApiGateway::Method AuthorizationType is set to 'NONE' because API Gateway behind CloudFront does not support AWS_IAM authentication"
|
|
364
|
-
}
|
|
365
|
-
]
|
|
366
|
-
}
|
|
367
532
|
}
|
|
368
533
|
},
|
|
369
534
|
"cfapigwlambdaLambdaRestApiANYApiPermissioncftaplamcustomCloudfrontLoggingBucketcfapigwlambdaLambdaRestApi92F6CCCCANY63987F12": {
|
|
@@ -447,7 +612,10 @@
|
|
|
447
612
|
"cfapigwlambdaLambdaRestApiANY81C176E9": {
|
|
448
613
|
"Type": "AWS::ApiGateway::Method",
|
|
449
614
|
"Properties": {
|
|
450
|
-
"AuthorizationType": "
|
|
615
|
+
"AuthorizationType": "CUSTOM",
|
|
616
|
+
"AuthorizerId": {
|
|
617
|
+
"Ref": "cftaplamcustomCloudfrontLoggingBucketauthorizer4D180075"
|
|
618
|
+
},
|
|
451
619
|
"HttpMethod": "ANY",
|
|
452
620
|
"Integration": {
|
|
453
621
|
"IntegrationHttpMethod": "POST",
|
|
@@ -485,16 +653,6 @@
|
|
|
485
653
|
"RestApiId": {
|
|
486
654
|
"Ref": "cfapigwlambdaLambdaRestApi775C255B"
|
|
487
655
|
}
|
|
488
|
-
},
|
|
489
|
-
"Metadata": {
|
|
490
|
-
"cfn_nag": {
|
|
491
|
-
"rules_to_suppress": [
|
|
492
|
-
{
|
|
493
|
-
"id": "W59",
|
|
494
|
-
"reason": "AWS::ApiGateway::Method AuthorizationType is set to 'NONE' because API Gateway behind CloudFront does not support AWS_IAM authentication"
|
|
495
|
-
}
|
|
496
|
-
]
|
|
497
|
-
}
|
|
498
656
|
}
|
|
499
657
|
},
|
|
500
658
|
"cfapigwlambdaLambdaRestApiUsagePlan11CE9748": {
|
|
@@ -598,10 +756,9 @@
|
|
|
598
756
|
"Name": "SetHttpSecurityHeadersc860b559e82562b55d86431c32566a0eb839407df7"
|
|
599
757
|
}
|
|
600
758
|
},
|
|
601
|
-
"
|
|
759
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A": {
|
|
602
760
|
"Type": "AWS::S3::Bucket",
|
|
603
761
|
"Properties": {
|
|
604
|
-
"AccessControl": "LogDeliveryWrite",
|
|
605
762
|
"BucketEncryption": {
|
|
606
763
|
"ServerSideEncryptionConfiguration": [
|
|
607
764
|
{
|
|
@@ -641,12 +798,197 @@
|
|
|
641
798
|
"rules_to_suppress": [
|
|
642
799
|
{
|
|
643
800
|
"id": "W35",
|
|
644
|
-
"reason": "This S3 bucket is used as the access logging bucket for
|
|
801
|
+
"reason": "This S3 bucket is used as the access logging bucket for another bucket"
|
|
645
802
|
}
|
|
646
803
|
]
|
|
647
804
|
}
|
|
648
805
|
}
|
|
649
806
|
},
|
|
807
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLogPolicyC05E1C71": {
|
|
808
|
+
"Type": "AWS::S3::BucketPolicy",
|
|
809
|
+
"Properties": {
|
|
810
|
+
"Bucket": {
|
|
811
|
+
"Ref": "cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A"
|
|
812
|
+
},
|
|
813
|
+
"PolicyDocument": {
|
|
814
|
+
"Statement": [
|
|
815
|
+
{
|
|
816
|
+
"Action": "s3:*",
|
|
817
|
+
"Condition": {
|
|
818
|
+
"Bool": {
|
|
819
|
+
"aws:SecureTransport": "false"
|
|
820
|
+
}
|
|
821
|
+
},
|
|
822
|
+
"Effect": "Deny",
|
|
823
|
+
"Principal": {
|
|
824
|
+
"AWS": "*"
|
|
825
|
+
},
|
|
826
|
+
"Resource": [
|
|
827
|
+
{
|
|
828
|
+
"Fn::GetAtt": [
|
|
829
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A",
|
|
830
|
+
"Arn"
|
|
831
|
+
]
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
"Fn::Join": [
|
|
835
|
+
"",
|
|
836
|
+
[
|
|
837
|
+
{
|
|
838
|
+
"Fn::GetAtt": [
|
|
839
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A",
|
|
840
|
+
"Arn"
|
|
841
|
+
]
|
|
842
|
+
},
|
|
843
|
+
"/*"
|
|
844
|
+
]
|
|
845
|
+
]
|
|
846
|
+
}
|
|
847
|
+
]
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"Action": [
|
|
851
|
+
"s3:PutBucketPolicy",
|
|
852
|
+
"s3:GetBucket*",
|
|
853
|
+
"s3:List*",
|
|
854
|
+
"s3:DeleteObject*"
|
|
855
|
+
],
|
|
856
|
+
"Effect": "Allow",
|
|
857
|
+
"Principal": {
|
|
858
|
+
"AWS": {
|
|
859
|
+
"Fn::GetAtt": [
|
|
860
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
861
|
+
"Arn"
|
|
862
|
+
]
|
|
863
|
+
}
|
|
864
|
+
},
|
|
865
|
+
"Resource": [
|
|
866
|
+
{
|
|
867
|
+
"Fn::GetAtt": [
|
|
868
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A",
|
|
869
|
+
"Arn"
|
|
870
|
+
]
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"Fn::Join": [
|
|
874
|
+
"",
|
|
875
|
+
[
|
|
876
|
+
{
|
|
877
|
+
"Fn::GetAtt": [
|
|
878
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A",
|
|
879
|
+
"Arn"
|
|
880
|
+
]
|
|
881
|
+
},
|
|
882
|
+
"/*"
|
|
883
|
+
]
|
|
884
|
+
]
|
|
885
|
+
}
|
|
886
|
+
]
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"Action": "s3:PutObject",
|
|
890
|
+
"Condition": {
|
|
891
|
+
"ArnLike": {
|
|
892
|
+
"aws:SourceArn": {
|
|
893
|
+
"Fn::GetAtt": [
|
|
894
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucket2E8E3DC2",
|
|
895
|
+
"Arn"
|
|
896
|
+
]
|
|
897
|
+
}
|
|
898
|
+
},
|
|
899
|
+
"StringEquals": {
|
|
900
|
+
"aws:SourceAccount": {
|
|
901
|
+
"Ref": "AWS::AccountId"
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
},
|
|
905
|
+
"Effect": "Allow",
|
|
906
|
+
"Principal": {
|
|
907
|
+
"Service": "logging.s3.amazonaws.com"
|
|
908
|
+
},
|
|
909
|
+
"Resource": {
|
|
910
|
+
"Fn::Join": [
|
|
911
|
+
"",
|
|
912
|
+
[
|
|
913
|
+
{
|
|
914
|
+
"Fn::GetAtt": [
|
|
915
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A",
|
|
916
|
+
"Arn"
|
|
917
|
+
]
|
|
918
|
+
},
|
|
919
|
+
"/*"
|
|
920
|
+
]
|
|
921
|
+
]
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
],
|
|
925
|
+
"Version": "2012-10-17"
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
},
|
|
929
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLogAutoDeleteObjectsCustomResource296BC002": {
|
|
930
|
+
"Type": "Custom::S3AutoDeleteObjects",
|
|
931
|
+
"Properties": {
|
|
932
|
+
"ServiceToken": {
|
|
933
|
+
"Fn::GetAtt": [
|
|
934
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
|
|
935
|
+
"Arn"
|
|
936
|
+
]
|
|
937
|
+
},
|
|
938
|
+
"BucketName": {
|
|
939
|
+
"Ref": "cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A"
|
|
940
|
+
}
|
|
941
|
+
},
|
|
942
|
+
"DependsOn": [
|
|
943
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLogPolicyC05E1C71"
|
|
944
|
+
],
|
|
945
|
+
"UpdateReplacePolicy": "Delete",
|
|
946
|
+
"DeletionPolicy": "Delete"
|
|
947
|
+
},
|
|
948
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucket2E8E3DC2": {
|
|
949
|
+
"Type": "AWS::S3::Bucket",
|
|
950
|
+
"Properties": {
|
|
951
|
+
"AccessControl": "LogDeliveryWrite",
|
|
952
|
+
"BucketEncryption": {
|
|
953
|
+
"ServerSideEncryptionConfiguration": [
|
|
954
|
+
{
|
|
955
|
+
"ServerSideEncryptionByDefault": {
|
|
956
|
+
"SSEAlgorithm": "AES256"
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
]
|
|
960
|
+
},
|
|
961
|
+
"LoggingConfiguration": {
|
|
962
|
+
"DestinationBucketName": {
|
|
963
|
+
"Ref": "cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A"
|
|
964
|
+
}
|
|
965
|
+
},
|
|
966
|
+
"OwnershipControls": {
|
|
967
|
+
"Rules": [
|
|
968
|
+
{
|
|
969
|
+
"ObjectOwnership": "ObjectWriter"
|
|
970
|
+
}
|
|
971
|
+
]
|
|
972
|
+
},
|
|
973
|
+
"PublicAccessBlockConfiguration": {
|
|
974
|
+
"BlockPublicAcls": true,
|
|
975
|
+
"BlockPublicPolicy": true,
|
|
976
|
+
"IgnorePublicAcls": true,
|
|
977
|
+
"RestrictPublicBuckets": true
|
|
978
|
+
},
|
|
979
|
+
"Tags": [
|
|
980
|
+
{
|
|
981
|
+
"Key": "aws-cdk:auto-delete-objects",
|
|
982
|
+
"Value": "true"
|
|
983
|
+
}
|
|
984
|
+
],
|
|
985
|
+
"VersioningConfiguration": {
|
|
986
|
+
"Status": "Enabled"
|
|
987
|
+
}
|
|
988
|
+
},
|
|
989
|
+
"UpdateReplacePolicy": "Delete",
|
|
990
|
+
"DeletionPolicy": "Delete"
|
|
991
|
+
},
|
|
650
992
|
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketPolicy416A95E3": {
|
|
651
993
|
"Type": "AWS::S3::BucketPolicy",
|
|
652
994
|
"Properties": {
|
|
@@ -910,7 +1252,7 @@
|
|
|
910
1252
|
[
|
|
911
1253
|
"Lambda function for auto-deleting objects in ",
|
|
912
1254
|
{
|
|
913
|
-
"Ref": "
|
|
1255
|
+
"Ref": "cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAccessLog48BE423A"
|
|
914
1256
|
},
|
|
915
1257
|
" S3 bucket."
|
|
916
1258
|
]
|
|
@@ -18,11 +18,18 @@ const lib_1 = require("../lib");
|
|
|
18
18
|
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
19
19
|
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
20
20
|
const core_1 = require("@aws-solutions-constructs/core");
|
|
21
|
+
const apigateway = require("aws-cdk-lib/aws-apigateway");
|
|
21
22
|
// Setup
|
|
22
23
|
const app = new aws_cdk_lib_1.App();
|
|
23
24
|
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
24
25
|
stack.templateOptions.description = 'Integration Test for aws-cloudfront-apigateway-lambda custom Cloudfront Logging Bucket';
|
|
25
26
|
new lib_1.CloudFrontToApiGatewayToLambda(stack, 'cf-apigw-lambda', {
|
|
27
|
+
apiGatewayProps: {
|
|
28
|
+
defaultMethodOptions: {
|
|
29
|
+
authorizationType: apigateway.AuthorizationType.CUSTOM,
|
|
30
|
+
authorizer: core_1.CreateApiAuthorizer(stack, `${core_1.generateIntegStackName(__filename)}-authorizer`)
|
|
31
|
+
},
|
|
32
|
+
},
|
|
26
33
|
lambdaFunctionProps: {
|
|
27
34
|
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
|
|
28
35
|
runtime: lambda.Runtime.NODEJS_16_X,
|
|
@@ -38,4 +45,4 @@ new lib_1.CloudFrontToApiGatewayToLambda(stack, 'cf-apigw-lambda', {
|
|
|
38
45
|
core_1.suppressAutoDeleteHandlerWarnings(stack);
|
|
39
46
|
// Synth
|
|
40
47
|
app.synth();
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0YXBsYW0tY3VzdG9tQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5jZnRhcGxhbS1jdXN0b21DbG91ZGZyb250TG9nZ2luZ0J1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsZ0JBQWdCO0FBQ2hCLDZDQUF3RDtBQUN4RCxnQ0FBd0Q7QUFDeEQsaURBQWlEO0FBQ2pELCtDQUFzRDtBQUN0RCx5REFBZ0k7QUFDaEkseURBQXlEO0FBRXpELFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsd0ZBQXdGLENBQUM7QUFFN0gsSUFBSSxvQ0FBOEIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7SUFDM0QsZUFBZSxFQUFFO1FBQ2Ysb0JBQW9CLEVBQUU7WUFDcEIsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU07WUFDdEQsVUFBVSxFQUFFLDBCQUFtQixDQUFDLEtBQUssRUFBRSxHQUFHLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7U0FDM0Y7S0FDRjtJQUNELG1CQUFtQixFQUFFO1FBQ25CLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDO1FBQ2xELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7UUFDbkMsT0FBTyxFQUFFLGVBQWU7S0FDekI7SUFDRCw0QkFBNEIsRUFBRTtRQUM1QixhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1FBQ3BDLGlCQUFpQixFQUFFLElBQUk7UUFDdkIsVUFBVSxFQUFFLHlCQUFnQixDQUFDLFVBQVU7UUFDdkMsU0FBUyxFQUFFLElBQUk7S0FDaEI7Q0FDRixDQUFDLENBQUM7QUFDSCx3Q0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUV6QyxRQUFRO0FBQ1IsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8vICFjZGstaW50ZWcgKlxuaW1wb3J0IHsgQXBwLCBTdGFjaywgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQnVja2V0RW5jcnlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUsIHN1cHByZXNzQXV0b0RlbGV0ZUhhbmRsZXJXYXJuaW5ncywgQ3JlYXRlQXBpQXV0aG9yaXplciB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgKiBhcyBhcGlnYXRld2F5IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheS1sYW1iZGEgY3VzdG9tIENsb3VkZnJvbnQgTG9nZ2luZyBCdWNrZXQnO1xuXG5uZXcgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhKHN0YWNrLCAnY2YtYXBpZ3ctbGFtYmRhJywge1xuICBhcGlHYXRld2F5UHJvcHM6IHtcbiAgICBkZWZhdWx0TWV0aG9kT3B0aW9uczoge1xuICAgICAgYXV0aG9yaXphdGlvblR5cGU6IGFwaWdhdGV3YXkuQXV0aG9yaXphdGlvblR5cGUuQ1VTVE9NLFxuICAgICAgYXV0aG9yaXplcjogQ3JlYXRlQXBpQXV0aG9yaXplcihzdGFjaywgYCR7Z2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKX0tYXV0aG9yaXplcmApXG4gICAgfSxcbiAgfSxcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczoge1xuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNl9YLFxuICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJ1xuICB9LFxuICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzOiB7XG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICB2ZXJzaW9uZWQ6IHRydWVcbiAgfVxufSk7XG5zdXBwcmVzc0F1dG9EZWxldGVIYW5kbGVyV2FybmluZ3Moc3RhY2spO1xuXG4vLyBTeW50aFxuYXBwLnN5bnRoKCk7XG4iXX0=
|