@gradientedge/cdk-utils 10.8.0 → 11.1.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/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +4 -0
- package/package.json +34 -116
- package/.eslintrc.json +0 -40
- package/.husky/pre-commit +0 -4
- package/README.md +0 -122
- package/app/api-destined-function/node_modules/.bin/mkdirp +0 -21
- package/app/api-destined-function/node_modules/.bin/rimraf +0 -21
- package/app/api-destined-function/node_modules/.bin/uuid +0 -21
- package/app/api-destined-function/package.json +0 -27
- package/app/api-destined-function/src/lib/lambda.ts +0 -29
- package/babel.config.mjs +0 -16
- package/dist/app/api-destined-function/src/lib/lambda.d.ts +0 -17
- package/dist/app/api-destined-function/src/lib/lambda.d.ts.map +0 -1
- package/dist/app/api-destined-function/src/lib/lambda.js +0 -28
- package/dist/app/api-destined-function/src/lib/lambda.js.map +0 -1
- package/dist/app/api-destined-function/tsconfig.tsbuildinfo +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/src/lib/aws/common/construct.d.ts +0 -85
- package/dist/src/lib/aws/common/construct.js +0 -125
- package/dist/src/lib/aws/common/index.d.ts +0 -4
- package/dist/src/lib/aws/common/index.js +0 -4
- package/dist/src/lib/aws/common/resource-name-formatter.d.ts +0 -13
- package/dist/src/lib/aws/common/resource-name-formatter.js +0 -30
- package/dist/src/lib/aws/common/stack.d.ts +0 -62
- package/dist/src/lib/aws/common/stack.js +0 -139
- package/dist/src/lib/aws/common/types.d.ts +0 -30
- package/dist/src/lib/aws/common/types.js +0 -1
- package/dist/src/lib/aws/construct/api-to-any-target/index.d.ts +0 -3
- package/dist/src/lib/aws/construct/api-to-any-target/index.js +0 -3
- package/dist/src/lib/aws/construct/api-to-any-target/main.d.ts +0 -47
- package/dist/src/lib/aws/construct/api-to-any-target/main.js +0 -154
- package/dist/src/lib/aws/construct/api-to-any-target/target.d.ts +0 -23
- package/dist/src/lib/aws/construct/api-to-any-target/target.js +0 -14
- package/dist/src/lib/aws/construct/api-to-any-target/types.d.ts +0 -60
- package/dist/src/lib/aws/construct/api-to-any-target/types.js +0 -1
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/api.d.ts +0 -34
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/api.js +0 -23
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/event.d.ts +0 -15
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/event.js +0 -12
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/index.d.ts +0 -4
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/index.js +0 -4
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/main.d.ts +0 -121
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/main.js +0 -442
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/types.d.ts +0 -100
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/types.js +0 -1
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.d.ts +0 -16
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.js +0 -12
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/index.d.ts +0 -3
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/index.js +0 -3
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.d.ts +0 -159
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.js +0 -547
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/types.d.ts +0 -22
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/types.js +0 -1
- package/dist/src/lib/aws/construct/api-to-lambda-target/api.d.ts +0 -35
- package/dist/src/lib/aws/construct/api-to-lambda-target/api.js +0 -24
- package/dist/src/lib/aws/construct/api-to-lambda-target/index.d.ts +0 -3
- package/dist/src/lib/aws/construct/api-to-lambda-target/index.js +0 -3
- package/dist/src/lib/aws/construct/api-to-lambda-target/main.d.ts +0 -70
- package/dist/src/lib/aws/construct/api-to-lambda-target/main.js +0 -218
- package/dist/src/lib/aws/construct/api-to-lambda-target/types.d.ts +0 -62
- package/dist/src/lib/aws/construct/api-to-lambda-target/types.js +0 -1
- package/dist/src/lib/aws/construct/application-configuration/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/application-configuration/index.js +0 -2
- package/dist/src/lib/aws/construct/application-configuration/main.d.ts +0 -23
- package/dist/src/lib/aws/construct/application-configuration/main.js +0 -79
- package/dist/src/lib/aws/construct/application-configuration/types.d.ts +0 -6
- package/dist/src/lib/aws/construct/application-configuration/types.js +0 -1
- package/dist/src/lib/aws/construct/event-handler/handler.d.ts +0 -29
- package/dist/src/lib/aws/construct/event-handler/handler.js +0 -21
- package/dist/src/lib/aws/construct/event-handler/index.d.ts +0 -3
- package/dist/src/lib/aws/construct/event-handler/index.js +0 -3
- package/dist/src/lib/aws/construct/event-handler/main.d.ts +0 -91
- package/dist/src/lib/aws/construct/event-handler/main.js +0 -196
- package/dist/src/lib/aws/construct/event-handler/types.d.ts +0 -41
- package/dist/src/lib/aws/construct/event-handler/types.js +0 -1
- package/dist/src/lib/aws/construct/index.d.ts +0 -14
- package/dist/src/lib/aws/construct/index.js +0 -14
- package/dist/src/lib/aws/construct/lambda-with-iam-access/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/lambda-with-iam-access/index.js +0 -2
- package/dist/src/lib/aws/construct/lambda-with-iam-access/main.d.ts +0 -78
- package/dist/src/lib/aws/construct/lambda-with-iam-access/main.js +0 -182
- package/dist/src/lib/aws/construct/lambda-with-iam-access/types.d.ts +0 -20
- package/dist/src/lib/aws/construct/lambda-with-iam-access/types.js +0 -1
- package/dist/src/lib/aws/construct/piped-event-handler/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/piped-event-handler/index.js +0 -2
- package/dist/src/lib/aws/construct/piped-event-handler/main.d.ts +0 -38
- package/dist/src/lib/aws/construct/piped-event-handler/main.js +0 -62
- package/dist/src/lib/aws/construct/piped-event-handler/types.d.ts +0 -9
- package/dist/src/lib/aws/construct/piped-event-handler/types.js +0 -1
- package/dist/src/lib/aws/construct/rest-api-lambda/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/rest-api-lambda/index.js +0 -2
- package/dist/src/lib/aws/construct/rest-api-lambda/main.d.ts +0 -96
- package/dist/src/lib/aws/construct/rest-api-lambda/main.js +0 -170
- package/dist/src/lib/aws/construct/rest-api-lambda/types.d.ts +0 -23
- package/dist/src/lib/aws/construct/rest-api-lambda/types.js +0 -1
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/index.js +0 -2
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/main.d.ts +0 -56
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/main.js +0 -118
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/types.d.ts +0 -11
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/types.js +0 -1
- package/dist/src/lib/aws/construct/site-with-ecs-backend/constants.d.ts +0 -4
- package/dist/src/lib/aws/construct/site-with-ecs-backend/constants.js +0 -5
- package/dist/src/lib/aws/construct/site-with-ecs-backend/index.d.ts +0 -3
- package/dist/src/lib/aws/construct/site-with-ecs-backend/index.js +0 -3
- package/dist/src/lib/aws/construct/site-with-ecs-backend/main.d.ts +0 -154
- package/dist/src/lib/aws/construct/site-with-ecs-backend/main.js +0 -437
- package/dist/src/lib/aws/construct/site-with-ecs-backend/types.d.ts +0 -49
- package/dist/src/lib/aws/construct/site-with-ecs-backend/types.js +0 -1
- package/dist/src/lib/aws/construct/site-with-lambda-backend/constants.d.ts +0 -5
- package/dist/src/lib/aws/construct/site-with-lambda-backend/constants.js +0 -6
- package/dist/src/lib/aws/construct/site-with-lambda-backend/index.d.ts +0 -3
- package/dist/src/lib/aws/construct/site-with-lambda-backend/index.js +0 -3
- package/dist/src/lib/aws/construct/site-with-lambda-backend/main.d.ts +0 -116
- package/dist/src/lib/aws/construct/site-with-lambda-backend/main.js +0 -316
- package/dist/src/lib/aws/construct/site-with-lambda-backend/types.d.ts +0 -45
- package/dist/src/lib/aws/construct/site-with-lambda-backend/types.js +0 -1
- package/dist/src/lib/aws/construct/static-asset-deployment/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/static-asset-deployment/index.js +0 -2
- package/dist/src/lib/aws/construct/static-asset-deployment/main.d.ts +0 -41
- package/dist/src/lib/aws/construct/static-asset-deployment/main.js +0 -113
- package/dist/src/lib/aws/construct/static-asset-deployment/types.d.ts +0 -41
- package/dist/src/lib/aws/construct/static-asset-deployment/types.js +0 -1
- package/dist/src/lib/aws/construct/static-site/index.d.ts +0 -2
- package/dist/src/lib/aws/construct/static-site/index.js +0 -2
- package/dist/src/lib/aws/construct/static-site/main.d.ts +0 -84
- package/dist/src/lib/aws/construct/static-site/main.js +0 -136
- package/dist/src/lib/aws/construct/static-site/types.d.ts +0 -30
- package/dist/src/lib/aws/construct/static-site/types.js +0 -1
- package/dist/src/lib/aws/index.d.ts +0 -5
- package/dist/src/lib/aws/index.js +0 -5
- package/dist/src/lib/aws/services/api-gateway/index.d.ts +0 -2
- package/dist/src/lib/aws/services/api-gateway/index.js +0 -2
- package/dist/src/lib/aws/services/api-gateway/main.d.ts +0 -68
- package/dist/src/lib/aws/services/api-gateway/main.js +0 -173
- package/dist/src/lib/aws/services/api-gateway/types.d.ts +0 -10
- package/dist/src/lib/aws/services/api-gateway/types.js +0 -1
- package/dist/src/lib/aws/services/appconfig/constants.d.ts +0 -12
- package/dist/src/lib/aws/services/appconfig/constants.js +0 -51
- package/dist/src/lib/aws/services/appconfig/index.d.ts +0 -3
- package/dist/src/lib/aws/services/appconfig/index.js +0 -3
- package/dist/src/lib/aws/services/appconfig/main.d.ts +0 -63
- package/dist/src/lib/aws/services/appconfig/main.js +0 -119
- package/dist/src/lib/aws/services/appconfig/types.d.ts +0 -17
- package/dist/src/lib/aws/services/appconfig/types.js +0 -1
- package/dist/src/lib/aws/services/certificate-manager/index.d.ts +0 -2
- package/dist/src/lib/aws/services/certificate-manager/index.js +0 -2
- package/dist/src/lib/aws/services/certificate-manager/main.d.ts +0 -41
- package/dist/src/lib/aws/services/certificate-manager/main.js +0 -62
- package/dist/src/lib/aws/services/certificate-manager/types.d.ts +0 -11
- package/dist/src/lib/aws/services/certificate-manager/types.js +0 -1
- package/dist/src/lib/aws/services/cloudfront/index.d.ts +0 -2
- package/dist/src/lib/aws/services/cloudfront/index.js +0 -2
- package/dist/src/lib/aws/services/cloudfront/main.d.ts +0 -96
- package/dist/src/lib/aws/services/cloudfront/main.js +0 -233
- package/dist/src/lib/aws/services/cloudfront/types.d.ts +0 -13
- package/dist/src/lib/aws/services/cloudfront/types.js +0 -1
- package/dist/src/lib/aws/services/cloudtrail/index.d.ts +0 -2
- package/dist/src/lib/aws/services/cloudtrail/index.js +0 -2
- package/dist/src/lib/aws/services/cloudtrail/main.d.ts +0 -44
- package/dist/src/lib/aws/services/cloudtrail/main.js +0 -71
- package/dist/src/lib/aws/services/cloudtrail/types.d.ts +0 -5
- package/dist/src/lib/aws/services/cloudtrail/types.js +0 -1
- package/dist/src/lib/aws/services/cloudwatch/index.d.ts +0 -3
- package/dist/src/lib/aws/services/cloudwatch/index.js +0 -3
- package/dist/src/lib/aws/services/cloudwatch/logs.d.ts +0 -47
- package/dist/src/lib/aws/services/cloudwatch/logs.js +0 -98
- package/dist/src/lib/aws/services/cloudwatch/main.d.ts +0 -207
- package/dist/src/lib/aws/services/cloudwatch/main.js +0 -552
- package/dist/src/lib/aws/services/cloudwatch/types.d.ts +0 -89
- package/dist/src/lib/aws/services/cloudwatch/types.js +0 -1
- package/dist/src/lib/aws/services/codebuild/index.d.ts +0 -1
- package/dist/src/lib/aws/services/codebuild/index.js +0 -1
- package/dist/src/lib/aws/services/codebuild/main.d.ts +0 -36
- package/dist/src/lib/aws/services/codebuild/main.js +0 -67
- package/dist/src/lib/aws/services/constants.d.ts +0 -4
- package/dist/src/lib/aws/services/constants.js +0 -5
- package/dist/src/lib/aws/services/dynamodb/index.d.ts +0 -2
- package/dist/src/lib/aws/services/dynamodb/index.js +0 -2
- package/dist/src/lib/aws/services/dynamodb/main.d.ts +0 -35
- package/dist/src/lib/aws/services/dynamodb/main.js +0 -72
- package/dist/src/lib/aws/services/dynamodb/types.d.ts +0 -10
- package/dist/src/lib/aws/services/dynamodb/types.js +0 -1
- package/dist/src/lib/aws/services/elastic-container-registry/index.d.ts +0 -1
- package/dist/src/lib/aws/services/elastic-container-registry/index.js +0 -1
- package/dist/src/lib/aws/services/elastic-container-registry/main.d.ts +0 -27
- package/dist/src/lib/aws/services/elastic-container-registry/main.js +0 -33
- package/dist/src/lib/aws/services/elastic-container-service/index.d.ts +0 -2
- package/dist/src/lib/aws/services/elastic-container-service/index.js +0 -2
- package/dist/src/lib/aws/services/elastic-container-service/main.d.ts +0 -56
- package/dist/src/lib/aws/services/elastic-container-service/main.js +0 -149
- package/dist/src/lib/aws/services/elastic-container-service/types.d.ts +0 -45
- package/dist/src/lib/aws/services/elastic-container-service/types.js +0 -1
- package/dist/src/lib/aws/services/elastic-file-system/index.d.ts +0 -2
- package/dist/src/lib/aws/services/elastic-file-system/index.js +0 -2
- package/dist/src/lib/aws/services/elastic-file-system/main.d.ts +0 -42
- package/dist/src/lib/aws/services/elastic-file-system/main.js +0 -76
- package/dist/src/lib/aws/services/elastic-file-system/types.d.ts +0 -15
- package/dist/src/lib/aws/services/elastic-file-system/types.js +0 -1
- package/dist/src/lib/aws/services/elastic-kubernetes-service/index.d.ts +0 -2
- package/dist/src/lib/aws/services/elastic-kubernetes-service/index.js +0 -2
- package/dist/src/lib/aws/services/elastic-kubernetes-service/main.d.ts +0 -32
- package/dist/src/lib/aws/services/elastic-kubernetes-service/main.js +0 -85
- package/dist/src/lib/aws/services/elastic-kubernetes-service/types.d.ts +0 -7
- package/dist/src/lib/aws/services/elastic-kubernetes-service/types.js +0 -1
- package/dist/src/lib/aws/services/elasticache/index.d.ts +0 -2
- package/dist/src/lib/aws/services/elasticache/index.js +0 -2
- package/dist/src/lib/aws/services/elasticache/main.d.ts +0 -47
- package/dist/src/lib/aws/services/elasticache/main.js +0 -90
- package/dist/src/lib/aws/services/elasticache/types.d.ts +0 -9
- package/dist/src/lib/aws/services/elasticache/types.js +0 -1
- package/dist/src/lib/aws/services/eventbridge/index.d.ts +0 -3
- package/dist/src/lib/aws/services/eventbridge/index.js +0 -3
- package/dist/src/lib/aws/services/eventbridge/main.d.ts +0 -93
- package/dist/src/lib/aws/services/eventbridge/main.js +0 -295
- package/dist/src/lib/aws/services/eventbridge/target.d.ts +0 -57
- package/dist/src/lib/aws/services/eventbridge/target.js +0 -61
- package/dist/src/lib/aws/services/eventbridge/types.d.ts +0 -43
- package/dist/src/lib/aws/services/eventbridge/types.js +0 -1
- package/dist/src/lib/aws/services/evidently/index.d.ts +0 -2
- package/dist/src/lib/aws/services/evidently/index.js +0 -2
- package/dist/src/lib/aws/services/evidently/main.d.ts +0 -56
- package/dist/src/lib/aws/services/evidently/main.js +0 -114
- package/dist/src/lib/aws/services/evidently/types.d.ts +0 -21
- package/dist/src/lib/aws/services/evidently/types.js +0 -1
- package/dist/src/lib/aws/services/identity-access-management/index.d.ts +0 -1
- package/dist/src/lib/aws/services/identity-access-management/index.js +0 -1
- package/dist/src/lib/aws/services/identity-access-management/main.d.ts +0 -263
- package/dist/src/lib/aws/services/identity-access-management/main.js +0 -609
- package/dist/src/lib/aws/services/index.d.ts +0 -28
- package/dist/src/lib/aws/services/index.js +0 -28
- package/dist/src/lib/aws/services/key-management-service/index.d.ts +0 -2
- package/dist/src/lib/aws/services/key-management-service/index.js +0 -2
- package/dist/src/lib/aws/services/key-management-service/main.d.ts +0 -28
- package/dist/src/lib/aws/services/key-management-service/main.js +0 -39
- package/dist/src/lib/aws/services/key-management-service/types.d.ts +0 -5
- package/dist/src/lib/aws/services/key-management-service/types.js +0 -1
- package/dist/src/lib/aws/services/lambda/index.d.ts +0 -2
- package/dist/src/lib/aws/services/lambda/index.js +0 -2
- package/dist/src/lib/aws/services/lambda/main.d.ts +0 -89
- package/dist/src/lib/aws/services/lambda/main.js +0 -232
- package/dist/src/lib/aws/services/lambda/types.d.ts +0 -48
- package/dist/src/lib/aws/services/lambda/types.js +0 -1
- package/dist/src/lib/aws/services/route53/index.d.ts +0 -2
- package/dist/src/lib/aws/services/route53/index.js +0 -2
- package/dist/src/lib/aws/services/route53/main.d.ts +0 -66
- package/dist/src/lib/aws/services/route53/main.js +0 -136
- package/dist/src/lib/aws/services/route53/types.d.ts +0 -6
- package/dist/src/lib/aws/services/route53/types.js +0 -1
- package/dist/src/lib/aws/services/secrets-manager/index.d.ts +0 -2
- package/dist/src/lib/aws/services/secrets-manager/index.js +0 -2
- package/dist/src/lib/aws/services/secrets-manager/main.d.ts +0 -43
- package/dist/src/lib/aws/services/secrets-manager/main.js +0 -71
- package/dist/src/lib/aws/services/secrets-manager/types.d.ts +0 -3
- package/dist/src/lib/aws/services/secrets-manager/types.js +0 -1
- package/dist/src/lib/aws/services/simple-notification-service/index.d.ts +0 -2
- package/dist/src/lib/aws/services/simple-notification-service/index.js +0 -2
- package/dist/src/lib/aws/services/simple-notification-service/main.d.ts +0 -38
- package/dist/src/lib/aws/services/simple-notification-service/main.js +0 -68
- package/dist/src/lib/aws/services/simple-notification-service/types.d.ts +0 -5
- package/dist/src/lib/aws/services/simple-notification-service/types.js +0 -1
- package/dist/src/lib/aws/services/simple-queue-service/index.d.ts +0 -2
- package/dist/src/lib/aws/services/simple-queue-service/index.js +0 -2
- package/dist/src/lib/aws/services/simple-queue-service/main.d.ts +0 -45
- package/dist/src/lib/aws/services/simple-queue-service/main.js +0 -101
- package/dist/src/lib/aws/services/simple-queue-service/types.d.ts +0 -15
- package/dist/src/lib/aws/services/simple-queue-service/types.js +0 -1
- package/dist/src/lib/aws/services/simple-storage-service/index.d.ts +0 -2
- package/dist/src/lib/aws/services/simple-storage-service/index.js +0 -2
- package/dist/src/lib/aws/services/simple-storage-service/main.d.ts +0 -79
- package/dist/src/lib/aws/services/simple-storage-service/main.js +0 -191
- package/dist/src/lib/aws/services/simple-storage-service/types.d.ts +0 -25
- package/dist/src/lib/aws/services/simple-storage-service/types.js +0 -1
- package/dist/src/lib/aws/services/step-function/index.d.ts +0 -2
- package/dist/src/lib/aws/services/step-function/index.js +0 -2
- package/dist/src/lib/aws/services/step-function/main.d.ts +0 -161
- package/dist/src/lib/aws/services/step-function/main.js +0 -380
- package/dist/src/lib/aws/services/step-function/types.d.ts +0 -88
- package/dist/src/lib/aws/services/step-function/types.js +0 -1
- package/dist/src/lib/aws/services/systems-manager/index.d.ts +0 -2
- package/dist/src/lib/aws/services/systems-manager/index.js +0 -2
- package/dist/src/lib/aws/services/systems-manager/main.d.ts +0 -55
- package/dist/src/lib/aws/services/systems-manager/main.js +0 -97
- package/dist/src/lib/aws/services/systems-manager/types.d.ts +0 -9
- package/dist/src/lib/aws/services/systems-manager/types.js +0 -1
- package/dist/src/lib/aws/services/virtual-private-cloud/index.d.ts +0 -2
- package/dist/src/lib/aws/services/virtual-private-cloud/index.js +0 -2
- package/dist/src/lib/aws/services/virtual-private-cloud/ipv6.d.ts +0 -7
- package/dist/src/lib/aws/services/virtual-private-cloud/ipv6.js +0 -38
- package/dist/src/lib/aws/services/virtual-private-cloud/main.d.ts +0 -43
- package/dist/src/lib/aws/services/virtual-private-cloud/main.js +0 -87
- package/dist/src/lib/aws/services/virtual-private-cloud/types.d.ts +0 -4
- package/dist/src/lib/aws/services/virtual-private-cloud/types.js +0 -1
- package/dist/src/lib/aws/services/web-application-firewall/index.d.ts +0 -2
- package/dist/src/lib/aws/services/web-application-firewall/index.js +0 -2
- package/dist/src/lib/aws/services/web-application-firewall/main.d.ts +0 -35
- package/dist/src/lib/aws/services/web-application-firewall/main.js +0 -61
- package/dist/src/lib/aws/services/web-application-firewall/types.d.ts +0 -9
- package/dist/src/lib/aws/services/web-application-firewall/types.js +0 -1
- package/dist/src/lib/aws/types/index.d.ts +0 -6
- package/dist/src/lib/aws/types/index.js +0 -1
- package/dist/src/lib/aws/utils/index.d.ts +0 -45
- package/dist/src/lib/aws/utils/index.js +0 -61
- package/dist/src/lib/azure/common/constants.d.ts +0 -83
- package/dist/src/lib/azure/common/constants.js +0 -87
- package/dist/src/lib/azure/common/construct.d.ts +0 -80
- package/dist/src/lib/azure/common/construct.js +0 -128
- package/dist/src/lib/azure/common/index.d.ts +0 -6
- package/dist/src/lib/azure/common/index.js +0 -6
- package/dist/src/lib/azure/common/resource-name-formatter.d.ts +0 -18
- package/dist/src/lib/azure/common/resource-name-formatter.js +0 -34
- package/dist/src/lib/azure/common/stack.d.ts +0 -46
- package/dist/src/lib/azure/common/stack.js +0 -120
- package/dist/src/lib/azure/common/tagging.d.ts +0 -29
- package/dist/src/lib/azure/common/tagging.js +0 -78
- package/dist/src/lib/azure/common/types.d.ts +0 -57
- package/dist/src/lib/azure/common/types.js +0 -1
- package/dist/src/lib/azure/construct/event-handler/index.d.ts +0 -2
- package/dist/src/lib/azure/construct/event-handler/index.js +0 -2
- package/dist/src/lib/azure/construct/event-handler/main.d.ts +0 -20
- package/dist/src/lib/azure/construct/event-handler/main.js +0 -139
- package/dist/src/lib/azure/construct/event-handler/types.d.ts +0 -35
- package/dist/src/lib/azure/construct/event-handler/types.js +0 -1
- package/dist/src/lib/azure/construct/function-app/index.d.ts +0 -2
- package/dist/src/lib/azure/construct/function-app/index.js +0 -2
- package/dist/src/lib/azure/construct/function-app/main.d.ts +0 -51
- package/dist/src/lib/azure/construct/function-app/main.js +0 -297
- package/dist/src/lib/azure/construct/function-app/types.d.ts +0 -33
- package/dist/src/lib/azure/construct/function-app/types.js +0 -1
- package/dist/src/lib/azure/construct/index.d.ts +0 -6
- package/dist/src/lib/azure/construct/index.js +0 -6
- package/dist/src/lib/azure/construct/rest-api/index.d.ts +0 -2
- package/dist/src/lib/azure/construct/rest-api/index.js +0 -2
- package/dist/src/lib/azure/construct/rest-api/main.d.ts +0 -20
- package/dist/src/lib/azure/construct/rest-api/main.js +0 -172
- package/dist/src/lib/azure/construct/rest-api/types.d.ts +0 -25
- package/dist/src/lib/azure/construct/rest-api/types.js +0 -1
- package/dist/src/lib/azure/construct/rest-api-function/index.d.ts +0 -2
- package/dist/src/lib/azure/construct/rest-api-function/index.js +0 -2
- package/dist/src/lib/azure/construct/rest-api-function/main.d.ts +0 -19
- package/dist/src/lib/azure/construct/rest-api-function/main.js +0 -255
- package/dist/src/lib/azure/construct/rest-api-function/types.d.ts +0 -29
- package/dist/src/lib/azure/construct/rest-api-function/types.js +0 -1
- package/dist/src/lib/azure/construct/rest-api-with-cache/index.d.ts +0 -2
- package/dist/src/lib/azure/construct/rest-api-with-cache/index.js +0 -2
- package/dist/src/lib/azure/construct/rest-api-with-cache/main.d.ts +0 -12
- package/dist/src/lib/azure/construct/rest-api-with-cache/main.js +0 -56
- package/dist/src/lib/azure/construct/rest-api-with-cache/types.d.ts +0 -13
- package/dist/src/lib/azure/construct/rest-api-with-cache/types.js +0 -1
- package/dist/src/lib/azure/construct/site-with-webapp/index.d.ts +0 -2
- package/dist/src/lib/azure/construct/site-with-webapp/index.js +0 -2
- package/dist/src/lib/azure/construct/site-with-webapp/main.d.ts +0 -19
- package/dist/src/lib/azure/construct/site-with-webapp/main.js +0 -135
- package/dist/src/lib/azure/construct/site-with-webapp/types.d.ts +0 -30
- package/dist/src/lib/azure/construct/site-with-webapp/types.js +0 -1
- package/dist/src/lib/azure/index.d.ts +0 -4
- package/dist/src/lib/azure/index.js +0 -4
- package/dist/src/lib/azure/services/api-management/index.d.ts +0 -2
- package/dist/src/lib/azure/services/api-management/index.js +0 -2
- package/dist/src/lib/azure/services/api-management/main.d.ts +0 -143
- package/dist/src/lib/azure/services/api-management/main.js +0 -244
- package/dist/src/lib/azure/services/api-management/types.d.ts +0 -72
- package/dist/src/lib/azure/services/api-management/types.js +0 -1
- package/dist/src/lib/azure/services/app-configuration/index.d.ts +0 -2
- package/dist/src/lib/azure/services/app-configuration/index.js +0 -2
- package/dist/src/lib/azure/services/app-configuration/main.d.ts +0 -41
- package/dist/src/lib/azure/services/app-configuration/main.js +0 -71
- package/dist/src/lib/azure/services/app-configuration/types.d.ts +0 -3
- package/dist/src/lib/azure/services/app-configuration/types.js +0 -1
- package/dist/src/lib/azure/services/app-service/index.d.ts +0 -2
- package/dist/src/lib/azure/services/app-service/index.js +0 -2
- package/dist/src/lib/azure/services/app-service/main.d.ts +0 -40
- package/dist/src/lib/azure/services/app-service/main.js +0 -90
- package/dist/src/lib/azure/services/app-service/types.d.ts +0 -6
- package/dist/src/lib/azure/services/app-service/types.js +0 -1
- package/dist/src/lib/azure/services/application-insights/index.d.ts +0 -2
- package/dist/src/lib/azure/services/application-insights/index.js +0 -2
- package/dist/src/lib/azure/services/application-insights/main.d.ts +0 -40
- package/dist/src/lib/azure/services/application-insights/main.js +0 -68
- package/dist/src/lib/azure/services/application-insights/types.d.ts +0 -6
- package/dist/src/lib/azure/services/application-insights/types.js +0 -1
- package/dist/src/lib/azure/services/authorisation/constants.d.ts +0 -13
- package/dist/src/lib/azure/services/authorisation/constants.js +0 -14
- package/dist/src/lib/azure/services/authorisation/index.d.ts +0 -3
- package/dist/src/lib/azure/services/authorisation/index.js +0 -3
- package/dist/src/lib/azure/services/authorisation/main.d.ts +0 -84
- package/dist/src/lib/azure/services/authorisation/main.js +0 -120
- package/dist/src/lib/azure/services/authorisation/types.d.ts +0 -3
- package/dist/src/lib/azure/services/authorisation/types.js +0 -1
- package/dist/src/lib/azure/services/cosmosdb/constants.d.ts +0 -8
- package/dist/src/lib/azure/services/cosmosdb/constants.js +0 -10
- package/dist/src/lib/azure/services/cosmosdb/index.d.ts +0 -3
- package/dist/src/lib/azure/services/cosmosdb/index.js +0 -3
- package/dist/src/lib/azure/services/cosmosdb/main.d.ts +0 -87
- package/dist/src/lib/azure/services/cosmosdb/main.js +0 -162
- package/dist/src/lib/azure/services/cosmosdb/types.d.ts +0 -9
- package/dist/src/lib/azure/services/cosmosdb/types.js +0 -1
- package/dist/src/lib/azure/services/dns/index.d.ts +0 -2
- package/dist/src/lib/azure/services/dns/index.js +0 -2
- package/dist/src/lib/azure/services/dns/main.d.ts +0 -58
- package/dist/src/lib/azure/services/dns/main.js +0 -107
- package/dist/src/lib/azure/services/dns/types.d.ts +0 -9
- package/dist/src/lib/azure/services/dns/types.js +0 -1
- package/dist/src/lib/azure/services/eventgrid/index.d.ts +0 -2
- package/dist/src/lib/azure/services/eventgrid/index.js +0 -2
- package/dist/src/lib/azure/services/eventgrid/main.d.ts +0 -69
- package/dist/src/lib/azure/services/eventgrid/main.js +0 -136
- package/dist/src/lib/azure/services/eventgrid/types.d.ts +0 -11
- package/dist/src/lib/azure/services/eventgrid/types.js +0 -1
- package/dist/src/lib/azure/services/function/index.d.ts +0 -2
- package/dist/src/lib/azure/services/function/index.js +0 -2
- package/dist/src/lib/azure/services/function/main.d.ts +0 -60
- package/dist/src/lib/azure/services/function/main.js +0 -223
- package/dist/src/lib/azure/services/function/types.d.ts +0 -20
- package/dist/src/lib/azure/services/function/types.js +0 -1
- package/dist/src/lib/azure/services/index.d.ts +0 -18
- package/dist/src/lib/azure/services/index.js +0 -18
- package/dist/src/lib/azure/services/key-vault/index.d.ts +0 -2
- package/dist/src/lib/azure/services/key-vault/index.js +0 -2
- package/dist/src/lib/azure/services/key-vault/main.d.ts +0 -49
- package/dist/src/lib/azure/services/key-vault/main.js +0 -83
- package/dist/src/lib/azure/services/key-vault/types.d.ts +0 -5
- package/dist/src/lib/azure/services/key-vault/types.js +0 -1
- package/dist/src/lib/azure/services/monitor/index.d.ts +0 -2
- package/dist/src/lib/azure/services/monitor/index.js +0 -2
- package/dist/src/lib/azure/services/monitor/main.d.ts +0 -31
- package/dist/src/lib/azure/services/monitor/main.js +0 -36
- package/dist/src/lib/azure/services/monitor/types.d.ts +0 -3
- package/dist/src/lib/azure/services/monitor/types.js +0 -1
- package/dist/src/lib/azure/services/operational-insights/index.d.ts +0 -2
- package/dist/src/lib/azure/services/operational-insights/index.js +0 -2
- package/dist/src/lib/azure/services/operational-insights/main.d.ts +0 -40
- package/dist/src/lib/azure/services/operational-insights/main.js +0 -64
- package/dist/src/lib/azure/services/operational-insights/types.d.ts +0 -5
- package/dist/src/lib/azure/services/operational-insights/types.js +0 -1
- package/dist/src/lib/azure/services/portal/error.d.ts +0 -5
- package/dist/src/lib/azure/services/portal/error.js +0 -10
- package/dist/src/lib/azure/services/portal/index.d.ts +0 -4
- package/dist/src/lib/azure/services/portal/index.js +0 -4
- package/dist/src/lib/azure/services/portal/main.d.ts +0 -33
- package/dist/src/lib/azure/services/portal/main.js +0 -51
- package/dist/src/lib/azure/services/portal/renderer.d.ts +0 -11
- package/dist/src/lib/azure/services/portal/renderer.js +0 -156
- package/dist/src/lib/azure/services/portal/types.d.ts +0 -40
- package/dist/src/lib/azure/services/portal/types.js +0 -1
- package/dist/src/lib/azure/services/redis/index.d.ts +0 -2
- package/dist/src/lib/azure/services/redis/index.js +0 -2
- package/dist/src/lib/azure/services/redis/main.d.ts +0 -31
- package/dist/src/lib/azure/services/redis/main.js +0 -52
- package/dist/src/lib/azure/services/redis/types.d.ts +0 -3
- package/dist/src/lib/azure/services/redis/types.js +0 -1
- package/dist/src/lib/azure/services/resource-group/index.d.ts +0 -2
- package/dist/src/lib/azure/services/resource-group/index.js +0 -2
- package/dist/src/lib/azure/services/resource-group/main.d.ts +0 -38
- package/dist/src/lib/azure/services/resource-group/main.js +0 -53
- package/dist/src/lib/azure/services/resource-group/types.d.ts +0 -3
- package/dist/src/lib/azure/services/resource-group/types.js +0 -1
- package/dist/src/lib/azure/services/security-center/index.d.ts +0 -2
- package/dist/src/lib/azure/services/security-center/index.js +0 -2
- package/dist/src/lib/azure/services/security-center/main.d.ts +0 -31
- package/dist/src/lib/azure/services/security-center/main.js +0 -33
- package/dist/src/lib/azure/services/security-center/types.d.ts +0 -3
- package/dist/src/lib/azure/services/security-center/types.js +0 -1
- package/dist/src/lib/azure/services/servicebus/index.d.ts +0 -2
- package/dist/src/lib/azure/services/servicebus/index.js +0 -2
- package/dist/src/lib/azure/services/servicebus/main.d.ts +0 -67
- package/dist/src/lib/azure/services/servicebus/main.js +0 -127
- package/dist/src/lib/azure/services/servicebus/types.d.ts +0 -11
- package/dist/src/lib/azure/services/servicebus/types.js +0 -1
- package/dist/src/lib/azure/services/storage/index.d.ts +0 -2
- package/dist/src/lib/azure/services/storage/index.js +0 -2
- package/dist/src/lib/azure/services/storage/main.d.ts +0 -88
- package/dist/src/lib/azure/services/storage/main.js +0 -173
- package/dist/src/lib/azure/services/storage/types.d.ts +0 -20
- package/dist/src/lib/azure/services/storage/types.js +0 -1
- package/dist/src/lib/azure/types/index.d.ts +0 -4
- package/dist/src/lib/azure/types/index.js +0 -1
- package/dist/src/lib/cloudflare/common/construct.d.ts +0 -47
- package/dist/src/lib/cloudflare/common/construct.js +0 -68
- package/dist/src/lib/cloudflare/common/index.d.ts +0 -3
- package/dist/src/lib/cloudflare/common/index.js +0 -3
- package/dist/src/lib/cloudflare/common/stack.d.ts +0 -43
- package/dist/src/lib/cloudflare/common/stack.js +0 -120
- package/dist/src/lib/cloudflare/common/types.d.ts +0 -9
- package/dist/src/lib/cloudflare/common/types.js +0 -1
- package/dist/src/lib/cloudflare/construct/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/construct/index.js +0 -2
- package/dist/src/lib/cloudflare/construct/pages-static-site/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/construct/pages-static-site/index.js +0 -2
- package/dist/src/lib/cloudflare/construct/pages-static-site/main.d.ts +0 -90
- package/dist/src/lib/cloudflare/construct/pages-static-site/main.js +0 -168
- package/dist/src/lib/cloudflare/construct/pages-static-site/types.d.ts +0 -11
- package/dist/src/lib/cloudflare/construct/pages-static-site/types.js +0 -1
- package/dist/src/lib/cloudflare/construct/worker-site/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/construct/worker-site/index.js +0 -2
- package/dist/src/lib/cloudflare/construct/worker-site/main.d.ts +0 -76
- package/dist/src/lib/cloudflare/construct/worker-site/main.js +0 -139
- package/dist/src/lib/cloudflare/construct/worker-site/types.d.ts +0 -11
- package/dist/src/lib/cloudflare/construct/worker-site/types.js +0 -1
- package/dist/src/lib/cloudflare/index.d.ts +0 -4
- package/dist/src/lib/cloudflare/index.js +0 -4
- package/dist/src/lib/cloudflare/services/access/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/access/index.js +0 -2
- package/dist/src/lib/cloudflare/services/access/main.d.ts +0 -108
- package/dist/src/lib/cloudflare/services/access/main.js +0 -237
- package/dist/src/lib/cloudflare/services/access/types.d.ts +0 -23
- package/dist/src/lib/cloudflare/services/access/types.js +0 -1
- package/dist/src/lib/cloudflare/services/api-shield/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/api-shield/index.js +0 -2
- package/dist/src/lib/cloudflare/services/api-shield/main.d.ts +0 -61
- package/dist/src/lib/cloudflare/services/api-shield/main.js +0 -111
- package/dist/src/lib/cloudflare/services/api-shield/types.d.ts +0 -11
- package/dist/src/lib/cloudflare/services/api-shield/types.js +0 -1
- package/dist/src/lib/cloudflare/services/argo/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/argo/index.js +0 -2
- package/dist/src/lib/cloudflare/services/argo/main.d.ts +0 -37
- package/dist/src/lib/cloudflare/services/argo/main.js +0 -56
- package/dist/src/lib/cloudflare/services/argo/types.d.ts +0 -5
- package/dist/src/lib/cloudflare/services/argo/types.js +0 -1
- package/dist/src/lib/cloudflare/services/filter/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/filter/index.js +0 -2
- package/dist/src/lib/cloudflare/services/filter/main.d.ts +0 -29
- package/dist/src/lib/cloudflare/services/filter/main.js +0 -38
- package/dist/src/lib/cloudflare/services/filter/types.d.ts +0 -3
- package/dist/src/lib/cloudflare/services/filter/types.js +0 -1
- package/dist/src/lib/cloudflare/services/firewall/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/firewall/index.js +0 -2
- package/dist/src/lib/cloudflare/services/firewall/main.d.ts +0 -29
- package/dist/src/lib/cloudflare/services/firewall/main.js +0 -38
- package/dist/src/lib/cloudflare/services/firewall/types.d.ts +0 -3
- package/dist/src/lib/cloudflare/services/firewall/types.js +0 -1
- package/dist/src/lib/cloudflare/services/index.d.ts +0 -10
- package/dist/src/lib/cloudflare/services/index.js +0 -10
- package/dist/src/lib/cloudflare/services/page/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/page/index.js +0 -2
- package/dist/src/lib/cloudflare/services/page/main.d.ts +0 -46
- package/dist/src/lib/cloudflare/services/page/main.js +0 -82
- package/dist/src/lib/cloudflare/services/page/types.d.ts +0 -14
- package/dist/src/lib/cloudflare/services/page/types.js +0 -1
- package/dist/src/lib/cloudflare/services/record/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/record/index.js +0 -2
- package/dist/src/lib/cloudflare/services/record/main.d.ts +0 -29
- package/dist/src/lib/cloudflare/services/record/main.js +0 -38
- package/dist/src/lib/cloudflare/services/record/types.d.ts +0 -3
- package/dist/src/lib/cloudflare/services/record/types.js +0 -1
- package/dist/src/lib/cloudflare/services/rule-set/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/rule-set/index.js +0 -2
- package/dist/src/lib/cloudflare/services/rule-set/main.d.ts +0 -29
- package/dist/src/lib/cloudflare/services/rule-set/main.js +0 -38
- package/dist/src/lib/cloudflare/services/rule-set/types.d.ts +0 -3
- package/dist/src/lib/cloudflare/services/rule-set/types.js +0 -1
- package/dist/src/lib/cloudflare/services/worker/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/worker/index.js +0 -2
- package/dist/src/lib/cloudflare/services/worker/main.d.ts +0 -69
- package/dist/src/lib/cloudflare/services/worker/main.js +0 -127
- package/dist/src/lib/cloudflare/services/worker/types.d.ts +0 -14
- package/dist/src/lib/cloudflare/services/worker/types.js +0 -1
- package/dist/src/lib/cloudflare/services/zone/index.d.ts +0 -2
- package/dist/src/lib/cloudflare/services/zone/index.js +0 -2
- package/dist/src/lib/cloudflare/services/zone/main.d.ts +0 -78
- package/dist/src/lib/cloudflare/services/zone/main.js +0 -153
- package/dist/src/lib/cloudflare/services/zone/types.d.ts +0 -19
- package/dist/src/lib/cloudflare/services/zone/types.js +0 -1
- package/dist/src/lib/cloudflare/types/index.d.ts +0 -3
- package/dist/src/lib/cloudflare/types/index.js +0 -1
- package/dist/src/lib/common/construct.d.ts +0 -29
- package/dist/src/lib/common/construct.js +0 -4
- package/dist/src/lib/common/index.d.ts +0 -5
- package/dist/src/lib/common/index.js +0 -12
- package/dist/src/lib/common/stack.d.ts +0 -21
- package/dist/src/lib/common/stack.js +0 -4
- package/dist/src/lib/common/types.d.ts +0 -13
- package/dist/src/lib/common/types.js +0 -1
- package/dist/src/lib/common/utils.d.ts +0 -37
- package/dist/src/lib/common/utils.js +0 -39
- package/dist/src/lib/index.d.ts +0 -4
- package/dist/src/lib/index.js +0 -4
- package/eslint.config.mjs +0 -63
- package/index.ts +0 -1
- package/pnpm-workspace.yaml +0 -3
- package/src/lib/aws/common/construct.ts +0 -167
- package/src/lib/aws/common/index.ts +0 -4
- package/src/lib/aws/common/resource-name-formatter.ts +0 -37
- package/src/lib/aws/common/stack.ts +0 -157
- package/src/lib/aws/common/types.ts +0 -30
- package/src/lib/aws/construct/api-to-any-target/index.ts +0 -3
- package/src/lib/aws/construct/api-to-any-target/main.ts +0 -235
- package/src/lib/aws/construct/api-to-any-target/target.ts +0 -29
- package/src/lib/aws/construct/api-to-any-target/types.ts +0 -69
- package/src/lib/aws/construct/api-to-eventbridge-target/api.ts +0 -40
- package/src/lib/aws/construct/api-to-eventbridge-target/event.ts +0 -16
- package/src/lib/aws/construct/api-to-eventbridge-target/index.ts +0 -4
- package/src/lib/aws/construct/api-to-eventbridge-target/main.ts +0 -547
- package/src/lib/aws/construct/api-to-eventbridge-target/types.ts +0 -113
- package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.ts +0 -17
- package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/index.ts +0 -3
- package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.ts +0 -675
- package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/types.ts +0 -24
- package/src/lib/aws/construct/api-to-lambda-target/api.ts +0 -42
- package/src/lib/aws/construct/api-to-lambda-target/index.ts +0 -3
- package/src/lib/aws/construct/api-to-lambda-target/main.ts +0 -284
- package/src/lib/aws/construct/api-to-lambda-target/types.ts +0 -72
- package/src/lib/aws/construct/application-configuration/index.ts +0 -2
- package/src/lib/aws/construct/application-configuration/main.ts +0 -125
- package/src/lib/aws/construct/application-configuration/types.ts +0 -7
- package/src/lib/aws/construct/event-handler/handler.ts +0 -30
- package/src/lib/aws/construct/event-handler/index.ts +0 -3
- package/src/lib/aws/construct/event-handler/main.ts +0 -254
- package/src/lib/aws/construct/event-handler/types.ts +0 -50
- package/src/lib/aws/construct/index.ts +0 -14
- package/src/lib/aws/construct/lambda-with-iam-access/index.ts +0 -2
- package/src/lib/aws/construct/lambda-with-iam-access/main.ts +0 -241
- package/src/lib/aws/construct/lambda-with-iam-access/types.ts +0 -21
- package/src/lib/aws/construct/piped-event-handler/index.ts +0 -2
- package/src/lib/aws/construct/piped-event-handler/main.ts +0 -81
- package/src/lib/aws/construct/piped-event-handler/types.ts +0 -10
- package/src/lib/aws/construct/rest-api-lambda/index.ts +0 -2
- package/src/lib/aws/construct/rest-api-lambda/main.ts +0 -246
- package/src/lib/aws/construct/rest-api-lambda/types.ts +0 -24
- package/src/lib/aws/construct/rest-api-lambda-with-cache/index.ts +0 -2
- package/src/lib/aws/construct/rest-api-lambda-with-cache/main.ts +0 -166
- package/src/lib/aws/construct/rest-api-lambda-with-cache/types.ts +0 -12
- package/src/lib/aws/construct/site-with-ecs-backend/constants.ts +0 -4
- package/src/lib/aws/construct/site-with-ecs-backend/index.ts +0 -3
- package/src/lib/aws/construct/site-with-ecs-backend/main.ts +0 -587
- package/src/lib/aws/construct/site-with-ecs-backend/types.ts +0 -71
- package/src/lib/aws/construct/site-with-lambda-backend/constants.ts +0 -6
- package/src/lib/aws/construct/site-with-lambda-backend/index.ts +0 -3
- package/src/lib/aws/construct/site-with-lambda-backend/main.ts +0 -443
- package/src/lib/aws/construct/site-with-lambda-backend/types.ts +0 -63
- package/src/lib/aws/construct/static-asset-deployment/index.ts +0 -2
- package/src/lib/aws/construct/static-asset-deployment/main.ts +0 -131
- package/src/lib/aws/construct/static-asset-deployment/types.ts +0 -44
- package/src/lib/aws/construct/static-site/index.ts +0 -2
- package/src/lib/aws/construct/static-site/main.ts +0 -212
- package/src/lib/aws/construct/static-site/types.ts +0 -31
- package/src/lib/aws/index.ts +0 -5
- package/src/lib/aws/services/api-gateway/index.ts +0 -2
- package/src/lib/aws/services/api-gateway/main.ts +0 -225
- package/src/lib/aws/services/api-gateway/types.ts +0 -12
- package/src/lib/aws/services/appconfig/constants.ts +0 -52
- package/src/lib/aws/services/appconfig/index.ts +0 -3
- package/src/lib/aws/services/appconfig/main.ts +0 -155
- package/src/lib/aws/services/appconfig/types.ts +0 -25
- package/src/lib/aws/services/certificate-manager/index.ts +0 -2
- package/src/lib/aws/services/certificate-manager/main.ts +0 -73
- package/src/lib/aws/services/certificate-manager/types.ts +0 -12
- package/src/lib/aws/services/cloudfront/index.ts +0 -2
- package/src/lib/aws/services/cloudfront/main.ts +0 -315
- package/src/lib/aws/services/cloudfront/types.ts +0 -15
- package/src/lib/aws/services/cloudtrail/index.ts +0 -2
- package/src/lib/aws/services/cloudtrail/main.ts +0 -87
- package/src/lib/aws/services/cloudtrail/types.ts +0 -5
- package/src/lib/aws/services/cloudwatch/index.ts +0 -3
- package/src/lib/aws/services/cloudwatch/logs.ts +0 -109
- package/src/lib/aws/services/cloudwatch/main.ts +0 -612
- package/src/lib/aws/services/cloudwatch/types.ts +0 -99
- package/src/lib/aws/services/codebuild/index.ts +0 -1
- package/src/lib/aws/services/codebuild/main.ts +0 -78
- package/src/lib/aws/services/constants.ts +0 -4
- package/src/lib/aws/services/dynamodb/index.ts +0 -2
- package/src/lib/aws/services/dynamodb/main.ts +0 -80
- package/src/lib/aws/services/dynamodb/types.ts +0 -12
- package/src/lib/aws/services/elastic-container-registry/index.ts +0 -1
- package/src/lib/aws/services/elastic-container-registry/main.ts +0 -37
- package/src/lib/aws/services/elastic-container-service/index.ts +0 -2
- package/src/lib/aws/services/elastic-container-service/main.ts +0 -195
- package/src/lib/aws/services/elastic-container-service/types.ts +0 -57
- package/src/lib/aws/services/elastic-file-system/index.ts +0 -2
- package/src/lib/aws/services/elastic-file-system/main.ts +0 -92
- package/src/lib/aws/services/elastic-file-system/types.ts +0 -16
- package/src/lib/aws/services/elastic-kubernetes-service/index.ts +0 -2
- package/src/lib/aws/services/elastic-kubernetes-service/main.ts +0 -100
- package/src/lib/aws/services/elastic-kubernetes-service/types.ts +0 -8
- package/src/lib/aws/services/elasticache/index.ts +0 -2
- package/src/lib/aws/services/elasticache/main.ts +0 -115
- package/src/lib/aws/services/elasticache/types.ts +0 -9
- package/src/lib/aws/services/eventbridge/index.ts +0 -3
- package/src/lib/aws/services/eventbridge/main.ts +0 -387
- package/src/lib/aws/services/eventbridge/target.ts +0 -84
- package/src/lib/aws/services/eventbridge/types.ts +0 -48
- package/src/lib/aws/services/evidently/index.ts +0 -2
- package/src/lib/aws/services/evidently/main.ts +0 -123
- package/src/lib/aws/services/evidently/types.ts +0 -27
- package/src/lib/aws/services/identity-access-management/index.ts +0 -1
- package/src/lib/aws/services/identity-access-management/main.ts +0 -726
- package/src/lib/aws/services/index.ts +0 -28
- package/src/lib/aws/services/key-management-service/index.ts +0 -2
- package/src/lib/aws/services/key-management-service/main.ts +0 -43
- package/src/lib/aws/services/key-management-service/types.ts +0 -5
- package/src/lib/aws/services/lambda/index.ts +0 -2
- package/src/lib/aws/services/lambda/main.ts +0 -342
- package/src/lib/aws/services/lambda/types.ts +0 -54
- package/src/lib/aws/services/route53/index.ts +0 -2
- package/src/lib/aws/services/route53/main.ts +0 -179
- package/src/lib/aws/services/route53/types.ts +0 -7
- package/src/lib/aws/services/secrets-manager/index.ts +0 -2
- package/src/lib/aws/services/secrets-manager/main.ts +0 -77
- package/src/lib/aws/services/secrets-manager/types.ts +0 -3
- package/src/lib/aws/services/simple-notification-service/index.ts +0 -2
- package/src/lib/aws/services/simple-notification-service/main.ts +0 -87
- package/src/lib/aws/services/simple-notification-service/types.ts +0 -5
- package/src/lib/aws/services/simple-queue-service/index.ts +0 -2
- package/src/lib/aws/services/simple-queue-service/main.ts +0 -114
- package/src/lib/aws/services/simple-queue-service/types.ts +0 -16
- package/src/lib/aws/services/simple-storage-service/index.ts +0 -2
- package/src/lib/aws/services/simple-storage-service/main.ts +0 -223
- package/src/lib/aws/services/simple-storage-service/types.ts +0 -28
- package/src/lib/aws/services/step-function/index.ts +0 -2
- package/src/lib/aws/services/step-function/main.ts +0 -499
- package/src/lib/aws/services/step-function/types.ts +0 -120
- package/src/lib/aws/services/systems-manager/index.ts +0 -2
- package/src/lib/aws/services/systems-manager/main.ts +0 -115
- package/src/lib/aws/services/systems-manager/types.ts +0 -10
- package/src/lib/aws/services/virtual-private-cloud/index.ts +0 -2
- package/src/lib/aws/services/virtual-private-cloud/ipv6.ts +0 -61
- package/src/lib/aws/services/virtual-private-cloud/main.ts +0 -108
- package/src/lib/aws/services/virtual-private-cloud/types.ts +0 -5
- package/src/lib/aws/services/web-application-firewall/index.ts +0 -2
- package/src/lib/aws/services/web-application-firewall/main.ts +0 -67
- package/src/lib/aws/services/web-application-firewall/types.ts +0 -9
- package/src/lib/aws/types/index.ts +0 -6
- package/src/lib/aws/utils/index.ts +0 -73
- package/src/lib/azure/common/constants.ts +0 -93
- package/src/lib/azure/common/construct.ts +0 -163
- package/src/lib/azure/common/index.ts +0 -6
- package/src/lib/azure/common/resource-name-formatter.ts +0 -43
- package/src/lib/azure/common/stack.ts +0 -133
- package/src/lib/azure/common/tagging.ts +0 -91
- package/src/lib/azure/common/types.ts +0 -59
- package/src/lib/azure/construct/event-handler/index.ts +0 -2
- package/src/lib/azure/construct/event-handler/main.ts +0 -183
- package/src/lib/azure/construct/event-handler/types.ts +0 -49
- package/src/lib/azure/construct/function-app/index.ts +0 -2
- package/src/lib/azure/construct/function-app/main.ts +0 -410
- package/src/lib/azure/construct/function-app/types.ts +0 -45
- package/src/lib/azure/construct/index.ts +0 -6
- package/src/lib/azure/construct/rest-api/index.ts +0 -2
- package/src/lib/azure/construct/rest-api/main.ts +0 -205
- package/src/lib/azure/construct/rest-api/types.ts +0 -33
- package/src/lib/azure/construct/rest-api-function/index.ts +0 -2
- package/src/lib/azure/construct/rest-api-function/main.ts +0 -297
- package/src/lib/azure/construct/rest-api-function/types.ts +0 -39
- package/src/lib/azure/construct/rest-api-with-cache/index.ts +0 -2
- package/src/lib/azure/construct/rest-api-with-cache/main.ts +0 -75
- package/src/lib/azure/construct/rest-api-with-cache/types.ts +0 -15
- package/src/lib/azure/construct/site-with-webapp/index.ts +0 -2
- package/src/lib/azure/construct/site-with-webapp/main.ts +0 -160
- package/src/lib/azure/construct/site-with-webapp/types.ts +0 -33
- package/src/lib/azure/index.ts +0 -4
- package/src/lib/azure/services/api-management/index.ts +0 -2
- package/src/lib/azure/services/api-management/main.ts +0 -398
- package/src/lib/azure/services/api-management/types.ts +0 -93
- package/src/lib/azure/services/app-configuration/index.ts +0 -2
- package/src/lib/azure/services/app-configuration/main.ts +0 -90
- package/src/lib/azure/services/app-configuration/types.ts +0 -3
- package/src/lib/azure/services/app-service/index.ts +0 -2
- package/src/lib/azure/services/app-service/main.ts +0 -123
- package/src/lib/azure/services/app-service/types.ts +0 -6
- package/src/lib/azure/services/application-insights/index.ts +0 -2
- package/src/lib/azure/services/application-insights/main.ts +0 -97
- package/src/lib/azure/services/application-insights/types.ts +0 -7
- package/src/lib/azure/services/authorisation/constants.ts +0 -13
- package/src/lib/azure/services/authorisation/index.ts +0 -3
- package/src/lib/azure/services/authorisation/main.ts +0 -202
- package/src/lib/azure/services/authorisation/types.ts +0 -3
- package/src/lib/azure/services/cosmosdb/constants.ts +0 -9
- package/src/lib/azure/services/cosmosdb/index.ts +0 -3
- package/src/lib/azure/services/cosmosdb/main.ts +0 -277
- package/src/lib/azure/services/cosmosdb/types.ts +0 -14
- package/src/lib/azure/services/dns/index.ts +0 -2
- package/src/lib/azure/services/dns/main.ts +0 -154
- package/src/lib/azure/services/dns/types.ts +0 -9
- package/src/lib/azure/services/eventgrid/index.ts +0 -2
- package/src/lib/azure/services/eventgrid/main.ts +0 -221
- package/src/lib/azure/services/eventgrid/types.ts +0 -17
- package/src/lib/azure/services/function/index.ts +0 -2
- package/src/lib/azure/services/function/main.ts +0 -279
- package/src/lib/azure/services/function/types.ts +0 -23
- package/src/lib/azure/services/index.ts +0 -18
- package/src/lib/azure/services/key-vault/index.ts +0 -2
- package/src/lib/azure/services/key-vault/main.ts +0 -112
- package/src/lib/azure/services/key-vault/types.ts +0 -5
- package/src/lib/azure/services/monitor/index.ts +0 -2
- package/src/lib/azure/services/monitor/main.ts +0 -52
- package/src/lib/azure/services/monitor/types.ts +0 -3
- package/src/lib/azure/services/operational-insights/index.ts +0 -2
- package/src/lib/azure/services/operational-insights/main.ts +0 -87
- package/src/lib/azure/services/operational-insights/types.ts +0 -5
- package/src/lib/azure/services/portal/error.ts +0 -12
- package/src/lib/azure/services/portal/index.ts +0 -4
- package/src/lib/azure/services/portal/main.ts +0 -81
- package/src/lib/azure/services/portal/renderer.ts +0 -182
- package/src/lib/azure/services/portal/types.ts +0 -45
- package/src/lib/azure/services/redis/index.ts +0 -2
- package/src/lib/azure/services/redis/main.ts +0 -66
- package/src/lib/azure/services/redis/types.ts +0 -3
- package/src/lib/azure/services/resource-group/index.ts +0 -2
- package/src/lib/azure/services/resource-group/main.ts +0 -80
- package/src/lib/azure/services/resource-group/types.ts +0 -3
- package/src/lib/azure/services/security-center/index.ts +0 -2
- package/src/lib/azure/services/security-center/main.ts +0 -42
- package/src/lib/azure/services/security-center/types.ts +0 -3
- package/src/lib/azure/services/servicebus/index.ts +0 -2
- package/src/lib/azure/services/servicebus/main.ts +0 -209
- package/src/lib/azure/services/servicebus/types.ts +0 -17
- package/src/lib/azure/services/storage/index.ts +0 -2
- package/src/lib/azure/services/storage/main.ts +0 -258
- package/src/lib/azure/services/storage/types.ts +0 -30
- package/src/lib/azure/types/index.ts +0 -4
- package/src/lib/cloudflare/common/construct.ts +0 -91
- package/src/lib/cloudflare/common/index.ts +0 -3
- package/src/lib/cloudflare/common/stack.ts +0 -132
- package/src/lib/cloudflare/common/types.ts +0 -10
- package/src/lib/cloudflare/construct/index.ts +0 -2
- package/src/lib/cloudflare/construct/pages-static-site/index.ts +0 -2
- package/src/lib/cloudflare/construct/pages-static-site/main.ts +0 -188
- package/src/lib/cloudflare/construct/pages-static-site/types.ts +0 -12
- package/src/lib/cloudflare/construct/worker-site/index.ts +0 -2
- package/src/lib/cloudflare/construct/worker-site/main.ts +0 -155
- package/src/lib/cloudflare/construct/worker-site/types.ts +0 -18
- package/src/lib/cloudflare/index.ts +0 -4
- package/src/lib/cloudflare/services/access/index.ts +0 -2
- package/src/lib/cloudflare/services/access/main.ts +0 -342
- package/src/lib/cloudflare/services/access/types.ts +0 -25
- package/src/lib/cloudflare/services/api-shield/index.ts +0 -2
- package/src/lib/cloudflare/services/api-shield/main.ts +0 -158
- package/src/lib/cloudflare/services/api-shield/types.ts +0 -13
- package/src/lib/cloudflare/services/argo/index.ts +0 -2
- package/src/lib/cloudflare/services/argo/main.ts +0 -68
- package/src/lib/cloudflare/services/argo/types.ts +0 -4
- package/src/lib/cloudflare/services/filter/index.ts +0 -2
- package/src/lib/cloudflare/services/filter/main.ts +0 -45
- package/src/lib/cloudflare/services/filter/types.ts +0 -3
- package/src/lib/cloudflare/services/firewall/index.ts +0 -2
- package/src/lib/cloudflare/services/firewall/main.ts +0 -45
- package/src/lib/cloudflare/services/firewall/types.ts +0 -3
- package/src/lib/cloudflare/services/index.ts +0 -10
- package/src/lib/cloudflare/services/page/index.ts +0 -2
- package/src/lib/cloudflare/services/page/main.ts +0 -104
- package/src/lib/cloudflare/services/page/types.ts +0 -12
- package/src/lib/cloudflare/services/record/index.ts +0 -2
- package/src/lib/cloudflare/services/record/main.ts +0 -45
- package/src/lib/cloudflare/services/record/types.ts +0 -3
- package/src/lib/cloudflare/services/rule-set/index.ts +0 -2
- package/src/lib/cloudflare/services/rule-set/main.ts +0 -45
- package/src/lib/cloudflare/services/rule-set/types.ts +0 -3
- package/src/lib/cloudflare/services/worker/index.ts +0 -2
- package/src/lib/cloudflare/services/worker/main.ts +0 -176
- package/src/lib/cloudflare/services/worker/types.ts +0 -22
- package/src/lib/cloudflare/services/zone/index.ts +0 -2
- package/src/lib/cloudflare/services/zone/main.ts +0 -221
- package/src/lib/cloudflare/services/zone/types.ts +0 -21
- package/src/lib/cloudflare/types/index.ts +0 -3
- package/src/lib/common/construct.ts +0 -35
- package/src/lib/common/index.ts +0 -18
- package/src/lib/common/stack.ts +0 -26
- package/src/lib/common/types.ts +0 -14
- package/src/lib/common/utils.ts +0 -40
- package/src/lib/index.ts +0 -4
- package/tsconfig.prd.json +0 -8
- package/vitest.config.ts +0 -37
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { ICertificate } from 'aws-cdk-lib/aws-certificatemanager';
|
|
2
|
-
import { CachePolicy, IFunction as CfIFunction, Distribution, FunctionAssociation, OriginRequestPolicy, ResponseHeadersPolicy } from 'aws-cdk-lib/aws-cloudfront';
|
|
3
|
-
import { HttpOrigin } from 'aws-cdk-lib/aws-cloudfront-origins';
|
|
4
|
-
import { PolicyDocument, Role } from 'aws-cdk-lib/aws-iam';
|
|
5
|
-
import { AssetCode, FunctionUrl, IFunction, ILayerVersion } from 'aws-cdk-lib/aws-lambda';
|
|
6
|
-
import { IHostedZone } from 'aws-cdk-lib/aws-route53';
|
|
7
|
-
import { IBucket } from 'aws-cdk-lib/aws-s3';
|
|
8
|
-
import { BucketDeployment } from 'aws-cdk-lib/aws-s3-deployment';
|
|
9
|
-
import { Construct } from 'constructs';
|
|
10
|
-
import { CommonConstruct } from '../../common/index.js';
|
|
11
|
-
import { SiteWithLambdaBackendCachePolicyProps, SiteWithLambdaBackendProps, SiteWithLambdaBackendResponseHeadersPolicyProps } from './types.js';
|
|
12
|
-
/**
|
|
13
|
-
* @classdesc Provides a construct to create and deploy a site hosted with an clustered ECS/ELB backend
|
|
14
|
-
* @example
|
|
15
|
-
* import { SiteWithLambdaBackend, SiteWithLambdaBackendProps } '@gradientedge/cdk-utils'
|
|
16
|
-
* import { Construct } from 'constructs'
|
|
17
|
-
*
|
|
18
|
-
* class CustomConstruct extends SiteWithLambdaBackend {
|
|
19
|
-
* constructor(parent: Construct, id: string, props: SiteWithLambdaBackendProps) {
|
|
20
|
-
* super(parent, id, props)
|
|
21
|
-
* this.props = props
|
|
22
|
-
* this.id = id
|
|
23
|
-
* this.initResources()
|
|
24
|
-
* }
|
|
25
|
-
* }
|
|
26
|
-
*/
|
|
27
|
-
export declare class SiteWithLambdaBackend extends CommonConstruct {
|
|
28
|
-
props: SiteWithLambdaBackendProps;
|
|
29
|
-
id: string;
|
|
30
|
-
siteHostedZone: IHostedZone;
|
|
31
|
-
siteCertificate: ICertificate;
|
|
32
|
-
siteRegionalCertificate: ICertificate;
|
|
33
|
-
siteSecrets: any;
|
|
34
|
-
siteLogBucket: IBucket;
|
|
35
|
-
siteOrigin: HttpOrigin;
|
|
36
|
-
siteDistribution: Distribution;
|
|
37
|
-
siteInternalDomainName: string;
|
|
38
|
-
siteExternalDomainName: string;
|
|
39
|
-
siteDomainNames: string[];
|
|
40
|
-
siteCloudfrontFunction: CfIFunction;
|
|
41
|
-
siteFunctionAssociations: FunctionAssociation[];
|
|
42
|
-
siteOriginRequestPolicy: OriginRequestPolicy;
|
|
43
|
-
siteOriginResponseHeadersPolicy?: ResponseHeadersPolicy;
|
|
44
|
-
siteCachePolicy: CachePolicy;
|
|
45
|
-
siteStaticAssetDeployment: BucketDeployment;
|
|
46
|
-
siteLambdaPolicy: PolicyDocument;
|
|
47
|
-
siteLambdaRole: Role;
|
|
48
|
-
siteLambdaEnvironment: any;
|
|
49
|
-
siteLambdaLayers: ILayerVersion[];
|
|
50
|
-
siteLambdaApplication: AssetCode;
|
|
51
|
-
siteLambdaFunction: IFunction;
|
|
52
|
-
siteLambdaUrl: FunctionUrl;
|
|
53
|
-
constructor(parent: Construct, id: string, props: SiteWithLambdaBackendProps);
|
|
54
|
-
/**
|
|
55
|
-
* @summary Initialise and provision resources
|
|
56
|
-
*/
|
|
57
|
-
initResources(): void;
|
|
58
|
-
/**
|
|
59
|
-
* @summary Method to resolve a hosted zone based on domain attributes
|
|
60
|
-
*/
|
|
61
|
-
protected resolveHostedZone(): void;
|
|
62
|
-
/**
|
|
63
|
-
* @summary Method to resolve a certificate based on attributes
|
|
64
|
-
*/
|
|
65
|
-
protected resolveCertificate(): void;
|
|
66
|
-
protected resolveGlobalCertificate(): void;
|
|
67
|
-
protected resolveRegionalCertificate(): void;
|
|
68
|
-
/**
|
|
69
|
-
* @summary Method to resolve secrets from SecretsManager
|
|
70
|
-
* - To be implemented in the overriding method in the implementation class
|
|
71
|
-
*/
|
|
72
|
-
protected resolveSiteSecrets(): void;
|
|
73
|
-
/**
|
|
74
|
-
* @summary Method to resolve site domain names
|
|
75
|
-
*/
|
|
76
|
-
protected resolveSiteDomainNames(): void;
|
|
77
|
-
/**
|
|
78
|
-
* Method to create log bucket for site distribution
|
|
79
|
-
*/
|
|
80
|
-
protected createSiteLogBucket(): void;
|
|
81
|
-
protected createSiteCachePolicy(id: string, siteCachePolicy: SiteWithLambdaBackendCachePolicyProps): CachePolicy;
|
|
82
|
-
protected createSiteOriginCachePolicy(): void;
|
|
83
|
-
protected createSiteOriginRequestPolicy(): void;
|
|
84
|
-
protected createResponseHeaderPolicy(props: SiteWithLambdaBackendResponseHeadersPolicyProps): ResponseHeadersPolicy | undefined;
|
|
85
|
-
protected createSiteOriginResponseHeadersPolicy(): void;
|
|
86
|
-
protected createSiteOrigin(): void;
|
|
87
|
-
protected createSiteOriginResources(): void;
|
|
88
|
-
protected createSiteStaticAssetDeployment(): void;
|
|
89
|
-
protected createSiteLambdaPolicy(): void;
|
|
90
|
-
protected createSiteLambdaRole(): void;
|
|
91
|
-
protected createSiteLambdaEnvironment(): void;
|
|
92
|
-
protected createSiteLambdaLayers(): void;
|
|
93
|
-
protected createSiteLambdaApplication(): void;
|
|
94
|
-
protected createSiteLambda(): void;
|
|
95
|
-
protected createSiteLambdaUrl(): void;
|
|
96
|
-
/**
|
|
97
|
-
* @summary Method to create a site cloudfront function
|
|
98
|
-
*/
|
|
99
|
-
protected createSiteCloudfrontFunction(): void;
|
|
100
|
-
/**
|
|
101
|
-
* @summary Method to create a site cloudfront function associations
|
|
102
|
-
*/
|
|
103
|
-
protected resolveSiteFunctionAssociations(): void;
|
|
104
|
-
/**
|
|
105
|
-
* Method to create Site distribution
|
|
106
|
-
*/
|
|
107
|
-
protected createDistribution(): void;
|
|
108
|
-
/**
|
|
109
|
-
* Method to create Route53 records for distribution
|
|
110
|
-
*/
|
|
111
|
-
protected createNetworkMappings(): void;
|
|
112
|
-
/**
|
|
113
|
-
* Method to invalidation the cloudfront distribution cache after a deployment
|
|
114
|
-
*/
|
|
115
|
-
protected invalidateDistributionCache(): void;
|
|
116
|
-
}
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
import { Duration, Fn } from 'aws-cdk-lib';
|
|
2
|
-
import { CachePolicy, FunctionEventType, OriginProtocolPolicy, OriginRequestPolicy, ResponseHeadersPolicy, } from 'aws-cdk-lib/aws-cloudfront';
|
|
3
|
-
import { HttpOrigin } from 'aws-cdk-lib/aws-cloudfront-origins';
|
|
4
|
-
import { AnyPrincipal, Effect, PolicyDocument, PolicyStatement } from 'aws-cdk-lib/aws-iam';
|
|
5
|
-
import { Function, FunctionUrlAuthType } from 'aws-cdk-lib/aws-lambda';
|
|
6
|
-
import _ from 'lodash';
|
|
7
|
-
import { CommonConstruct } from '../../common/index.js';
|
|
8
|
-
import { LAMBDA_ALIAS_NAME_CURRENT } from './constants.js';
|
|
9
|
-
/**
|
|
10
|
-
* @classdesc Provides a construct to create and deploy a site hosted with an clustered ECS/ELB backend
|
|
11
|
-
* @example
|
|
12
|
-
* import { SiteWithLambdaBackend, SiteWithLambdaBackendProps } '@gradientedge/cdk-utils'
|
|
13
|
-
* import { Construct } from 'constructs'
|
|
14
|
-
*
|
|
15
|
-
* class CustomConstruct extends SiteWithLambdaBackend {
|
|
16
|
-
* constructor(parent: Construct, id: string, props: SiteWithLambdaBackendProps) {
|
|
17
|
-
* super(parent, id, props)
|
|
18
|
-
* this.props = props
|
|
19
|
-
* this.id = id
|
|
20
|
-
* this.initResources()
|
|
21
|
-
* }
|
|
22
|
-
* }
|
|
23
|
-
*/
|
|
24
|
-
export class SiteWithLambdaBackend extends CommonConstruct {
|
|
25
|
-
/* site properties */
|
|
26
|
-
props;
|
|
27
|
-
id;
|
|
28
|
-
/* site resources */
|
|
29
|
-
siteHostedZone;
|
|
30
|
-
siteCertificate;
|
|
31
|
-
siteRegionalCertificate;
|
|
32
|
-
siteSecrets;
|
|
33
|
-
siteLogBucket;
|
|
34
|
-
siteOrigin;
|
|
35
|
-
siteDistribution;
|
|
36
|
-
siteInternalDomainName;
|
|
37
|
-
siteExternalDomainName;
|
|
38
|
-
siteDomainNames;
|
|
39
|
-
siteCloudfrontFunction;
|
|
40
|
-
siteFunctionAssociations;
|
|
41
|
-
siteOriginRequestPolicy;
|
|
42
|
-
siteOriginResponseHeadersPolicy;
|
|
43
|
-
siteCachePolicy;
|
|
44
|
-
siteStaticAssetDeployment;
|
|
45
|
-
siteLambdaPolicy;
|
|
46
|
-
siteLambdaRole;
|
|
47
|
-
siteLambdaEnvironment;
|
|
48
|
-
siteLambdaLayers;
|
|
49
|
-
siteLambdaApplication;
|
|
50
|
-
siteLambdaFunction;
|
|
51
|
-
siteLambdaUrl;
|
|
52
|
-
constructor(parent, id, props) {
|
|
53
|
-
super(parent, id, props);
|
|
54
|
-
this.props = props;
|
|
55
|
-
this.id = id;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @summary Initialise and provision resources
|
|
59
|
-
*/
|
|
60
|
-
initResources() {
|
|
61
|
-
this.resolveHostedZone();
|
|
62
|
-
this.resolveCertificate();
|
|
63
|
-
this.resolveSiteSecrets();
|
|
64
|
-
this.resolveSiteDomainNames();
|
|
65
|
-
this.createSiteLogBucket();
|
|
66
|
-
this.createSiteOriginCachePolicy();
|
|
67
|
-
this.createSiteOriginRequestPolicy();
|
|
68
|
-
this.createSiteOriginResponseHeadersPolicy();
|
|
69
|
-
this.createSiteOrigin();
|
|
70
|
-
this.createSiteCloudfrontFunction();
|
|
71
|
-
this.resolveSiteFunctionAssociations();
|
|
72
|
-
this.createDistribution();
|
|
73
|
-
this.createNetworkMappings();
|
|
74
|
-
this.invalidateDistributionCache();
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* @summary Method to resolve a hosted zone based on domain attributes
|
|
78
|
-
*/
|
|
79
|
-
resolveHostedZone() {
|
|
80
|
-
this.siteHostedZone = this.route53Manager.withHostedZoneFromFullyQualifiedDomainName(`${this.id}-hosted-zone`, this, this.props.useExistingHostedZone);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @summary Method to resolve a certificate based on attributes
|
|
84
|
-
*/
|
|
85
|
-
resolveCertificate() {
|
|
86
|
-
this.resolveGlobalCertificate();
|
|
87
|
-
this.resolveRegionalCertificate();
|
|
88
|
-
}
|
|
89
|
-
resolveGlobalCertificate() {
|
|
90
|
-
if (this.props.siteCertificate.useExistingCertificate &&
|
|
91
|
-
this.props.siteCertificate.certificateSsmName &&
|
|
92
|
-
this.props.siteCertificate.certificateRegion) {
|
|
93
|
-
this.props.siteCertificate.certificateArn = this.ssmManager.readStringParameterFromRegion(`${this.id}-certificate-parameter`, this, this.props.siteCertificate.certificateSsmName, this.props.siteCertificate.certificateRegion);
|
|
94
|
-
}
|
|
95
|
-
this.siteCertificate = this.acmManager.resolveCertificate(`${this.id}-certificate`, this, this.props.siteCertificate);
|
|
96
|
-
}
|
|
97
|
-
resolveRegionalCertificate() {
|
|
98
|
-
if (this.props.siteRegionalCertificate.useExistingCertificate &&
|
|
99
|
-
this.props.siteRegionalCertificate.certificateSsmName &&
|
|
100
|
-
this.props.siteRegionalCertificate.certificateRegion) {
|
|
101
|
-
this.props.siteRegionalCertificate.certificateArn = this.ssmManager.readStringParameterFromRegion(`${this.id}-regional-certificate-parameter`, this, this.props.siteRegionalCertificate.certificateSsmName, this.props.siteRegionalCertificate.certificateRegion);
|
|
102
|
-
}
|
|
103
|
-
this.siteRegionalCertificate = this.acmManager.resolveCertificate(`${this.id}-regional-certificate`, this, this.props.siteRegionalCertificate, this.siteHostedZone);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @summary Method to resolve secrets from SecretsManager
|
|
107
|
-
* - To be implemented in the overriding method in the implementation class
|
|
108
|
-
*/
|
|
109
|
-
resolveSiteSecrets() { }
|
|
110
|
-
/**
|
|
111
|
-
* @summary Method to resolve site domain names
|
|
112
|
-
*/
|
|
113
|
-
resolveSiteDomainNames() {
|
|
114
|
-
/* the internal domain name used by ELB */
|
|
115
|
-
this.siteInternalDomainName =
|
|
116
|
-
this.isProductionStage() || this.props.skipStageForARecords
|
|
117
|
-
? `${this.props.siteSubDomain}-internal.${this.fullyQualifiedDomainName}`
|
|
118
|
-
: `${this.props.siteSubDomain}-internal-${this.props.stage}.${this.fullyQualifiedDomainName}`;
|
|
119
|
-
/* the external domain name exposed to CloudFront */
|
|
120
|
-
this.siteExternalDomainName =
|
|
121
|
-
this.isProductionStage() || this.props.skipStageForARecords
|
|
122
|
-
? `${this.props.siteSubDomain}.${this.fullyQualifiedDomainName}`
|
|
123
|
-
: `${this.props.siteSubDomain}-${this.props.stage}.${this.fullyQualifiedDomainName}`;
|
|
124
|
-
this.siteDomainNames = [this.siteExternalDomainName];
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Method to create log bucket for site distribution
|
|
128
|
-
*/
|
|
129
|
-
createSiteLogBucket() {
|
|
130
|
-
this.siteLogBucket = this.s3Manager.createS3Bucket(`${this.id}-site-logs`, this, this.props.siteLogBucket);
|
|
131
|
-
}
|
|
132
|
-
createSiteCachePolicy(id, siteCachePolicy) {
|
|
133
|
-
if (!siteCachePolicy.cachePolicyName)
|
|
134
|
-
throw `SiteCachePolicy cachePolicyName undefined for ${id}`;
|
|
135
|
-
return new CachePolicy(this, `${id}`, {
|
|
136
|
-
cachePolicyName: this.resourceNameFormatter.format(siteCachePolicy.cachePolicyName),
|
|
137
|
-
comment: `Policy for ${this.id}-distribution - ${this.props.stage} stage`,
|
|
138
|
-
cookieBehavior: siteCachePolicy.cookieBehavior,
|
|
139
|
-
enableAcceptEncodingBrotli: siteCachePolicy.enableAcceptEncodingBrotli,
|
|
140
|
-
enableAcceptEncodingGzip: siteCachePolicy.enableAcceptEncodingGzip,
|
|
141
|
-
headerBehavior: siteCachePolicy.headerBehavior,
|
|
142
|
-
maxTtl: Duration.seconds(siteCachePolicy.maxTtlInSeconds),
|
|
143
|
-
minTtl: Duration.seconds(siteCachePolicy.minTtlInSeconds),
|
|
144
|
-
queryStringBehavior: siteCachePolicy.queryStringBehavior,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
createSiteOriginCachePolicy() {
|
|
148
|
-
if (!this.props.siteCachePolicy)
|
|
149
|
-
return;
|
|
150
|
-
this.siteCachePolicy = this.createSiteCachePolicy(`${this.id}-site-cache-policy`, this.props.siteCachePolicy);
|
|
151
|
-
_.assign(this.props.siteDistribution.defaultBehavior, {
|
|
152
|
-
cachePolicy: this.siteCachePolicy,
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
createSiteOriginRequestPolicy() {
|
|
156
|
-
if (!this.props.siteOriginRequestPolicy)
|
|
157
|
-
return;
|
|
158
|
-
if (!this.props.siteOriginRequestPolicy.originRequestPolicyName)
|
|
159
|
-
throw `SiteOriginRequestPolicy originRequestPolicyName undefined for ${this.id}`;
|
|
160
|
-
this.siteOriginRequestPolicy = new OriginRequestPolicy(this, `${this.id}-sorp`, {
|
|
161
|
-
comment: `Request Policy for ${this.id}-distribution - ${this.props.stage} stage`,
|
|
162
|
-
cookieBehavior: this.props.siteOriginRequestPolicy.cookieBehavior,
|
|
163
|
-
headerBehavior: this.props.siteOriginRequestPolicy.headerBehavior,
|
|
164
|
-
originRequestPolicyName: this.resourceNameFormatter.format(this.props.siteOriginRequestPolicy.originRequestPolicyName),
|
|
165
|
-
queryStringBehavior: this.props.siteOriginRequestPolicy.queryStringBehavior,
|
|
166
|
-
});
|
|
167
|
-
_.assign(this.props.siteDistribution.defaultBehavior, {
|
|
168
|
-
originRequestPolicy: this.siteOriginRequestPolicy,
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
createResponseHeaderPolicy(props) {
|
|
172
|
-
if (!props)
|
|
173
|
-
return undefined;
|
|
174
|
-
if (!props.responseHeadersPolicyName)
|
|
175
|
-
throw `SiteResponseHeadersPolicy responseHeadersPolicyName undefined for ${this.id}`;
|
|
176
|
-
return new ResponseHeadersPolicy(this, `${this.id}-${props.type}-srhp`, {
|
|
177
|
-
...props,
|
|
178
|
-
comment: `Response Header Policy for ${props.type} for ${this.id}-distribution - ${this.props.stage} stage`,
|
|
179
|
-
responseHeadersPolicyName: this.resourceNameFormatter.format(props.responseHeadersPolicyName),
|
|
180
|
-
securityHeadersBehavior: {
|
|
181
|
-
...props.securityHeadersBehavior,
|
|
182
|
-
strictTransportSecurity: {
|
|
183
|
-
...props.securityHeadersBehavior?.strictTransportSecurity,
|
|
184
|
-
accessControlMaxAge: Duration.seconds(props.securityHeadersBehavior?.strictTransportSecurity?.accessControlMaxAgeInSeconds),
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
createSiteOriginResponseHeadersPolicy() {
|
|
190
|
-
if (!this.props.siteOriginResponseHeadersPolicy)
|
|
191
|
-
return;
|
|
192
|
-
this.siteOriginResponseHeadersPolicy = this.createResponseHeaderPolicy(this.props.siteOriginResponseHeadersPolicy);
|
|
193
|
-
_.assign(this.props.siteDistribution.defaultBehavior, {
|
|
194
|
-
responseHeadersPolicy: this.siteOriginResponseHeadersPolicy,
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
createSiteOrigin() {
|
|
198
|
-
this.createSiteOriginResources();
|
|
199
|
-
this.siteOrigin = new HttpOrigin(Fn.select(2, Fn.split('/', this.siteLambdaUrl.url)), {
|
|
200
|
-
httpPort: 443,
|
|
201
|
-
originId: `${this.id}-server`,
|
|
202
|
-
protocolPolicy: OriginProtocolPolicy.HTTPS_ONLY,
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
createSiteOriginResources() {
|
|
206
|
-
this.createSiteStaticAssetDeployment();
|
|
207
|
-
this.createSiteLambdaPolicy();
|
|
208
|
-
this.createSiteLambdaRole();
|
|
209
|
-
this.createSiteLambdaEnvironment();
|
|
210
|
-
this.createSiteLambdaLayers();
|
|
211
|
-
this.createSiteLambdaApplication();
|
|
212
|
-
this.createSiteLambda();
|
|
213
|
-
this.createSiteLambdaUrl();
|
|
214
|
-
}
|
|
215
|
-
createSiteStaticAssetDeployment() { }
|
|
216
|
-
createSiteLambdaPolicy() {
|
|
217
|
-
this.siteLambdaPolicy = new PolicyDocument({
|
|
218
|
-
statements: [
|
|
219
|
-
new PolicyStatement({
|
|
220
|
-
actions: ['lambda:InvokeFunctionUrl'],
|
|
221
|
-
effect: Effect.ALLOW,
|
|
222
|
-
resources: ['*'],
|
|
223
|
-
}),
|
|
224
|
-
],
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
createSiteLambdaRole() {
|
|
228
|
-
this.siteLambdaRole = this.iamManager.createRoleForLambda(`${this.id}-role`, this, this.siteLambdaPolicy);
|
|
229
|
-
}
|
|
230
|
-
createSiteLambdaEnvironment() {
|
|
231
|
-
this.siteLambdaEnvironment = {
|
|
232
|
-
AWS_LAMBDA_EXEC_WRAPPER: this.props.siteExecWrapperPath ?? '/opt/bootstrap',
|
|
233
|
-
LOG_LEVEL: this.props.logLevel,
|
|
234
|
-
NODE_ENV: this.props.nodeEnv,
|
|
235
|
-
PORT: this.props.sitePort,
|
|
236
|
-
READINESS_CHECK_PATH: this.props.siteHealthEndpoint,
|
|
237
|
-
READINESS_CHECK_PORT: this.props.sitePort,
|
|
238
|
-
STAGE: this.props.stage,
|
|
239
|
-
TZ: this.props.timezone,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
createSiteLambdaLayers() {
|
|
243
|
-
this.siteLambdaLayers = this.lambdaManager.createWebAdapterLayer(`${this.id}-web-adapter`, this);
|
|
244
|
-
}
|
|
245
|
-
createSiteLambdaApplication() { }
|
|
246
|
-
createSiteLambda() {
|
|
247
|
-
this.siteLambdaFunction = this.lambdaManager.createLambdaFunction(`${this.id}-lambda`, this, this.props.siteLambda, this.siteLambdaRole, this.siteLambdaLayers, this.siteLambdaApplication, this.props.siteLambda.handler, this.siteLambdaEnvironment);
|
|
248
|
-
}
|
|
249
|
-
createSiteLambdaUrl() {
|
|
250
|
-
const lambdaAlias = _.find(this.props.siteLambda.lambdaAliases, alias => alias.aliasName === LAMBDA_ALIAS_NAME_CURRENT);
|
|
251
|
-
const lambdaFn = lambdaAlias
|
|
252
|
-
? Function.fromFunctionAttributes(this, `${this.id}-fn-alias`, {
|
|
253
|
-
functionArn: `${this.siteLambdaFunction.functionArn}:${lambdaAlias.aliasName}`,
|
|
254
|
-
sameEnvironment: true,
|
|
255
|
-
})
|
|
256
|
-
: this.siteLambdaFunction;
|
|
257
|
-
lambdaFn.node.addDependency(this.siteLambdaFunction);
|
|
258
|
-
this.siteLambdaUrl = lambdaFn.addFunctionUrl({
|
|
259
|
-
authType: FunctionUrlAuthType.NONE,
|
|
260
|
-
});
|
|
261
|
-
this.siteLambdaUrl.node.addDependency(this.siteLambdaFunction);
|
|
262
|
-
this.siteLambdaUrl.node.addDependency(lambdaFn);
|
|
263
|
-
const principal = new AnyPrincipal();
|
|
264
|
-
principal.addToPolicy(new PolicyStatement({
|
|
265
|
-
actions: ['lambda:InvokeFunctionUrl'],
|
|
266
|
-
conditions: { StringEquals: { 'lambda:FunctionUrlAuthType': FunctionUrlAuthType.NONE } },
|
|
267
|
-
effect: Effect.ALLOW,
|
|
268
|
-
resources: ['*'],
|
|
269
|
-
}));
|
|
270
|
-
lambdaFn.grantInvokeUrl({ grantPrincipal: principal });
|
|
271
|
-
this.addCfnOutput(`${this.id}-url`, this.siteLambdaUrl.url);
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* @summary Method to create a site cloudfront function
|
|
275
|
-
*/
|
|
276
|
-
createSiteCloudfrontFunction() {
|
|
277
|
-
if (this.props.siteCloudfrontFunctionProps) {
|
|
278
|
-
this.siteCloudfrontFunction = this.cloudFrontManager.createCloudfrontFunction(`${this.id}-function`, this, this.props.siteCloudfrontFunctionProps);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* @summary Method to create a site cloudfront function associations
|
|
283
|
-
*/
|
|
284
|
-
resolveSiteFunctionAssociations() {
|
|
285
|
-
if (this.props.siteCloudfrontFunctionProps) {
|
|
286
|
-
this.siteFunctionAssociations = [
|
|
287
|
-
{
|
|
288
|
-
eventType: FunctionEventType.VIEWER_REQUEST,
|
|
289
|
-
function: this.siteCloudfrontFunction,
|
|
290
|
-
},
|
|
291
|
-
];
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Method to create Site distribution
|
|
296
|
-
*/
|
|
297
|
-
createDistribution() {
|
|
298
|
-
this.siteDistribution = this.cloudFrontManager.createDistributionWithHttpOrigin(`${this.id}-distribution`, this, this.props.siteDistribution, this.siteOrigin, this.siteDomainNames, this.siteLogBucket, this.siteCertificate, this.siteFunctionAssociations, this.props.siteDistribution.defaultBehavior.responseHeadersPolicy);
|
|
299
|
-
this.siteDistribution.node.addDependency(this.siteLambdaFunction);
|
|
300
|
-
this.siteDistribution.node.addDependency(this.siteLambdaUrl);
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Method to create Route53 records for distribution
|
|
304
|
-
*/
|
|
305
|
-
createNetworkMappings() {
|
|
306
|
-
this.route53Manager.createCloudFrontTargetARecord(`${this.id}-a-record`, this, this.siteDistribution, this.siteHostedZone, this.props.siteRecordName, this.props.skipStageForARecords);
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Method to invalidation the cloudfront distribution cache after a deployment
|
|
310
|
-
*/
|
|
311
|
-
invalidateDistributionCache() {
|
|
312
|
-
if (this.props.siteCacheInvalidationDockerFilePath) {
|
|
313
|
-
this.cloudFrontManager.invalidateCache(`${this.id}-cache-invalidation`, this, this.props.siteCacheInvalidationDockerFilePath, this.siteDistribution.distributionId);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CachePolicyProps, OriginRequestPolicyProps, ResponseHeadersPolicyProps, ResponseHeadersStrictTransportSecurity, ResponseSecurityHeadersBehavior } from 'aws-cdk-lib/aws-cloudfront';
|
|
2
|
-
import { CommonStackProps } from '../../common/index.js';
|
|
3
|
-
import { AcmProps, CloudfrontFunctionProps, DistributionProps, LambdaProps, LogProps, S3BucketProps } from '../../services/index.js';
|
|
4
|
-
import { SiteWithLambdaBackendResponseHeaderPolicyType } from './constants.js';
|
|
5
|
-
/**
|
|
6
|
-
*/
|
|
7
|
-
export interface SiteWithLambdaBackendProps extends CommonStackProps {
|
|
8
|
-
logLevel: string;
|
|
9
|
-
nodeEnv: string;
|
|
10
|
-
siteCacheInvalidationDockerFilePath?: string;
|
|
11
|
-
siteCertificate: AcmProps;
|
|
12
|
-
siteCloudfrontFunctionProps?: CloudfrontFunctionProps;
|
|
13
|
-
siteDistribution: DistributionProps;
|
|
14
|
-
siteExecWrapperPath: string;
|
|
15
|
-
siteFunctionFilePath?: string;
|
|
16
|
-
siteHealthEndpoint: string;
|
|
17
|
-
siteLambda: LambdaProps;
|
|
18
|
-
siteLog: LogProps;
|
|
19
|
-
siteLogBucket: S3BucketProps;
|
|
20
|
-
sitePort: string;
|
|
21
|
-
siteCachePolicy?: SiteWithLambdaBackendCachePolicyProps;
|
|
22
|
-
siteOriginRequestPolicy: OriginRequestPolicyProps;
|
|
23
|
-
siteOriginResponseHeadersPolicy: SiteWithLambdaBackendResponseHeadersPolicyProps;
|
|
24
|
-
siteRecordName?: string;
|
|
25
|
-
siteRegionalCertificate: AcmProps;
|
|
26
|
-
siteSubDomain: string;
|
|
27
|
-
timezone: string;
|
|
28
|
-
useExistingHostedZone: boolean;
|
|
29
|
-
useExistingVpc: boolean;
|
|
30
|
-
}
|
|
31
|
-
export interface SiteWithLambdaBackendResponseHeadersStrictTransportSecurity extends ResponseHeadersStrictTransportSecurity {
|
|
32
|
-
accessControlMaxAgeInSeconds: number;
|
|
33
|
-
}
|
|
34
|
-
export interface SiteWithLambdaBackendSecurityHeadersBehavior extends ResponseSecurityHeadersBehavior {
|
|
35
|
-
strictTransportSecurity: SiteWithLambdaBackendResponseHeadersStrictTransportSecurity;
|
|
36
|
-
}
|
|
37
|
-
export interface SiteWithLambdaBackendResponseHeadersPolicyProps extends ResponseHeadersPolicyProps {
|
|
38
|
-
securityHeadersBehavior: SiteWithLambdaBackendSecurityHeadersBehavior;
|
|
39
|
-
type: SiteWithLambdaBackendResponseHeaderPolicyType;
|
|
40
|
-
}
|
|
41
|
-
export interface SiteWithLambdaBackendCachePolicyProps extends CachePolicyProps {
|
|
42
|
-
defaultTtlInSeconds: number;
|
|
43
|
-
minTtlInSeconds: number;
|
|
44
|
-
maxTtlInSeconds: number;
|
|
45
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { IBucket } from 'aws-cdk-lib/aws-s3';
|
|
2
|
-
import { IDistribution } from 'aws-cdk-lib/aws-cloudfront';
|
|
3
|
-
import { Construct } from 'constructs';
|
|
4
|
-
import { CommonConstruct } from '../../common/index.js';
|
|
5
|
-
import { StaticAssetDeploymentProps } from './types.js';
|
|
6
|
-
/**
|
|
7
|
-
* @classdesc Provides a construct to create and deploy static assets into S3 bucket
|
|
8
|
-
* @example
|
|
9
|
-
* import { StaticAssetDeployment, StaticAssetDeploymentProps } '@gradientedge/cdk-utils'
|
|
10
|
-
* import { Construct } from 'constructs'
|
|
11
|
-
*
|
|
12
|
-
* class CustomConstruct extends StaticAssetDeployment {
|
|
13
|
-
* constructor(parent: Construct, id: string, props: StaticAssetDeploymentProps) {
|
|
14
|
-
* super(parent, id, props)
|
|
15
|
-
* this.initResources()
|
|
16
|
-
* }
|
|
17
|
-
* }
|
|
18
|
-
*/
|
|
19
|
-
export declare class StaticAssetDeployment extends CommonConstruct {
|
|
20
|
-
staticAssetBucket: IBucket;
|
|
21
|
-
cloudfrontDistribution?: IDistribution;
|
|
22
|
-
props: StaticAssetDeploymentProps;
|
|
23
|
-
id: string;
|
|
24
|
-
constructor(parent: Construct, id: string, props: StaticAssetDeploymentProps);
|
|
25
|
-
/**
|
|
26
|
-
* @summary Initialise and provision resources
|
|
27
|
-
*/
|
|
28
|
-
initResources(): void;
|
|
29
|
-
/**
|
|
30
|
-
* @summary Create the static asset bucket
|
|
31
|
-
*/
|
|
32
|
-
protected createAssetBucket(): void;
|
|
33
|
-
/**
|
|
34
|
-
* @summary Distribute the load for the static asset bucket if both distribution and paths are provided
|
|
35
|
-
*/
|
|
36
|
-
protected resolveDistribution(): void;
|
|
37
|
-
/**
|
|
38
|
-
* @summary Deploy the static assets into the static asset bucket
|
|
39
|
-
*/
|
|
40
|
-
protected deployStaticAssets(): void;
|
|
41
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Fn } from 'aws-cdk-lib';
|
|
2
|
-
import { BucketDeployment, Source } from 'aws-cdk-lib/aws-s3-deployment';
|
|
3
|
-
import _ from 'lodash';
|
|
4
|
-
import { CommonConstruct } from '../../common/index.js';
|
|
5
|
-
import appRoot from 'app-root-path';
|
|
6
|
-
import path from 'path';
|
|
7
|
-
/**
|
|
8
|
-
* @classdesc Provides a construct to create and deploy static assets into S3 bucket
|
|
9
|
-
* @example
|
|
10
|
-
* import { StaticAssetDeployment, StaticAssetDeploymentProps } '@gradientedge/cdk-utils'
|
|
11
|
-
* import { Construct } from 'constructs'
|
|
12
|
-
*
|
|
13
|
-
* class CustomConstruct extends StaticAssetDeployment {
|
|
14
|
-
* constructor(parent: Construct, id: string, props: StaticAssetDeploymentProps) {
|
|
15
|
-
* super(parent, id, props)
|
|
16
|
-
* this.initResources()
|
|
17
|
-
* }
|
|
18
|
-
* }
|
|
19
|
-
*/
|
|
20
|
-
export class StaticAssetDeployment extends CommonConstruct {
|
|
21
|
-
/* construct resources */
|
|
22
|
-
staticAssetBucket;
|
|
23
|
-
cloudfrontDistribution;
|
|
24
|
-
props;
|
|
25
|
-
id;
|
|
26
|
-
constructor(parent, id, props) {
|
|
27
|
-
super(parent, id, props);
|
|
28
|
-
this.id = id;
|
|
29
|
-
this.props = props;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* @summary Initialise and provision resources
|
|
33
|
-
*/
|
|
34
|
-
initResources() {
|
|
35
|
-
this.createAssetBucket();
|
|
36
|
-
this.resolveDistribution();
|
|
37
|
-
this.deployStaticAssets();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* @summary Create the static asset bucket
|
|
41
|
-
*/
|
|
42
|
-
createAssetBucket() {
|
|
43
|
-
this.staticAssetBucket = this.s3Manager.createS3Bucket(`${this.id}-sa-bucket`, this, this.props.staticAssetBucket);
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* @summary Distribute the load for the static asset bucket if both distribution and paths are provided
|
|
47
|
-
*/
|
|
48
|
-
resolveDistribution() {
|
|
49
|
-
if (this.props.cloudFrontDistribution &&
|
|
50
|
-
(this.props.cloudFrontDistribution.domainName || this.props.cloudFrontDistribution.domainNameRef) &&
|
|
51
|
-
(this.props.cloudFrontDistribution.distributionId || this.props.cloudFrontDistribution.distributionIdRef) &&
|
|
52
|
-
this.props.cloudFrontDistribution.invalidationPaths &&
|
|
53
|
-
this.props.cloudFrontDistribution.invalidationPaths.length > 0) {
|
|
54
|
-
let domainName = this.props.cloudFrontDistribution.domainName;
|
|
55
|
-
if (this.props.cloudFrontDistribution.domainNameRef) {
|
|
56
|
-
domainName = Fn.importValue(this.props.cloudFrontDistribution.domainNameRef);
|
|
57
|
-
}
|
|
58
|
-
let distributionId = this.props.cloudFrontDistribution.distributionId;
|
|
59
|
-
if (this.props.cloudFrontDistribution.distributionIdRef) {
|
|
60
|
-
distributionId = Fn.importValue(this.props.cloudFrontDistribution.distributionIdRef);
|
|
61
|
-
}
|
|
62
|
-
const distributionAttributes = {
|
|
63
|
-
domainName: domainName,
|
|
64
|
-
distributionId: distributionId,
|
|
65
|
-
};
|
|
66
|
-
this.cloudfrontDistribution = this.cloudFrontManager.resolveDistribution(this, distributionAttributes);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* @summary Deploy the static assets into the static asset bucket
|
|
71
|
-
*/
|
|
72
|
-
deployStaticAssets() {
|
|
73
|
-
let sources = [];
|
|
74
|
-
if (Array.isArray(this.props.staticAssetSources) &&
|
|
75
|
-
this.props.staticAssetSources.length > 0 &&
|
|
76
|
-
typeof this.props.staticAssetSources[0] === 'string') {
|
|
77
|
-
sources = this.props.staticAssetSources.map(source => {
|
|
78
|
-
const resolvedPath = path.join(appRoot.path, source);
|
|
79
|
-
return Source.asset(resolvedPath);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
sources = this.props.staticAssetSources;
|
|
84
|
-
}
|
|
85
|
-
let distributionOptions = {};
|
|
86
|
-
if (this.cloudfrontDistribution) {
|
|
87
|
-
distributionOptions = {
|
|
88
|
-
distribution: this.cloudfrontDistribution,
|
|
89
|
-
distributionPaths: this.props.cloudFrontDistribution?.invalidationPaths,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
let destinationKeyPrefixOptions = {};
|
|
93
|
-
if (this.props.destinationKeyPrefix) {
|
|
94
|
-
destinationKeyPrefixOptions = {
|
|
95
|
-
destinationKeyPrefix: this.props.destinationKeyPrefix,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
new BucketDeployment(this, `${this.id}-static-deployment`, {
|
|
99
|
-
...this.props.staticAssetDeployment,
|
|
100
|
-
destinationBucket: this.staticAssetBucket,
|
|
101
|
-
sources: sources,
|
|
102
|
-
...destinationKeyPrefixOptions,
|
|
103
|
-
...distributionOptions,
|
|
104
|
-
});
|
|
105
|
-
const staticAssetsForExport = this.props.staticAssetsForExport;
|
|
106
|
-
if (!staticAssetsForExport)
|
|
107
|
-
return;
|
|
108
|
-
/* optional additional exports needed for asset urls */
|
|
109
|
-
_.forEach(staticAssetsForExport, asset => {
|
|
110
|
-
this.addCfnOutput(asset.key, this.staticAssetBucket.s3UrlForObject(asset.value));
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|