@aws-solutions-constructs/aws-cloudfront-apigateway-lambda 2.3.0 → 2.6.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 +113 -9
- package/README.md +45 -14
- package/lib/index.js +1 -1
- package/package.json +9 -9
- package/test/integ.customCloudfrontLoggingBucket.expected.json +139 -0
- package/test/integ.customCloudfrontLoggingBucket.js +3 -1
- package/test/integ.no-arguments.expected.json +141 -2
- package/test/integ.no-arguments.js +6 -1
- package/test/integ.override-behavior.expected.json +141 -2
- package/test/integ.override-behavior.js +7 -2
package/.jsii
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.
|
|
12
|
-
"@aws-solutions-constructs/core": "2.
|
|
13
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.6.0",
|
|
12
|
+
"@aws-solutions-constructs/core": "2.6.0",
|
|
13
|
+
"aws-cdk-lib": "^2.20.0",
|
|
14
14
|
"constructs": "^10.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencyClosure": {
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"targets": {
|
|
43
43
|
"dotnet": {
|
|
44
44
|
"iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
|
|
45
|
-
"namespace": "Amazon.
|
|
46
|
-
"packageId": "Amazon.
|
|
45
|
+
"namespace": "Amazon.SolutionsConstructs.AWS.Core",
|
|
46
|
+
"packageId": "Amazon.SolutionsConstructs.AWS.Core",
|
|
47
47
|
"signAssembly": true
|
|
48
48
|
},
|
|
49
49
|
"java": {
|
|
@@ -428,6 +428,19 @@
|
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
430
|
},
|
|
431
|
+
"aws-cdk-lib.aws_billingconductor": {
|
|
432
|
+
"targets": {
|
|
433
|
+
"dotnet": {
|
|
434
|
+
"namespace": "Amazon.CDK.AWS.BillingConductor"
|
|
435
|
+
},
|
|
436
|
+
"java": {
|
|
437
|
+
"package": "software.amazon.awscdk.services.billingconductor"
|
|
438
|
+
},
|
|
439
|
+
"python": {
|
|
440
|
+
"module": "aws_cdk.aws_billingconductor"
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
},
|
|
431
444
|
"aws-cdk-lib.aws_budgets": {
|
|
432
445
|
"targets": {
|
|
433
446
|
"dotnet": {
|
|
@@ -1235,6 +1248,19 @@
|
|
|
1235
1248
|
}
|
|
1236
1249
|
}
|
|
1237
1250
|
},
|
|
1251
|
+
"aws-cdk-lib.aws_forecast": {
|
|
1252
|
+
"targets": {
|
|
1253
|
+
"dotnet": {
|
|
1254
|
+
"namespace": "Amazon.CDK.AWS.Forecast"
|
|
1255
|
+
},
|
|
1256
|
+
"java": {
|
|
1257
|
+
"package": "software.amazon.awscdk.services.forecast"
|
|
1258
|
+
},
|
|
1259
|
+
"python": {
|
|
1260
|
+
"module": "aws_cdk.aws_forecast"
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
},
|
|
1238
1264
|
"aws-cdk-lib.aws_frauddetector": {
|
|
1239
1265
|
"targets": {
|
|
1240
1266
|
"dotnet": {
|
|
@@ -1417,6 +1443,19 @@
|
|
|
1417
1443
|
}
|
|
1418
1444
|
}
|
|
1419
1445
|
},
|
|
1446
|
+
"aws-cdk-lib.aws_inspectorv2": {
|
|
1447
|
+
"targets": {
|
|
1448
|
+
"dotnet": {
|
|
1449
|
+
"namespace": "Amazon.CDK.AWS.InspectorV2"
|
|
1450
|
+
},
|
|
1451
|
+
"java": {
|
|
1452
|
+
"package": "software.amazon.awscdk.services.inspectorv2"
|
|
1453
|
+
},
|
|
1454
|
+
"python": {
|
|
1455
|
+
"module": "aws_cdk.aws_inspectorv2"
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
},
|
|
1420
1459
|
"aws-cdk-lib.aws_iot": {
|
|
1421
1460
|
"targets": {
|
|
1422
1461
|
"dotnet": {
|
|
@@ -1547,6 +1586,19 @@
|
|
|
1547
1586
|
}
|
|
1548
1587
|
}
|
|
1549
1588
|
},
|
|
1589
|
+
"aws-cdk-lib.aws_kafkaconnect": {
|
|
1590
|
+
"targets": {
|
|
1591
|
+
"dotnet": {
|
|
1592
|
+
"namespace": "Amazon.CDK.AWS.KafkaConnect"
|
|
1593
|
+
},
|
|
1594
|
+
"java": {
|
|
1595
|
+
"package": "software.amazon.awscdk.services.kafkaconnect"
|
|
1596
|
+
},
|
|
1597
|
+
"python": {
|
|
1598
|
+
"module": "aws_cdk.aws_kafkaconnect"
|
|
1599
|
+
}
|
|
1600
|
+
}
|
|
1601
|
+
},
|
|
1550
1602
|
"aws-cdk-lib.aws_kendra": {
|
|
1551
1603
|
"targets": {
|
|
1552
1604
|
"dotnet": {
|
|
@@ -1586,6 +1638,19 @@
|
|
|
1586
1638
|
}
|
|
1587
1639
|
}
|
|
1588
1640
|
},
|
|
1641
|
+
"aws-cdk-lib.aws_kinesisanalyticsv2": {
|
|
1642
|
+
"targets": {
|
|
1643
|
+
"dotnet": {
|
|
1644
|
+
"namespace": "Amazon.CDK.AWS.KinesisAnalyticsV2"
|
|
1645
|
+
},
|
|
1646
|
+
"java": {
|
|
1647
|
+
"package": "software.amazon.awscdk.services.kinesisanalyticsv2"
|
|
1648
|
+
},
|
|
1649
|
+
"python": {
|
|
1650
|
+
"module": "aws_cdk.aws_kinesisanalyticsv2"
|
|
1651
|
+
}
|
|
1652
|
+
}
|
|
1653
|
+
},
|
|
1589
1654
|
"aws-cdk-lib.aws_kinesisfirehose": {
|
|
1590
1655
|
"targets": {
|
|
1591
1656
|
"dotnet": {
|
|
@@ -1599,6 +1664,19 @@
|
|
|
1599
1664
|
}
|
|
1600
1665
|
}
|
|
1601
1666
|
},
|
|
1667
|
+
"aws-cdk-lib.aws_kinesisvideo": {
|
|
1668
|
+
"targets": {
|
|
1669
|
+
"dotnet": {
|
|
1670
|
+
"namespace": "Amazon.CDK.AWS.KinesisVideo"
|
|
1671
|
+
},
|
|
1672
|
+
"java": {
|
|
1673
|
+
"package": "software.amazon.awscdk.services.kinesisvideo"
|
|
1674
|
+
},
|
|
1675
|
+
"python": {
|
|
1676
|
+
"module": "aws_cdk.aws_kinesisvideo"
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
},
|
|
1602
1680
|
"aws-cdk-lib.aws_kms": {
|
|
1603
1681
|
"targets": {
|
|
1604
1682
|
"dotnet": {
|
|
@@ -2028,6 +2106,19 @@
|
|
|
2028
2106
|
}
|
|
2029
2107
|
}
|
|
2030
2108
|
},
|
|
2109
|
+
"aws-cdk-lib.aws_personalize": {
|
|
2110
|
+
"targets": {
|
|
2111
|
+
"dotnet": {
|
|
2112
|
+
"namespace": "Amazon.CDK.AWS.Personalize"
|
|
2113
|
+
},
|
|
2114
|
+
"java": {
|
|
2115
|
+
"package": "software.amazon.awscdk.services.personalize"
|
|
2116
|
+
},
|
|
2117
|
+
"python": {
|
|
2118
|
+
"module": "aws_cdk.aws_personalize"
|
|
2119
|
+
}
|
|
2120
|
+
}
|
|
2121
|
+
},
|
|
2031
2122
|
"aws-cdk-lib.aws_pinpoint": {
|
|
2032
2123
|
"targets": {
|
|
2033
2124
|
"dotnet": {
|
|
@@ -2846,6 +2937,19 @@
|
|
|
2846
2937
|
"module": "aws_cdk.region_info"
|
|
2847
2938
|
}
|
|
2848
2939
|
}
|
|
2940
|
+
},
|
|
2941
|
+
"aws-cdk-lib.triggers": {
|
|
2942
|
+
"targets": {
|
|
2943
|
+
"dotnet": {
|
|
2944
|
+
"namespace": "Amazon.CDK.Triggers"
|
|
2945
|
+
},
|
|
2946
|
+
"java": {
|
|
2947
|
+
"package": "software.amazon.awscdk.triggers"
|
|
2948
|
+
},
|
|
2949
|
+
"python": {
|
|
2950
|
+
"module": "aws_cdk.triggers"
|
|
2951
|
+
}
|
|
2952
|
+
}
|
|
2849
2953
|
}
|
|
2850
2954
|
},
|
|
2851
2955
|
"targets": {
|
|
@@ -2902,7 +3006,7 @@
|
|
|
2902
3006
|
},
|
|
2903
3007
|
"description": "CDK Constructs for AWS Cloudfront to AWS API Gateway to AWS Lambda integration.",
|
|
2904
3008
|
"homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
|
|
2905
|
-
"jsiiVersion": "1.
|
|
3009
|
+
"jsiiVersion": "1.58.0 (build f8ba112)",
|
|
2906
3010
|
"keywords": [
|
|
2907
3011
|
"aws",
|
|
2908
3012
|
"cdk",
|
|
@@ -2922,7 +3026,7 @@
|
|
|
2922
3026
|
},
|
|
2923
3027
|
"name": "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
|
|
2924
3028
|
"readme": {
|
|
2925
|
-
"markdown": "# aws-cloudfront-apigateway-lambda module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n| Python|`aws_solutions_constructs.aws_cloudfront_apigateway_lambda`|\n| Typescript|`@aws-solutions-constructs/aws-cloudfront-apigateway-lambda`|\n| Java|`software.amazon.awsconstructs.services.cloudfrontapigatewaylambda`|\n\nThis AWS Solutions Construct implements an AWS CloudFront fronting an Amazon API Gateway Lambda backed REST API.\n\nHere is a minimal deployable pattern definition
|
|
3029
|
+
"markdown": "# aws-cloudfront-apigateway-lambda module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n| Python|`aws_solutions_constructs.aws_cloudfront_apigateway_lambda`|\n| Typescript|`@aws-solutions-constructs/aws-cloudfront-apigateway-lambda`|\n| Java|`software.amazon.awsconstructs.services.cloudfrontapigatewaylambda`|\n\nThis AWS Solutions Construct implements an AWS CloudFront fronting an Amazon API Gateway Lambda backed REST API.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda';\nimport * as lambda from 'aws-cdk-lib/aws-lambda';\n\nnew CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {\n lambdaFunctionProps: {\n code: lambda.Code.fromAsset(`lambda`),\n runtime: lambda.Runtime.NODEJS_14_X,\n handler: 'index.handler'\n }\n});\n```\n\nPython\n``` python\nfrom aws_solutions_constructs.aws_cloudfront_apigateway_lambda import CloudFrontToApiGatewayToLambda\nfrom aws_cdk import (\n aws_lambda as _lambda,\n Stack\n)\nfrom constructs import Construct\n\nCloudFrontToApiGatewayToLambda(self, 'test-cloudfront-apigateway-lambda',\n lambda_function_props=_lambda.FunctionProps(\n code=_lambda.Code.from_asset('lambda'),\n runtime=_lambda.Runtime.PYTHON_3_9,\n handler='index.handler'\n )\n )\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awscdk.services.lambda.*;\nimport software.amazon.awscdk.services.lambda.Runtime;\nimport software.amazon.awsconstructs.services.cloudfrontapigatewaylambda.*;\n\nnew CloudFrontToApiGatewayToLambda(this, \"test-cloudfront-apigateway-lambda\",\n new CloudFrontToApiGatewayToLambdaProps.Builder()\n .lambdaFunctionProps(new FunctionProps.Builder()\n .runtime(Runtime.NODEJS_14_X)\n .code(Code.fromAsset(\"lambda\"))\n .handler(\"index.handler\")\n .build())\n .build());\n```\n\n\n## Pattern Construct Props\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|existingLambdaObj?|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)|Existing instance of Lambda Function object, providing both this and `lambdaFunctionProps` will cause an error.|\n|lambdaFunctionProps?|[`lambda.FunctionProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)|Optional user provided props to override the default props for the Lambda function.|\n|apiGatewayProps?|[`api.LambdaRestApiProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApiProps.html)|Optional user provided props to override the default props for API Gateway|\n|cloudFrontDistributionProps?|[`cloudfront.DistributionProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)|Optional user provided props to override the default props for CloudFront Distribution|\n|insertHttpSecurityHeaders?|`boolean`|Optional user provided props to turn on/off the automatic injection of best practice HTTP security headers in all responses from CloudFront|\n|logGroupProps?|[`logs.LogGroupProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)|Optional user provided props to override the default props for for the CloudWatchLogs LogGroup.|\n|cloudFrontLoggingBucketProps?|[`s3.BucketProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)|Optional user provided props to override the default props for the CloudFront Logging Bucket.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|cloudFrontWebDistribution|[`cloudfront.CloudFrontWebDistribution`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)|Returns an instance of cloudfront.CloudFrontWebDistribution created by the construct|\n|cloudFrontFunction?|[`cloudfront.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.Function.html)|Returns an instance of the Cloudfront function created by the pattern.|\n|cloudFrontLoggingBucket|[`s3.Bucket`](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-readme.html)|Returns an instance of the logging bucket for CloudFront WebDistribution.|\n|apiGateway|[`api.RestApi`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)|Returns an instance of the API Gateway REST API created by the pattern.|\n|apiGatewayCloudWatchRole?|[`iam.Role`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)|Returns an instance of the iam.Role created by the construct for API Gateway for CloudWatch access.|\n|apiGatewayLogGroup|[`logs.LogGroup`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)|Returns an instance of the LogGroup created by the construct for API Gateway access logging to CloudWatch.|\n|lambdaFunction|[`lambda.Function`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)|Returns an instance of the Lambda function created by the pattern.|\n\n## Default settings\n\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon CloudFront\n* Configure Access logging for CloudFront WebDistribution\n* Enable automatic injection of best practice HTTP security headers in all responses from CloudFront WebDistribution\n\n### Amazon API Gateway\n* Deploy a regional API endpoint\n* Enable CloudWatch logging for API Gateway\n* Configure least privilege access IAM role for API Gateway\n* Set the default authorizationType for all API methods to NONE\n* Enable X-Ray Tracing\n\n### AWS Lambda Function\n* Configure limited privilege access IAM role for Lambda function\n* Enable reusing connections with Keep-Alive for NodeJs Lambda function\n* Enable X-Ray Tracing\n* Set Environment Variables\n * AWS_NODEJS_CONNECTION_REUSE_ENABLED (for Node 10.x and higher functions)\n\n## Architecture\n\n\n***\n© Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
|
|
2926
3030
|
},
|
|
2927
3031
|
"repository": {
|
|
2928
3032
|
"directory": "source/patterns/@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
|
|
@@ -3228,6 +3332,6 @@
|
|
|
3228
3332
|
"symbolId": "lib/index:CloudFrontToApiGatewayToLambdaProps"
|
|
3229
3333
|
}
|
|
3230
3334
|
},
|
|
3231
|
-
"version": "2.
|
|
3232
|
-
"fingerprint": "
|
|
3335
|
+
"version": "2.6.0",
|
|
3336
|
+
"fingerprint": "ehZz07dpQZz2tATbFk0RVWa6u0Tp5uZzZ1A9/LTQalU="
|
|
3233
3337
|
}
|
package/README.md
CHANGED
|
@@ -20,31 +20,62 @@
|
|
|
20
20
|
|
|
21
21
|
This AWS Solutions Construct implements an AWS CloudFront fronting an Amazon API Gateway Lambda backed REST API.
|
|
22
22
|
|
|
23
|
-
Here is a minimal deployable pattern definition
|
|
23
|
+
Here is a minimal deployable pattern definition:
|
|
24
24
|
|
|
25
|
+
Typescript
|
|
25
26
|
``` typescript
|
|
27
|
+
import { Construct } from 'constructs';
|
|
28
|
+
import { Stack, StackProps } from 'aws-cdk-lib';
|
|
26
29
|
import { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda';
|
|
30
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
27
31
|
|
|
28
32
|
new CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
lambdaFunctionProps: {
|
|
34
|
+
code: lambda.Code.fromAsset(`lambda`),
|
|
35
|
+
runtime: lambda.Runtime.NODEJS_14_X,
|
|
36
|
+
handler: 'index.handler'
|
|
37
|
+
}
|
|
34
38
|
});
|
|
35
39
|
```
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
Python
|
|
42
|
+
``` python
|
|
43
|
+
from aws_solutions_constructs.aws_cloudfront_apigateway_lambda import CloudFrontToApiGatewayToLambda
|
|
44
|
+
from aws_cdk import (
|
|
45
|
+
aws_lambda as _lambda,
|
|
46
|
+
Stack
|
|
47
|
+
)
|
|
48
|
+
from constructs import Construct
|
|
49
|
+
|
|
50
|
+
CloudFrontToApiGatewayToLambda(self, 'test-cloudfront-apigateway-lambda',
|
|
51
|
+
lambda_function_props=_lambda.FunctionProps(
|
|
52
|
+
code=_lambda.Code.from_asset('lambda'),
|
|
53
|
+
runtime=_lambda.Runtime.PYTHON_3_9,
|
|
54
|
+
handler='index.handler'
|
|
55
|
+
)
|
|
56
|
+
)
|
|
41
57
|
```
|
|
42
58
|
|
|
43
|
-
|
|
59
|
+
Java
|
|
60
|
+
``` java
|
|
61
|
+
import software.constructs.Construct;
|
|
62
|
+
|
|
63
|
+
import software.amazon.awscdk.Stack;
|
|
64
|
+
import software.amazon.awscdk.StackProps;
|
|
65
|
+
import software.amazon.awscdk.services.lambda.*;
|
|
66
|
+
import software.amazon.awscdk.services.lambda.Runtime;
|
|
67
|
+
import software.amazon.awsconstructs.services.cloudfrontapigatewaylambda.*;
|
|
68
|
+
|
|
69
|
+
new CloudFrontToApiGatewayToLambda(this, "test-cloudfront-apigateway-lambda",
|
|
70
|
+
new CloudFrontToApiGatewayToLambdaProps.Builder()
|
|
71
|
+
.lambdaFunctionProps(new FunctionProps.Builder()
|
|
72
|
+
.runtime(Runtime.NODEJS_14_X)
|
|
73
|
+
.code(Code.fromAsset("lambda"))
|
|
74
|
+
.handler("index.handler")
|
|
75
|
+
.build())
|
|
76
|
+
.build());
|
|
77
|
+
```
|
|
44
78
|
|
|
45
|
-
* scope [`Construct`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html)
|
|
46
|
-
* id `string`
|
|
47
|
-
* props [`CloudFrontToApiGatewayToLambdaProps`](#pattern-construct-props)
|
|
48
79
|
|
|
49
80
|
## Pattern Construct Props
|
|
50
81
|
|
package/lib/index.js
CHANGED
|
@@ -51,5 +51,5 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
|
|
|
51
51
|
}
|
|
52
52
|
exports.CloudFrontToApiGatewayToLambda = CloudFrontToApiGatewayToLambda;
|
|
53
53
|
_a = JSII_RTTI_SYMBOL_1;
|
|
54
|
-
CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.
|
|
54
|
+
CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.6.0" };
|
|
55
55
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQUN2QyxtR0FBNkY7QUFtRDdGLE1BQWEsOEJBQStCLFNBQVEsc0JBQVM7SUFTM0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRTtZQUN2RCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDdkUsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQzVDLG1FQUFtRTtZQUNuRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQWtCLENBQUM7WUFDcEUsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFO2dCQUN6QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRXZELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUU7b0JBQ3RDO3dCQUNFLEVBQUUsRUFBRSxLQUFLO3dCQUNULE1BQU0sRUFBRSwwSUFBMEk7cUJBQ25KO2lCQUNGLENBQUMsQ0FBQzthQUVKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBMkIsSUFBSSxrREFBc0IsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDdkcscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdEMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7U0FDakUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHlCQUF5QixHQUFHLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztRQUN6RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1FBQzNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxhQUFhLENBQUMsdUJBQXVCLENBQUM7SUFDdkUsQ0FBQzs7QUF2REgsd0VBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbG91ZEZyb250VG9BcGlHYXRld2F5IH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9hd3MtY2xvdWRmcm9udC1hcGlnYXRld2F5JztcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUgcHJvcGVydGllcyBmb3IgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBDb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcyB7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBMYW1iZGEgRnVuY3Rpb24gb2JqZWN0LCBwcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgbGFtYmRhRnVuY3Rpb25Qcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbixcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25Qcm9wcz86IGxhbWJkYS5GdW5jdGlvblByb3BzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQVBJIEdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR2F0ZXdheVByb3BzPzogYXBpLkxhbWJkYVJlc3RBcGlQcm9wcyB8IGFueVxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcz86IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uUHJvcHMgfCBhbnksXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIHR1cm4gb24vb2ZmIHRoZSBhdXRvbWF0aWMgaW5qZWN0aW9uIG9mIGJlc3QgcHJhY3RpY2UgSFRUUFxuICAgKiBzZWN1cml0eSBoZWFkZXJzIGluIGFsbCByZXNwb25zZXMgZnJvbSBjbG91ZGZyb250XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wc1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIENsb3VkRnJvbnQgTG9nZ2luZyBCdWNrZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wc1xufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRGcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0PzogczMuQnVja2V0O1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheTogYXBpLlJlc3RBcGk7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGU/OiBpYW0uUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBjbGFzcy5cbiAgICogQHBhcmFtIHtjZGsuQXBwfSBzY29wZSAtIHJlcHJlc2VudHMgdGhlIHNjb3BlIGZvciBhbGwgdGhlIHJlc291cmNlcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gdGhpcyBpcyBhIGEgc2NvcGUtdW5pcXVlIGlkLlxuICAgKiBAcGFyYW0ge0Nsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGRlZmF1bHRzLkNoZWNrUHJvcHMocHJvcHMpO1xuXG4gICAgdGhpcy5sYW1iZGFGdW5jdGlvbiA9IGRlZmF1bHRzLmJ1aWxkTGFtYmRhRnVuY3Rpb24odGhpcywge1xuICAgICAgZXhpc3RpbmdMYW1iZGFPYmo6IHByb3BzLmV4aXN0aW5nTGFtYmRhT2JqLFxuICAgICAgbGFtYmRhRnVuY3Rpb25Qcm9wczogcHJvcHMubGFtYmRhRnVuY3Rpb25Qcm9wc1xuICAgIH0pO1xuXG4gICAgW3RoaXMuYXBpR2F0ZXdheSwgdGhpcy5hcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGUsIHRoaXMuYXBpR2F0ZXdheUxvZ0dyb3VwXSA9XG4gICAgICBkZWZhdWx0cy5SZWdpb25hbExhbWJkYVJlc3RBcGkodGhpcywgdGhpcy5sYW1iZGFGdW5jdGlvbiwgcHJvcHMuYXBpR2F0ZXdheVByb3BzLCBwcm9wcy5sb2dHcm91cFByb3BzKTtcblxuICAgIHRoaXMuYXBpR2F0ZXdheS5tZXRob2RzLmZvckVhY2goKGFwaU1ldGhvZCkgPT4ge1xuICAgICAgLy8gT3ZlcnJpZGUgdGhlIEFQSSBHYXRld2F5IEF1dGhvcml6YXRpb24gVHlwZSBmcm9tIEFXU19JQU0gdG8gTk9ORVxuICAgICAgY29uc3QgY2hpbGQgPSBhcGlNZXRob2Qubm9kZS5maW5kQ2hpbGQoJ1Jlc291cmNlJykgYXMgYXBpLkNmbk1ldGhvZDtcbiAgICAgIGlmIChjaGlsZC5hdXRob3JpemF0aW9uVHlwZSA9PT0gJ0FXU19JQU0nKSB7XG4gICAgICAgIGNoaWxkLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0F1dGhvcml6YXRpb25UeXBlJywgJ05PTkUnKTtcblxuICAgICAgICBkZWZhdWx0cy5hZGRDZm5TdXBwcmVzc1J1bGVzKGFwaU1ldGhvZCwgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnVzU5JyxcbiAgICAgICAgICAgIHJlYXNvbjogYEFXUzo6QXBpR2F0ZXdheTo6TWV0aG9kIEF1dGhvcml6YXRpb25UeXBlIGlzIHNldCB0byAnTk9ORScgYmVjYXVzZSBBUEkgR2F0ZXdheSBiZWhpbmQgQ2xvdWRGcm9udCBkb2VzIG5vdCBzdXBwb3J0IEFXU19JQU0gYXV0aGVudGljYXRpb25gXG4gICAgICAgICAgfSxcbiAgICAgICAgXSk7XG5cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGFwaUNsb3VkZnJvbnQ6IENsb3VkRnJvbnRUb0FwaUdhdGV3YXkgPSBuZXcgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSh0aGlzLCAnQ2xvdWRGcm9udFRvQXBpR2F0ZXdheScsIHtcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheU9iajogdGhpcy5hcGlHYXRld2F5LFxuICAgICAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiBwcm9wcy5jbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHMsXG4gICAgICBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzOiBwcm9wcy5pbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzLFxuICAgICAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczogcHJvcHMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wc1xuICAgIH0pO1xuXG4gICAgdGhpcy5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uO1xuICAgIHRoaXMuY2xvdWRGcm9udEZ1bmN0aW9uID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250RnVuY3Rpb247XG4gICAgdGhpcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldCA9IGFwaUNsb3VkZnJvbnQuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXQ7XG4gIH1cbn1cbiJdfQ==
|
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.6.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",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"integ-no-clean": "cdk-integ --no-clean",
|
|
27
27
|
"integ-assert": "cdk-integ-assert-v2",
|
|
28
28
|
"jsii": "jsii",
|
|
29
|
-
"jsii-pacmak": "jsii-pacmak
|
|
29
|
+
"jsii-pacmak": "jsii-pacmak",
|
|
30
30
|
"build+lint+test": "npm run jsii && npm run lint && npm test && npm run integ-assert",
|
|
31
31
|
"snapshot-update": "npm run jsii && npm test -- -u && npm run integ-assert"
|
|
32
32
|
},
|
|
@@ -53,14 +53,14 @@
|
|
|
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.6.0",
|
|
57
|
+
"@aws-solutions-constructs/core": "2.6.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@aws-cdk/assert": "2.
|
|
60
|
+
"@aws-cdk/assert": "2.20.0",
|
|
61
61
|
"@types/jest": "^27.4.0",
|
|
62
62
|
"@types/node": "^10.3.0",
|
|
63
|
-
"aws-cdk-lib": "2.
|
|
63
|
+
"aws-cdk-lib": "2.20.0",
|
|
64
64
|
"constructs": "^10.0.0"
|
|
65
65
|
},
|
|
66
66
|
"jest": {
|
|
@@ -78,9 +78,9 @@
|
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"@aws-solutions-constructs/core": "2.
|
|
82
|
-
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.
|
|
83
|
-
"aws-cdk-lib": "^2.
|
|
81
|
+
"@aws-solutions-constructs/core": "2.6.0",
|
|
82
|
+
"@aws-solutions-constructs/aws-cloudfront-apigateway": "2.6.0",
|
|
83
|
+
"aws-cdk-lib": "^2.20.0",
|
|
84
84
|
"constructs": "^10.0.0"
|
|
85
85
|
},
|
|
86
86
|
"keywords": [
|
|
@@ -617,6 +617,12 @@
|
|
|
617
617
|
"IgnorePublicAcls": true,
|
|
618
618
|
"RestrictPublicBuckets": true
|
|
619
619
|
},
|
|
620
|
+
"Tags": [
|
|
621
|
+
{
|
|
622
|
+
"Key": "aws-cdk:auto-delete-objects",
|
|
623
|
+
"Value": "true"
|
|
624
|
+
}
|
|
625
|
+
],
|
|
620
626
|
"VersioningConfiguration": {
|
|
621
627
|
"Status": "Enabled"
|
|
622
628
|
}
|
|
@@ -675,12 +681,69 @@
|
|
|
675
681
|
]
|
|
676
682
|
}
|
|
677
683
|
]
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
"Action": [
|
|
687
|
+
"s3:GetBucket*",
|
|
688
|
+
"s3:List*",
|
|
689
|
+
"s3:DeleteObject*"
|
|
690
|
+
],
|
|
691
|
+
"Effect": "Allow",
|
|
692
|
+
"Principal": {
|
|
693
|
+
"AWS": {
|
|
694
|
+
"Fn::GetAtt": [
|
|
695
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
696
|
+
"Arn"
|
|
697
|
+
]
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"Resource": [
|
|
701
|
+
{
|
|
702
|
+
"Fn::GetAtt": [
|
|
703
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucket2E8E3DC2",
|
|
704
|
+
"Arn"
|
|
705
|
+
]
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"Fn::Join": [
|
|
709
|
+
"",
|
|
710
|
+
[
|
|
711
|
+
{
|
|
712
|
+
"Fn::GetAtt": [
|
|
713
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucket2E8E3DC2",
|
|
714
|
+
"Arn"
|
|
715
|
+
]
|
|
716
|
+
},
|
|
717
|
+
"/*"
|
|
718
|
+
]
|
|
719
|
+
]
|
|
720
|
+
}
|
|
721
|
+
]
|
|
678
722
|
}
|
|
679
723
|
],
|
|
680
724
|
"Version": "2012-10-17"
|
|
681
725
|
}
|
|
682
726
|
}
|
|
683
727
|
},
|
|
728
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAutoDeleteObjectsCustomResource4AC22AEE": {
|
|
729
|
+
"Type": "Custom::S3AutoDeleteObjects",
|
|
730
|
+
"Properties": {
|
|
731
|
+
"ServiceToken": {
|
|
732
|
+
"Fn::GetAtt": [
|
|
733
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
|
|
734
|
+
"Arn"
|
|
735
|
+
]
|
|
736
|
+
},
|
|
737
|
+
"BucketName": {
|
|
738
|
+
"Ref": "cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucket2E8E3DC2"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"DependsOn": [
|
|
742
|
+
"cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucketPolicy416A95E3"
|
|
743
|
+
],
|
|
744
|
+
"UpdateReplacePolicy": "Delete",
|
|
745
|
+
"DeletionPolicy": "Delete"
|
|
746
|
+
},
|
|
684
747
|
"cfapigwlambdaCloudFrontToApiGatewayCloudFrontDistributionF8B75200": {
|
|
685
748
|
"Type": "AWS::CloudFront::Distribution",
|
|
686
749
|
"Properties": {
|
|
@@ -791,6 +854,82 @@
|
|
|
791
854
|
]
|
|
792
855
|
}
|
|
793
856
|
}
|
|
857
|
+
},
|
|
858
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
|
|
859
|
+
"Type": "AWS::IAM::Role",
|
|
860
|
+
"Properties": {
|
|
861
|
+
"AssumeRolePolicyDocument": {
|
|
862
|
+
"Version": "2012-10-17",
|
|
863
|
+
"Statement": [
|
|
864
|
+
{
|
|
865
|
+
"Action": "sts:AssumeRole",
|
|
866
|
+
"Effect": "Allow",
|
|
867
|
+
"Principal": {
|
|
868
|
+
"Service": "lambda.amazonaws.com"
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
]
|
|
872
|
+
},
|
|
873
|
+
"ManagedPolicyArns": [
|
|
874
|
+
{
|
|
875
|
+
"Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
876
|
+
}
|
|
877
|
+
]
|
|
878
|
+
}
|
|
879
|
+
},
|
|
880
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
|
|
881
|
+
"Type": "AWS::Lambda::Function",
|
|
882
|
+
"Properties": {
|
|
883
|
+
"Code": {
|
|
884
|
+
"S3Bucket": {
|
|
885
|
+
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
886
|
+
},
|
|
887
|
+
"S3Key": "15684a15d07860e99d2a8079150ad33dd2cb743677fcd7016dd07345e1b69538.zip"
|
|
888
|
+
},
|
|
889
|
+
"Timeout": 900,
|
|
890
|
+
"MemorySize": 128,
|
|
891
|
+
"Handler": "__entrypoint__.handler",
|
|
892
|
+
"Role": {
|
|
893
|
+
"Fn::GetAtt": [
|
|
894
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
895
|
+
"Arn"
|
|
896
|
+
]
|
|
897
|
+
},
|
|
898
|
+
"Runtime": "nodejs12.x",
|
|
899
|
+
"Description": {
|
|
900
|
+
"Fn::Join": [
|
|
901
|
+
"",
|
|
902
|
+
[
|
|
903
|
+
"Lambda function for auto-deleting objects in ",
|
|
904
|
+
{
|
|
905
|
+
"Ref": "cfapigwlambdaCloudFrontToApiGatewayCloudfrontLoggingBucket2E8E3DC2"
|
|
906
|
+
},
|
|
907
|
+
" S3 bucket."
|
|
908
|
+
]
|
|
909
|
+
]
|
|
910
|
+
}
|
|
911
|
+
},
|
|
912
|
+
"DependsOn": [
|
|
913
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
|
|
914
|
+
],
|
|
915
|
+
"Metadata": {
|
|
916
|
+
"cfn_nag": {
|
|
917
|
+
"rules_to_suppress": [
|
|
918
|
+
{
|
|
919
|
+
"id": "W58",
|
|
920
|
+
"reason": "CDK generated custom resource"
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
"id": "W89",
|
|
924
|
+
"reason": "CDK generated custom resource"
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"id": "W92",
|
|
928
|
+
"reason": "CDK generated custom resource"
|
|
929
|
+
}
|
|
930
|
+
]
|
|
931
|
+
}
|
|
932
|
+
}
|
|
794
933
|
}
|
|
795
934
|
},
|
|
796
935
|
"Outputs": {
|
|
@@ -30,10 +30,12 @@ new lib_1.CloudFrontToApiGatewayToLambda(stack, 'cf-apigw-lambda', {
|
|
|
30
30
|
},
|
|
31
31
|
cloudFrontLoggingBucketProps: {
|
|
32
32
|
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
33
|
+
autoDeleteObjects: true,
|
|
33
34
|
encryption: aws_s3_1.BucketEncryption.S3_MANAGED,
|
|
34
35
|
versioned: true
|
|
35
36
|
}
|
|
36
37
|
});
|
|
38
|
+
core_1.suppressAutoDeleteHandlerWarnings(stack);
|
|
37
39
|
// Synth
|
|
38
40
|
app.synth();
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY3VzdG9tQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5jdXN0b21DbG91ZGZyb250TG9nZ2luZ0J1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsZ0JBQWdCO0FBQ2hCLDZDQUF3RDtBQUN4RCxnQ0FBd0Q7QUFDeEQsaURBQWlEO0FBQ2pELCtDQUFzRDtBQUN0RCx5REFBMkc7QUFFM0csUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNqRSxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyx3RkFBd0YsQ0FBQztBQUU3SCxJQUFJLG9DQUE4QixDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtJQUMzRCxtQkFBbUIsRUFBRTtRQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQztRQUNsRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQ25DLE9BQU8sRUFBRSxlQUFlO0tBQ3pCO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLFVBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxVQUFVO1FBQ3ZDLFNBQVMsRUFBRSxJQUFJO0tBQ2hCO0NBQ0YsQ0FBQyxDQUFDO0FBQ0gsd0NBQWlDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekMsUUFBUTtBQUNSLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8vICFjZGstaW50ZWcgKlxuaW1wb3J0IHsgQXBwLCBTdGFjaywgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQnVja2V0RW5jcnlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUsIHN1cHByZXNzQXV0b0RlbGV0ZUhhbmRsZXJXYXJuaW5ncyB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5cbi8vIFNldHVwXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ0ludGVncmF0aW9uIFRlc3QgZm9yIGF3cy1jbG91ZGZyb250LWFwaWdhdGV3YXktbGFtYmRhIGN1c3RvbSBDbG91ZGZyb250IExvZ2dpbmcgQnVja2V0JztcblxubmV3IENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYShzdGFjaywgJ2NmLWFwaWd3LWxhbWJkYScsIHtcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczoge1xuICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNF9YLFxuICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJ1xuICB9LFxuICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzOiB7XG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICB2ZXJzaW9uZWQ6IHRydWVcbiAgfVxufSk7XG5zdXBwcmVzc0F1dG9EZWxldGVIYW5kbGVyV2FybmluZ3Moc3RhY2spO1xuXG4vLyBTeW50aFxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -617,12 +617,18 @@
|
|
|
617
617
|
"IgnorePublicAcls": true,
|
|
618
618
|
"RestrictPublicBuckets": true
|
|
619
619
|
},
|
|
620
|
+
"Tags": [
|
|
621
|
+
{
|
|
622
|
+
"Key": "aws-cdk:auto-delete-objects",
|
|
623
|
+
"Value": "true"
|
|
624
|
+
}
|
|
625
|
+
],
|
|
620
626
|
"VersioningConfiguration": {
|
|
621
627
|
"Status": "Enabled"
|
|
622
628
|
}
|
|
623
629
|
},
|
|
624
|
-
"UpdateReplacePolicy": "
|
|
625
|
-
"DeletionPolicy": "
|
|
630
|
+
"UpdateReplacePolicy": "Delete",
|
|
631
|
+
"DeletionPolicy": "Delete",
|
|
626
632
|
"Metadata": {
|
|
627
633
|
"cfn_nag": {
|
|
628
634
|
"rules_to_suppress": [
|
|
@@ -675,12 +681,69 @@
|
|
|
675
681
|
]
|
|
676
682
|
}
|
|
677
683
|
]
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
"Action": [
|
|
687
|
+
"s3:GetBucket*",
|
|
688
|
+
"s3:List*",
|
|
689
|
+
"s3:DeleteObject*"
|
|
690
|
+
],
|
|
691
|
+
"Effect": "Allow",
|
|
692
|
+
"Principal": {
|
|
693
|
+
"AWS": {
|
|
694
|
+
"Fn::GetAtt": [
|
|
695
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
696
|
+
"Arn"
|
|
697
|
+
]
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"Resource": [
|
|
701
|
+
{
|
|
702
|
+
"Fn::GetAtt": [
|
|
703
|
+
"testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucket7F467421",
|
|
704
|
+
"Arn"
|
|
705
|
+
]
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"Fn::Join": [
|
|
709
|
+
"",
|
|
710
|
+
[
|
|
711
|
+
{
|
|
712
|
+
"Fn::GetAtt": [
|
|
713
|
+
"testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucket7F467421",
|
|
714
|
+
"Arn"
|
|
715
|
+
]
|
|
716
|
+
},
|
|
717
|
+
"/*"
|
|
718
|
+
]
|
|
719
|
+
]
|
|
720
|
+
}
|
|
721
|
+
]
|
|
678
722
|
}
|
|
679
723
|
],
|
|
680
724
|
"Version": "2012-10-17"
|
|
681
725
|
}
|
|
682
726
|
}
|
|
683
727
|
},
|
|
728
|
+
"testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucketAutoDeleteObjectsCustomResourceD4126D01": {
|
|
729
|
+
"Type": "Custom::S3AutoDeleteObjects",
|
|
730
|
+
"Properties": {
|
|
731
|
+
"ServiceToken": {
|
|
732
|
+
"Fn::GetAtt": [
|
|
733
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
|
|
734
|
+
"Arn"
|
|
735
|
+
]
|
|
736
|
+
},
|
|
737
|
+
"BucketName": {
|
|
738
|
+
"Ref": "testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucket7F467421"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"DependsOn": [
|
|
742
|
+
"testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucketPolicy4A551B79"
|
|
743
|
+
],
|
|
744
|
+
"UpdateReplacePolicy": "Delete",
|
|
745
|
+
"DeletionPolicy": "Delete"
|
|
746
|
+
},
|
|
684
747
|
"testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudFrontDistribution0AFC98FC": {
|
|
685
748
|
"Type": "AWS::CloudFront::Distribution",
|
|
686
749
|
"Properties": {
|
|
@@ -791,6 +854,82 @@
|
|
|
791
854
|
]
|
|
792
855
|
}
|
|
793
856
|
}
|
|
857
|
+
},
|
|
858
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
|
|
859
|
+
"Type": "AWS::IAM::Role",
|
|
860
|
+
"Properties": {
|
|
861
|
+
"AssumeRolePolicyDocument": {
|
|
862
|
+
"Version": "2012-10-17",
|
|
863
|
+
"Statement": [
|
|
864
|
+
{
|
|
865
|
+
"Action": "sts:AssumeRole",
|
|
866
|
+
"Effect": "Allow",
|
|
867
|
+
"Principal": {
|
|
868
|
+
"Service": "lambda.amazonaws.com"
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
]
|
|
872
|
+
},
|
|
873
|
+
"ManagedPolicyArns": [
|
|
874
|
+
{
|
|
875
|
+
"Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
876
|
+
}
|
|
877
|
+
]
|
|
878
|
+
}
|
|
879
|
+
},
|
|
880
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
|
|
881
|
+
"Type": "AWS::Lambda::Function",
|
|
882
|
+
"Properties": {
|
|
883
|
+
"Code": {
|
|
884
|
+
"S3Bucket": {
|
|
885
|
+
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
886
|
+
},
|
|
887
|
+
"S3Key": "15684a15d07860e99d2a8079150ad33dd2cb743677fcd7016dd07345e1b69538.zip"
|
|
888
|
+
},
|
|
889
|
+
"Timeout": 900,
|
|
890
|
+
"MemorySize": 128,
|
|
891
|
+
"Handler": "__entrypoint__.handler",
|
|
892
|
+
"Role": {
|
|
893
|
+
"Fn::GetAtt": [
|
|
894
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
895
|
+
"Arn"
|
|
896
|
+
]
|
|
897
|
+
},
|
|
898
|
+
"Runtime": "nodejs12.x",
|
|
899
|
+
"Description": {
|
|
900
|
+
"Fn::Join": [
|
|
901
|
+
"",
|
|
902
|
+
[
|
|
903
|
+
"Lambda function for auto-deleting objects in ",
|
|
904
|
+
{
|
|
905
|
+
"Ref": "testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucket7F467421"
|
|
906
|
+
},
|
|
907
|
+
" S3 bucket."
|
|
908
|
+
]
|
|
909
|
+
]
|
|
910
|
+
}
|
|
911
|
+
},
|
|
912
|
+
"DependsOn": [
|
|
913
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
|
|
914
|
+
],
|
|
915
|
+
"Metadata": {
|
|
916
|
+
"cfn_nag": {
|
|
917
|
+
"rules_to_suppress": [
|
|
918
|
+
{
|
|
919
|
+
"id": "W58",
|
|
920
|
+
"reason": "CDK generated custom resource"
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
"id": "W89",
|
|
924
|
+
"reason": "CDK generated custom resource"
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"id": "W92",
|
|
928
|
+
"reason": "CDK generated custom resource"
|
|
929
|
+
}
|
|
930
|
+
]
|
|
931
|
+
}
|
|
932
|
+
}
|
|
794
933
|
}
|
|
795
934
|
},
|
|
796
935
|
"Outputs": {
|
|
@@ -28,7 +28,12 @@ const lambdaProps = {
|
|
|
28
28
|
};
|
|
29
29
|
new lib_1.CloudFrontToApiGatewayToLambda(stack, 'test-cloudfront-apigateway-lambda', {
|
|
30
30
|
lambdaFunctionProps: lambdaProps,
|
|
31
|
+
cloudFrontLoggingBucketProps: {
|
|
32
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
33
|
+
autoDeleteObjects: true
|
|
34
|
+
},
|
|
31
35
|
});
|
|
36
|
+
core_1.suppressAutoDeleteHandlerWarnings(stack);
|
|
32
37
|
// Synth
|
|
33
38
|
app.synth();
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcubm8tYXJndW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcubm8tYXJndW1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxnQkFBZ0I7QUFDaEIsNkNBQXdEO0FBQ3hELGdDQUF3RDtBQUN4RCxpREFBaUQ7QUFDakQseURBQTJHO0FBRTNHLFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsdURBQXVELENBQUM7QUFFNUYsTUFBTSxXQUFXLEdBQXlCO0lBQ3hDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDO0lBQ2xELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7SUFDbkMsT0FBTyxFQUFFLGVBQWU7Q0FDekIsQ0FBQztBQUVGLElBQUksb0NBQThCLENBQUMsS0FBSyxFQUFFLG1DQUFtQyxFQUFFO0lBQzdFLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsNEJBQTRCLEVBQUU7UUFDNUIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsd0NBQWlDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekMsUUFBUTtBQUNSLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8vICFjZGstaW50ZWcgKlxuaW1wb3J0IHsgQXBwLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSwgc3VwcHJlc3NBdXRvRGVsZXRlSGFuZGxlcldhcm5pbmdzIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheS1sYW1iZGEnO1xuXG5jb25zdCBsYW1iZGFQcm9wczogbGFtYmRhLkZ1bmN0aW9uUHJvcHMgPSB7XG4gIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCxcbiAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInXG59O1xuXG5uZXcgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhKHN0YWNrLCAndGVzdC1jbG91ZGZyb250LWFwaWdhdGV3YXktbGFtYmRhJywge1xuICBsYW1iZGFGdW5jdGlvblByb3BzOiBsYW1iZGFQcm9wcyxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxuICB9LFxufSk7XG5cbnN1cHByZXNzQXV0b0RlbGV0ZUhhbmRsZXJXYXJuaW5ncyhzdGFjayk7XG4vLyBTeW50aFxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -578,12 +578,18 @@
|
|
|
578
578
|
"IgnorePublicAcls": true,
|
|
579
579
|
"RestrictPublicBuckets": true
|
|
580
580
|
},
|
|
581
|
+
"Tags": [
|
|
582
|
+
{
|
|
583
|
+
"Key": "aws-cdk:auto-delete-objects",
|
|
584
|
+
"Value": "true"
|
|
585
|
+
}
|
|
586
|
+
],
|
|
581
587
|
"VersioningConfiguration": {
|
|
582
588
|
"Status": "Enabled"
|
|
583
589
|
}
|
|
584
590
|
},
|
|
585
|
-
"UpdateReplacePolicy": "
|
|
586
|
-
"DeletionPolicy": "
|
|
591
|
+
"UpdateReplacePolicy": "Delete",
|
|
592
|
+
"DeletionPolicy": "Delete",
|
|
587
593
|
"Metadata": {
|
|
588
594
|
"cfn_nag": {
|
|
589
595
|
"rules_to_suppress": [
|
|
@@ -636,12 +642,69 @@
|
|
|
636
642
|
]
|
|
637
643
|
}
|
|
638
644
|
]
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"Action": [
|
|
648
|
+
"s3:GetBucket*",
|
|
649
|
+
"s3:List*",
|
|
650
|
+
"s3:DeleteObject*"
|
|
651
|
+
],
|
|
652
|
+
"Effect": "Allow",
|
|
653
|
+
"Principal": {
|
|
654
|
+
"AWS": {
|
|
655
|
+
"Fn::GetAtt": [
|
|
656
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
657
|
+
"Arn"
|
|
658
|
+
]
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
"Resource": [
|
|
662
|
+
{
|
|
663
|
+
"Fn::GetAtt": [
|
|
664
|
+
"cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
|
|
665
|
+
"Arn"
|
|
666
|
+
]
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"Fn::Join": [
|
|
670
|
+
"",
|
|
671
|
+
[
|
|
672
|
+
{
|
|
673
|
+
"Fn::GetAtt": [
|
|
674
|
+
"cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0",
|
|
675
|
+
"Arn"
|
|
676
|
+
]
|
|
677
|
+
},
|
|
678
|
+
"/*"
|
|
679
|
+
]
|
|
680
|
+
]
|
|
681
|
+
}
|
|
682
|
+
]
|
|
639
683
|
}
|
|
640
684
|
],
|
|
641
685
|
"Version": "2012-10-17"
|
|
642
686
|
}
|
|
643
687
|
}
|
|
644
688
|
},
|
|
689
|
+
"cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketAutoDeleteObjectsCustomResource028E07CD": {
|
|
690
|
+
"Type": "Custom::S3AutoDeleteObjects",
|
|
691
|
+
"Properties": {
|
|
692
|
+
"ServiceToken": {
|
|
693
|
+
"Fn::GetAtt": [
|
|
694
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F",
|
|
695
|
+
"Arn"
|
|
696
|
+
]
|
|
697
|
+
},
|
|
698
|
+
"BucketName": {
|
|
699
|
+
"Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0"
|
|
700
|
+
}
|
|
701
|
+
},
|
|
702
|
+
"DependsOn": [
|
|
703
|
+
"cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucketPolicyC3092436"
|
|
704
|
+
],
|
|
705
|
+
"UpdateReplacePolicy": "Delete",
|
|
706
|
+
"DeletionPolicy": "Delete"
|
|
707
|
+
},
|
|
645
708
|
"cfapilambdaoverrideCloudFrontToApiGatewayCloudFrontDistribution94A35932": {
|
|
646
709
|
"Type": "AWS::CloudFront::Distribution",
|
|
647
710
|
"Properties": {
|
|
@@ -830,6 +893,82 @@
|
|
|
830
893
|
]
|
|
831
894
|
}
|
|
832
895
|
}
|
|
896
|
+
},
|
|
897
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092": {
|
|
898
|
+
"Type": "AWS::IAM::Role",
|
|
899
|
+
"Properties": {
|
|
900
|
+
"AssumeRolePolicyDocument": {
|
|
901
|
+
"Version": "2012-10-17",
|
|
902
|
+
"Statement": [
|
|
903
|
+
{
|
|
904
|
+
"Action": "sts:AssumeRole",
|
|
905
|
+
"Effect": "Allow",
|
|
906
|
+
"Principal": {
|
|
907
|
+
"Service": "lambda.amazonaws.com"
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
]
|
|
911
|
+
},
|
|
912
|
+
"ManagedPolicyArns": [
|
|
913
|
+
{
|
|
914
|
+
"Fn::Sub": "arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
915
|
+
}
|
|
916
|
+
]
|
|
917
|
+
}
|
|
918
|
+
},
|
|
919
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F": {
|
|
920
|
+
"Type": "AWS::Lambda::Function",
|
|
921
|
+
"Properties": {
|
|
922
|
+
"Code": {
|
|
923
|
+
"S3Bucket": {
|
|
924
|
+
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
925
|
+
},
|
|
926
|
+
"S3Key": "15684a15d07860e99d2a8079150ad33dd2cb743677fcd7016dd07345e1b69538.zip"
|
|
927
|
+
},
|
|
928
|
+
"Timeout": 900,
|
|
929
|
+
"MemorySize": 128,
|
|
930
|
+
"Handler": "__entrypoint__.handler",
|
|
931
|
+
"Role": {
|
|
932
|
+
"Fn::GetAtt": [
|
|
933
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
934
|
+
"Arn"
|
|
935
|
+
]
|
|
936
|
+
},
|
|
937
|
+
"Runtime": "nodejs12.x",
|
|
938
|
+
"Description": {
|
|
939
|
+
"Fn::Join": [
|
|
940
|
+
"",
|
|
941
|
+
[
|
|
942
|
+
"Lambda function for auto-deleting objects in ",
|
|
943
|
+
{
|
|
944
|
+
"Ref": "cfapilambdaoverrideCloudFrontToApiGatewayCloudfrontLoggingBucket3A71B9E0"
|
|
945
|
+
},
|
|
946
|
+
" S3 bucket."
|
|
947
|
+
]
|
|
948
|
+
]
|
|
949
|
+
}
|
|
950
|
+
},
|
|
951
|
+
"DependsOn": [
|
|
952
|
+
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
|
|
953
|
+
],
|
|
954
|
+
"Metadata": {
|
|
955
|
+
"cfn_nag": {
|
|
956
|
+
"rules_to_suppress": [
|
|
957
|
+
{
|
|
958
|
+
"id": "W58",
|
|
959
|
+
"reason": "CDK generated custom resource"
|
|
960
|
+
},
|
|
961
|
+
{
|
|
962
|
+
"id": "W89",
|
|
963
|
+
"reason": "CDK generated custom resource"
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"id": "W92",
|
|
967
|
+
"reason": "CDK generated custom resource"
|
|
968
|
+
}
|
|
969
|
+
]
|
|
970
|
+
}
|
|
971
|
+
}
|
|
833
972
|
}
|
|
834
973
|
},
|
|
835
974
|
"Outputs": {
|
|
@@ -57,7 +57,11 @@ const construct = new lib_1.CloudFrontToApiGatewayToLambda(stack, 'cf-api-lambda
|
|
|
57
57
|
defaultBehavior: {
|
|
58
58
|
cachePolicy: someCachePolicy
|
|
59
59
|
}
|
|
60
|
-
}
|
|
60
|
+
},
|
|
61
|
+
cloudFrontLoggingBucketProps: {
|
|
62
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
63
|
+
autoDeleteObjects: true
|
|
64
|
+
},
|
|
61
65
|
});
|
|
62
66
|
const apiEndPoint = construct.apiGateway;
|
|
63
67
|
const apiEndPointUrlWithoutProtocol = cdk.Fn.select(1, cdk.Fn.split("://", apiEndPoint.url));
|
|
@@ -86,6 +90,7 @@ function suppressWarnings(method) {
|
|
|
86
90
|
}
|
|
87
91
|
};
|
|
88
92
|
}
|
|
93
|
+
core_1.suppressAutoDeleteHandlerWarnings(stack);
|
|
89
94
|
// Synth
|
|
90
95
|
app.synth();
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcub3ZlcnJpZGUtYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5vdmVycmlkZS1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsZ0JBQWdCO0FBQ2hCLDZDQUF3RDtBQUN4RCxnQ0FBd0Q7QUFDeEQsaURBQWlEO0FBQ2pELHlEQUF5RDtBQUN6RCx5REFBeUQ7QUFDekQsbUNBQW1DO0FBQ25DLDZDQUF1QztBQUN2Qyw4REFBOEQ7QUFDOUQseURBQTJHO0FBRTNHLFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsdURBQXVELENBQUM7QUFFNUYsTUFBTSxXQUFXLEdBQXlCO0lBQ3hDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDO0lBQ2xELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7SUFDbkMsT0FBTyxFQUFFLGVBQWU7Q0FDekIsQ0FBQztBQUVGLGtDQUFrQztBQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO0lBQzNFLGVBQWUsRUFBRSxpQkFBaUI7SUFDbEMsVUFBVSxFQUFFLHNCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Q0FDM0IsQ0FBQyxDQUFDO0FBRUgsc0NBQXNDO0FBQ3RDLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFO0lBQ3ZFLGVBQWUsRUFBRSxlQUFlO0lBQ2hDLFVBQVUsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0NBQzVCLENBQUMsQ0FBQztBQUVILE1BQU0sU0FBUyxHQUFHLElBQUksb0NBQThCLENBQUMsS0FBSyxFQUFFLHdCQUF3QixFQUFFO0lBQ3BGLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsZUFBZSxFQUFFO1FBQ2YsS0FBSyxFQUFFLEtBQUs7UUFDWixvQkFBb0IsRUFBRTtZQUNwQixpQkFBaUIsRUFBRSxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNyRDtLQUNGO0lBQ0QsMkJBQTJCLEVBQUU7UUFDM0IsZUFBZSxFQUFFO1lBQ2YsV0FBVyxFQUFFLGVBQWU7U0FDN0I7S0FDRjtJQUNELDRCQUE0QixFQUFFO1FBQzVCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7QUFDekMsTUFBTSw2QkFBNkIsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzdGLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDLENBQUM7QUFFakcsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7QUFFMUcsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkQsZUFBZTtBQUNmLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRTtJQUN4RyxVQUFVLEVBQUUsSUFBSSxXQUFXLENBQUMsZUFBZSxDQUFDLFNBQVMsVUFBVTtDQUNoRSxDQUFDLEVBQUU7SUFDRixXQUFXLEVBQUUsYUFBYTtDQUMzQixDQUFDLENBQUM7QUFDSCw0QkFBNEI7QUFDNUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDL0IsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFaEMsU0FBUyxnQkFBZ0IsQ0FBQyxNQUF5QjtJQUNqRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQXlCLENBQUM7SUFDeEUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUc7UUFDMUIsT0FBTyxFQUFFO1lBQ1AsaUJBQWlCLEVBQUUsQ0FBQztvQkFDbEIsRUFBRSxFQUFFLEtBQUs7b0JBQ1QsTUFBTSxFQUFFLDBJQUEwSTtpQkFDbkosQ0FBQztTQUNIO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCx3Q0FBaUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxRQUFRO0FBQ1IsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLy8gIWNkay1pbnRlZyAqXG5pbXBvcnQgeyBBcHAsIFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGEgfSBmcm9tIFwiLi4vbGliXCI7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIGFwaWdhdGV3YXkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBvcmlnaW5zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250LW9yaWdpbnMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSwgc3VwcHJlc3NBdXRvRGVsZXRlSGFuZGxlcldhcm5pbmdzIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheS1sYW1iZGEnO1xuXG5jb25zdCBsYW1iZGFQcm9wczogbGFtYmRhLkZ1bmN0aW9uUHJvcHMgPSB7XG4gIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChgJHtfX2Rpcm5hbWV9L2xhbWJkYWApLFxuICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCxcbiAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInXG59O1xuXG4vLyBTb21lIENhY2hpbmcgZm9yIHN0YXRpYyBjb250ZW50XG5jb25zdCBzb21lQ2FjaGVQb2xpY3kgPSBuZXcgY2xvdWRmcm9udC5DYWNoZVBvbGljeShzdGFjaywgJ1NvbWVDYWNoZVBvbGljeScsIHtcbiAgY2FjaGVQb2xpY3lOYW1lOiAnU29tZUNhY2hlUG9saWN5JyxcbiAgZGVmYXVsdFR0bDogRHVyYXRpb24uaG91cnMoOCksXG4gIG1pblR0bDogRHVyYXRpb24uaG91cnMoNSksXG4gIG1heFR0bDogRHVyYXRpb24uaG91cnMoMTApLFxufSk7XG5cbi8vIERpc2FibGUgQ2FjaGluZyBmb3IgZHluYW1pYyBjb250ZW50XG5jb25zdCBub0NhY2hlUG9saWN5ID0gbmV3IGNsb3VkZnJvbnQuQ2FjaGVQb2xpY3koc3RhY2ssICdOb0NhY2hlUG9saWN5Jywge1xuICBjYWNoZVBvbGljeU5hbWU6ICdOb0NhY2hlUG9saWN5JyxcbiAgZGVmYXVsdFR0bDogRHVyYXRpb24ubWludXRlcygwKSxcbiAgbWluVHRsOiBEdXJhdGlvbi5taW51dGVzKDApLFxuICBtYXhUdGw6IER1cmF0aW9uLm1pbnV0ZXMoMCksXG59KTtcblxuY29uc3QgY29uc3RydWN0ID0gbmV3IENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYShzdGFjaywgJ2NmLWFwaS1sYW1iZGEtb3ZlcnJpZGUnLCB7XG4gIGxhbWJkYUZ1bmN0aW9uUHJvcHM6IGxhbWJkYVByb3BzLFxuICBhcGlHYXRld2F5UHJvcHM6IHtcbiAgICBwcm94eTogZmFsc2UsXG4gICAgZGVmYXVsdE1ldGhvZE9wdGlvbnM6IHtcbiAgICAgIGF1dGhvcml6YXRpb25UeXBlOiBhcGlnYXRld2F5LkF1dGhvcml6YXRpb25UeXBlLk5PTkUsXG4gICAgfSxcbiAgfSxcbiAgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzOiB7XG4gICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICBjYWNoZVBvbGljeTogc29tZUNhY2hlUG9saWN5XG4gICAgfVxuICB9LFxuICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzOiB7XG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlXG4gIH0sXG59KTtcblxuY29uc3QgYXBpRW5kUG9pbnQgPSBjb25zdHJ1Y3QuYXBpR2F0ZXdheTtcbmNvbnN0IGFwaUVuZFBvaW50VXJsV2l0aG91dFByb3RvY29sID0gY2RrLkZuLnNlbGVjdCgxLCBjZGsuRm4uc3BsaXQoXCI6Ly9cIiwgYXBpRW5kUG9pbnQudXJsKSk7XG5jb25zdCBhcGlFbmRQb2ludERvbWFpbk5hbWUgPSBjZGsuRm4uc2VsZWN0KDAsIGNkay5Gbi5zcGxpdChcIi9cIiwgYXBpRW5kUG9pbnRVcmxXaXRob3V0UHJvdG9jb2wpKTtcblxuY29uc3Qgc3RhdGljUmVzb3VyY2UgPSBjb25zdHJ1Y3QuYXBpR2F0ZXdheS5yb290LmFkZFJlc291cmNlKCdzdGF0aWMnKTtcbmNvbnN0IHN0YXRpY01ldGhvZCA9IHN0YXRpY1Jlc291cmNlLmFkZE1ldGhvZCgnR0VUJywgbmV3IGFwaWdhdGV3YXkuSHR0cEludGVncmF0aW9uKCdodHRwOi8vYW1hem9uLmNvbScpKTtcblxuY29uc3QgZHluYW1pY1Jlc291cmNlID0gY29uc3RydWN0LmFwaUdhdGV3YXkucm9vdC5hZGRSZXNvdXJjZSgnZHluYW1pYycpO1xuY29uc3QgZHluYW1pY01ldGhvZCA9IGR5bmFtaWNSZXNvdXJjZS5hZGRNZXRob2QoJ0dFVCcpO1xuXG4vLyBBZGQgYmVoYXZpb3JcbmNvbnN0cnVjdC5jbG91ZEZyb250V2ViRGlzdHJpYnV0aW9uLmFkZEJlaGF2aW9yKCcvZHluYW1pYycsIG5ldyBvcmlnaW5zLkh0dHBPcmlnaW4oYXBpRW5kUG9pbnREb21haW5OYW1lLCB7XG4gIG9yaWdpblBhdGg6IGAvJHthcGlFbmRQb2ludC5kZXBsb3ltZW50U3RhZ2Uuc3RhZ2VOYW1lfS9keW5hbWljYFxufSksIHtcbiAgY2FjaGVQb2xpY3k6IG5vQ2FjaGVQb2xpY3lcbn0pO1xuLy8gU3VwcHJlc3MgQ0ZOX05BRyB3YXJuaW5nc1xuc3VwcHJlc3NXYXJuaW5ncyhzdGF0aWNNZXRob2QpO1xuc3VwcHJlc3NXYXJuaW5ncyhkeW5hbWljTWV0aG9kKTtcblxuZnVuY3Rpb24gc3VwcHJlc3NXYXJuaW5ncyhtZXRob2Q6IGFwaWdhdGV3YXkuTWV0aG9kKSB7XG4gIGNvbnN0IGNoaWxkID0gbWV0aG9kLm5vZGUuZmluZENoaWxkKCdSZXNvdXJjZScpIGFzIGFwaWdhdGV3YXkuQ2ZuTWV0aG9kO1xuICBjaGlsZC5jZm5PcHRpb25zLm1ldGFkYXRhID0ge1xuICAgIGNmbl9uYWc6IHtcbiAgICAgIHJ1bGVzX3RvX3N1cHByZXNzOiBbe1xuICAgICAgICBpZDogJ1c1OScsXG4gICAgICAgIHJlYXNvbjogYEFXUzo6QXBpR2F0ZXdheTo6TWV0aG9kIEF1dGhvcml6YXRpb25UeXBlIGlzIHNldCB0byAnTk9ORScgYmVjYXVzZSBBUEkgR2F0ZXdheSBiZWhpbmQgQ2xvdWRGcm9udCBkb2VzIG5vdCBzdXBwb3J0IEFXU19JQU0gYXV0aGVudGljYXRpb25gXG4gICAgICB9XVxuICAgIH1cbiAgfTtcbn1cblxuc3VwcHJlc3NBdXRvRGVsZXRlSGFuZGxlcldhcm5pbmdzKHN0YWNrKTtcbi8vIFN5bnRoXG5hcHAuc3ludGgoKTtcbiJdfQ==
|