@gradientedge/cdk-utils-aws 1.0.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/LICENSE +21 -0
- package/dist/src/common/construct.d.ts +85 -0
- package/dist/src/common/construct.js +125 -0
- package/dist/src/common/index.d.ts +4 -0
- package/dist/src/common/index.js +4 -0
- package/dist/src/common/resource-name-formatter.d.ts +13 -0
- package/dist/src/common/resource-name-formatter.js +30 -0
- package/dist/src/common/stack.d.ts +62 -0
- package/dist/src/common/stack.js +139 -0
- package/dist/src/common/types.d.ts +30 -0
- package/dist/src/common/types.js +1 -0
- package/dist/src/construct/api-to-any-target/index.d.ts +3 -0
- package/dist/src/construct/api-to-any-target/index.js +3 -0
- package/dist/src/construct/api-to-any-target/main.d.ts +47 -0
- package/dist/src/construct/api-to-any-target/main.js +154 -0
- package/dist/src/construct/api-to-any-target/target.d.ts +23 -0
- package/dist/src/construct/api-to-any-target/target.js +14 -0
- package/dist/src/construct/api-to-any-target/types.d.ts +60 -0
- package/dist/src/construct/api-to-any-target/types.js +1 -0
- package/dist/src/construct/api-to-eventbridge-target/api.d.ts +34 -0
- package/dist/src/construct/api-to-eventbridge-target/api.js +23 -0
- package/dist/src/construct/api-to-eventbridge-target/event.d.ts +15 -0
- package/dist/src/construct/api-to-eventbridge-target/event.js +12 -0
- package/dist/src/construct/api-to-eventbridge-target/index.d.ts +4 -0
- package/dist/src/construct/api-to-eventbridge-target/index.js +4 -0
- package/dist/src/construct/api-to-eventbridge-target/main.d.ts +121 -0
- package/dist/src/construct/api-to-eventbridge-target/main.js +442 -0
- package/dist/src/construct/api-to-eventbridge-target/types.d.ts +100 -0
- package/dist/src/construct/api-to-eventbridge-target/types.js +1 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.d.ts +16 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/api-destined-lambda.js +12 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/index.d.ts +3 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/index.js +3 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/main.d.ts +159 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/main.js +547 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/types.d.ts +22 -0
- package/dist/src/construct/api-to-eventbridge-target-with-sns/types.js +1 -0
- package/dist/src/construct/api-to-lambda-target/api.d.ts +35 -0
- package/dist/src/construct/api-to-lambda-target/api.js +24 -0
- package/dist/src/construct/api-to-lambda-target/index.d.ts +3 -0
- package/dist/src/construct/api-to-lambda-target/index.js +3 -0
- package/dist/src/construct/api-to-lambda-target/main.d.ts +70 -0
- package/dist/src/construct/api-to-lambda-target/main.js +218 -0
- package/dist/src/construct/api-to-lambda-target/types.d.ts +62 -0
- package/dist/src/construct/api-to-lambda-target/types.js +1 -0
- package/dist/src/construct/application-configuration/index.d.ts +2 -0
- package/dist/src/construct/application-configuration/index.js +2 -0
- package/dist/src/construct/application-configuration/main.d.ts +23 -0
- package/dist/src/construct/application-configuration/main.js +79 -0
- package/dist/src/construct/application-configuration/types.d.ts +6 -0
- package/dist/src/construct/application-configuration/types.js +1 -0
- package/dist/src/construct/event-handler/handler.d.ts +29 -0
- package/dist/src/construct/event-handler/handler.js +21 -0
- package/dist/src/construct/event-handler/index.d.ts +3 -0
- package/dist/src/construct/event-handler/index.js +3 -0
- package/dist/src/construct/event-handler/main.d.ts +91 -0
- package/dist/src/construct/event-handler/main.js +196 -0
- package/dist/src/construct/event-handler/types.d.ts +41 -0
- package/dist/src/construct/event-handler/types.js +1 -0
- package/dist/src/construct/index.d.ts +14 -0
- package/dist/src/construct/index.js +14 -0
- package/dist/src/construct/lambda-with-iam-access/index.d.ts +2 -0
- package/dist/src/construct/lambda-with-iam-access/index.js +2 -0
- package/dist/src/construct/lambda-with-iam-access/main.d.ts +78 -0
- package/dist/src/construct/lambda-with-iam-access/main.js +182 -0
- package/dist/src/construct/lambda-with-iam-access/types.d.ts +20 -0
- package/dist/src/construct/lambda-with-iam-access/types.js +1 -0
- package/dist/src/construct/piped-event-handler/index.d.ts +2 -0
- package/dist/src/construct/piped-event-handler/index.js +2 -0
- package/dist/src/construct/piped-event-handler/main.d.ts +38 -0
- package/dist/src/construct/piped-event-handler/main.js +62 -0
- package/dist/src/construct/piped-event-handler/types.d.ts +9 -0
- package/dist/src/construct/piped-event-handler/types.js +1 -0
- package/dist/src/construct/rest-api-lambda/index.d.ts +2 -0
- package/dist/src/construct/rest-api-lambda/index.js +2 -0
- package/dist/src/construct/rest-api-lambda/main.d.ts +96 -0
- package/dist/src/construct/rest-api-lambda/main.js +170 -0
- package/dist/src/construct/rest-api-lambda/types.d.ts +23 -0
- package/dist/src/construct/rest-api-lambda/types.js +1 -0
- package/dist/src/construct/rest-api-lambda-with-cache/index.d.ts +2 -0
- package/dist/src/construct/rest-api-lambda-with-cache/index.js +2 -0
- package/dist/src/construct/rest-api-lambda-with-cache/main.d.ts +56 -0
- package/dist/src/construct/rest-api-lambda-with-cache/main.js +118 -0
- package/dist/src/construct/rest-api-lambda-with-cache/types.d.ts +11 -0
- package/dist/src/construct/rest-api-lambda-with-cache/types.js +1 -0
- package/dist/src/construct/site-with-ecs-backend/constants.d.ts +4 -0
- package/dist/src/construct/site-with-ecs-backend/constants.js +5 -0
- package/dist/src/construct/site-with-ecs-backend/index.d.ts +3 -0
- package/dist/src/construct/site-with-ecs-backend/index.js +3 -0
- package/dist/src/construct/site-with-ecs-backend/main.d.ts +154 -0
- package/dist/src/construct/site-with-ecs-backend/main.js +437 -0
- package/dist/src/construct/site-with-ecs-backend/types.d.ts +49 -0
- package/dist/src/construct/site-with-ecs-backend/types.js +1 -0
- package/dist/src/construct/site-with-lambda-backend/constants.d.ts +5 -0
- package/dist/src/construct/site-with-lambda-backend/constants.js +6 -0
- package/dist/src/construct/site-with-lambda-backend/index.d.ts +3 -0
- package/dist/src/construct/site-with-lambda-backend/index.js +3 -0
- package/dist/src/construct/site-with-lambda-backend/main.d.ts +116 -0
- package/dist/src/construct/site-with-lambda-backend/main.js +316 -0
- package/dist/src/construct/site-with-lambda-backend/types.d.ts +45 -0
- package/dist/src/construct/site-with-lambda-backend/types.js +1 -0
- package/dist/src/construct/static-asset-deployment/index.d.ts +2 -0
- package/dist/src/construct/static-asset-deployment/index.js +2 -0
- package/dist/src/construct/static-asset-deployment/main.d.ts +41 -0
- package/dist/src/construct/static-asset-deployment/main.js +113 -0
- package/dist/src/construct/static-asset-deployment/types.d.ts +41 -0
- package/dist/src/construct/static-asset-deployment/types.js +1 -0
- package/dist/src/construct/static-site/index.d.ts +2 -0
- package/dist/src/construct/static-site/index.js +2 -0
- package/dist/src/construct/static-site/main.d.ts +84 -0
- package/dist/src/construct/static-site/main.js +136 -0
- package/dist/src/construct/static-site/types.d.ts +30 -0
- package/dist/src/construct/static-site/types.js +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/services/api-gateway/index.d.ts +2 -0
- package/dist/src/services/api-gateway/index.js +2 -0
- package/dist/src/services/api-gateway/main.d.ts +68 -0
- package/dist/src/services/api-gateway/main.js +173 -0
- package/dist/src/services/api-gateway/types.d.ts +10 -0
- package/dist/src/services/api-gateway/types.js +1 -0
- package/dist/src/services/appconfig/constants.d.ts +12 -0
- package/dist/src/services/appconfig/constants.js +51 -0
- package/dist/src/services/appconfig/index.d.ts +3 -0
- package/dist/src/services/appconfig/index.js +3 -0
- package/dist/src/services/appconfig/main.d.ts +63 -0
- package/dist/src/services/appconfig/main.js +119 -0
- package/dist/src/services/appconfig/types.d.ts +17 -0
- package/dist/src/services/appconfig/types.js +1 -0
- package/dist/src/services/certificate-manager/index.d.ts +2 -0
- package/dist/src/services/certificate-manager/index.js +2 -0
- package/dist/src/services/certificate-manager/main.d.ts +41 -0
- package/dist/src/services/certificate-manager/main.js +62 -0
- package/dist/src/services/certificate-manager/types.d.ts +11 -0
- package/dist/src/services/certificate-manager/types.js +1 -0
- package/dist/src/services/cloudfront/index.d.ts +2 -0
- package/dist/src/services/cloudfront/index.js +2 -0
- package/dist/src/services/cloudfront/main.d.ts +96 -0
- package/dist/src/services/cloudfront/main.js +233 -0
- package/dist/src/services/cloudfront/types.d.ts +13 -0
- package/dist/src/services/cloudfront/types.js +1 -0
- package/dist/src/services/cloudtrail/index.d.ts +2 -0
- package/dist/src/services/cloudtrail/index.js +2 -0
- package/dist/src/services/cloudtrail/main.d.ts +44 -0
- package/dist/src/services/cloudtrail/main.js +71 -0
- package/dist/src/services/cloudtrail/types.d.ts +5 -0
- package/dist/src/services/cloudtrail/types.js +1 -0
- package/dist/src/services/cloudwatch/index.d.ts +3 -0
- package/dist/src/services/cloudwatch/index.js +3 -0
- package/dist/src/services/cloudwatch/logs.d.ts +47 -0
- package/dist/src/services/cloudwatch/logs.js +98 -0
- package/dist/src/services/cloudwatch/main.d.ts +207 -0
- package/dist/src/services/cloudwatch/main.js +552 -0
- package/dist/src/services/cloudwatch/types.d.ts +89 -0
- package/dist/src/services/cloudwatch/types.js +1 -0
- package/dist/src/services/codebuild/index.d.ts +1 -0
- package/dist/src/services/codebuild/index.js +1 -0
- package/dist/src/services/codebuild/main.d.ts +36 -0
- package/dist/src/services/codebuild/main.js +67 -0
- package/dist/src/services/constants.d.ts +4 -0
- package/dist/src/services/constants.js +5 -0
- package/dist/src/services/dynamodb/index.d.ts +2 -0
- package/dist/src/services/dynamodb/index.js +2 -0
- package/dist/src/services/dynamodb/main.d.ts +35 -0
- package/dist/src/services/dynamodb/main.js +72 -0
- package/dist/src/services/dynamodb/types.d.ts +10 -0
- package/dist/src/services/dynamodb/types.js +1 -0
- package/dist/src/services/elastic-container-registry/index.d.ts +1 -0
- package/dist/src/services/elastic-container-registry/index.js +1 -0
- package/dist/src/services/elastic-container-registry/main.d.ts +27 -0
- package/dist/src/services/elastic-container-registry/main.js +33 -0
- package/dist/src/services/elastic-container-service/index.d.ts +2 -0
- package/dist/src/services/elastic-container-service/index.js +2 -0
- package/dist/src/services/elastic-container-service/main.d.ts +56 -0
- package/dist/src/services/elastic-container-service/main.js +149 -0
- package/dist/src/services/elastic-container-service/types.d.ts +45 -0
- package/dist/src/services/elastic-container-service/types.js +1 -0
- package/dist/src/services/elastic-file-system/index.d.ts +2 -0
- package/dist/src/services/elastic-file-system/index.js +2 -0
- package/dist/src/services/elastic-file-system/main.d.ts +42 -0
- package/dist/src/services/elastic-file-system/main.js +76 -0
- package/dist/src/services/elastic-file-system/types.d.ts +15 -0
- package/dist/src/services/elastic-file-system/types.js +1 -0
- package/dist/src/services/elastic-kubernetes-service/index.d.ts +2 -0
- package/dist/src/services/elastic-kubernetes-service/index.js +2 -0
- package/dist/src/services/elastic-kubernetes-service/main.d.ts +32 -0
- package/dist/src/services/elastic-kubernetes-service/main.js +85 -0
- package/dist/src/services/elastic-kubernetes-service/types.d.ts +7 -0
- package/dist/src/services/elastic-kubernetes-service/types.js +1 -0
- package/dist/src/services/elasticache/index.d.ts +2 -0
- package/dist/src/services/elasticache/index.js +2 -0
- package/dist/src/services/elasticache/main.d.ts +47 -0
- package/dist/src/services/elasticache/main.js +90 -0
- package/dist/src/services/elasticache/types.d.ts +9 -0
- package/dist/src/services/elasticache/types.js +1 -0
- package/dist/src/services/eventbridge/index.d.ts +3 -0
- package/dist/src/services/eventbridge/index.js +3 -0
- package/dist/src/services/eventbridge/main.d.ts +93 -0
- package/dist/src/services/eventbridge/main.js +295 -0
- package/dist/src/services/eventbridge/target.d.ts +57 -0
- package/dist/src/services/eventbridge/target.js +61 -0
- package/dist/src/services/eventbridge/types.d.ts +43 -0
- package/dist/src/services/eventbridge/types.js +1 -0
- package/dist/src/services/evidently/index.d.ts +2 -0
- package/dist/src/services/evidently/index.js +2 -0
- package/dist/src/services/evidently/main.d.ts +56 -0
- package/dist/src/services/evidently/main.js +114 -0
- package/dist/src/services/evidently/types.d.ts +21 -0
- package/dist/src/services/evidently/types.js +1 -0
- package/dist/src/services/identity-access-management/index.d.ts +1 -0
- package/dist/src/services/identity-access-management/index.js +1 -0
- package/dist/src/services/identity-access-management/main.d.ts +263 -0
- package/dist/src/services/identity-access-management/main.js +609 -0
- package/dist/src/services/index.d.ts +28 -0
- package/dist/src/services/index.js +28 -0
- package/dist/src/services/key-management-service/index.d.ts +2 -0
- package/dist/src/services/key-management-service/index.js +2 -0
- package/dist/src/services/key-management-service/main.d.ts +28 -0
- package/dist/src/services/key-management-service/main.js +39 -0
- package/dist/src/services/key-management-service/types.d.ts +5 -0
- package/dist/src/services/key-management-service/types.js +1 -0
- package/dist/src/services/lambda/index.d.ts +2 -0
- package/dist/src/services/lambda/index.js +2 -0
- package/dist/src/services/lambda/main.d.ts +89 -0
- package/dist/src/services/lambda/main.js +232 -0
- package/dist/src/services/lambda/types.d.ts +54 -0
- package/dist/src/services/lambda/types.js +1 -0
- package/dist/src/services/route53/index.d.ts +2 -0
- package/dist/src/services/route53/index.js +2 -0
- package/dist/src/services/route53/main.d.ts +66 -0
- package/dist/src/services/route53/main.js +136 -0
- package/dist/src/services/route53/types.d.ts +6 -0
- package/dist/src/services/route53/types.js +1 -0
- package/dist/src/services/secrets-manager/index.d.ts +2 -0
- package/dist/src/services/secrets-manager/index.js +2 -0
- package/dist/src/services/secrets-manager/main.d.ts +43 -0
- package/dist/src/services/secrets-manager/main.js +71 -0
- package/dist/src/services/secrets-manager/types.d.ts +3 -0
- package/dist/src/services/secrets-manager/types.js +1 -0
- package/dist/src/services/simple-notification-service/index.d.ts +2 -0
- package/dist/src/services/simple-notification-service/index.js +2 -0
- package/dist/src/services/simple-notification-service/main.d.ts +38 -0
- package/dist/src/services/simple-notification-service/main.js +68 -0
- package/dist/src/services/simple-notification-service/types.d.ts +5 -0
- package/dist/src/services/simple-notification-service/types.js +1 -0
- package/dist/src/services/simple-queue-service/index.d.ts +2 -0
- package/dist/src/services/simple-queue-service/index.js +2 -0
- package/dist/src/services/simple-queue-service/main.d.ts +45 -0
- package/dist/src/services/simple-queue-service/main.js +101 -0
- package/dist/src/services/simple-queue-service/types.d.ts +15 -0
- package/dist/src/services/simple-queue-service/types.js +1 -0
- package/dist/src/services/simple-storage-service/index.d.ts +2 -0
- package/dist/src/services/simple-storage-service/index.js +2 -0
- package/dist/src/services/simple-storage-service/main.d.ts +79 -0
- package/dist/src/services/simple-storage-service/main.js +191 -0
- package/dist/src/services/simple-storage-service/types.d.ts +25 -0
- package/dist/src/services/simple-storage-service/types.js +1 -0
- package/dist/src/services/step-function/index.d.ts +2 -0
- package/dist/src/services/step-function/index.js +2 -0
- package/dist/src/services/step-function/main.d.ts +161 -0
- package/dist/src/services/step-function/main.js +380 -0
- package/dist/src/services/step-function/types.d.ts +88 -0
- package/dist/src/services/step-function/types.js +1 -0
- package/dist/src/services/systems-manager/index.d.ts +2 -0
- package/dist/src/services/systems-manager/index.js +2 -0
- package/dist/src/services/systems-manager/main.d.ts +55 -0
- package/dist/src/services/systems-manager/main.js +97 -0
- package/dist/src/services/systems-manager/types.d.ts +9 -0
- package/dist/src/services/systems-manager/types.js +1 -0
- package/dist/src/services/virtual-private-cloud/index.d.ts +2 -0
- package/dist/src/services/virtual-private-cloud/index.js +2 -0
- package/dist/src/services/virtual-private-cloud/ipv6.d.ts +7 -0
- package/dist/src/services/virtual-private-cloud/ipv6.js +38 -0
- package/dist/src/services/virtual-private-cloud/main.d.ts +43 -0
- package/dist/src/services/virtual-private-cloud/main.js +87 -0
- package/dist/src/services/virtual-private-cloud/types.d.ts +4 -0
- package/dist/src/services/virtual-private-cloud/types.js +1 -0
- package/dist/src/services/web-application-firewall/index.d.ts +2 -0
- package/dist/src/services/web-application-firewall/index.js +2 -0
- package/dist/src/services/web-application-firewall/main.d.ts +35 -0
- package/dist/src/services/web-application-firewall/main.js +61 -0
- package/dist/src/services/web-application-firewall/types.d.ts +9 -0
- package/dist/src/services/web-application-firewall/types.js +1 -0
- package/dist/src/types/index.d.ts +6 -0
- package/dist/src/types/index.js +1 -0
- package/dist/src/utils/index.d.ts +45 -0
- package/dist/src/utils/index.js +61 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Secret } from 'aws-cdk-lib/aws-secretsmanager';
|
|
2
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
3
|
+
import { SecretBaseProps } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* @classdesc Provides operations on AWS Secrets Manager.
|
|
6
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
7
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
8
|
+
* @example
|
|
9
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
10
|
+
*
|
|
11
|
+
* class CustomConstruct extends CommonConstruct {
|
|
12
|
+
* constructor(parent: Construct, id: string, props: common.CommonStackProps) {
|
|
13
|
+
* super(parent, id, props)
|
|
14
|
+
* this.props = props
|
|
15
|
+
* this.loadSecret('MySecretName', 'eu-west-1')
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
|
|
19
|
+
*/
|
|
20
|
+
export declare class SecretsManager {
|
|
21
|
+
/**
|
|
22
|
+
* @summary Method to create a secret
|
|
23
|
+
* @param id scoped id of the resource
|
|
24
|
+
* @param scope scope in which this resource is defined
|
|
25
|
+
* @param props the secret properties
|
|
26
|
+
*/
|
|
27
|
+
createSecret(id: string, scope: CommonConstruct, props: SecretBaseProps): Secret;
|
|
28
|
+
/**
|
|
29
|
+
* @summary Method to retrieve a secret from secrets manager with a cloudformation export
|
|
30
|
+
* @param id
|
|
31
|
+
* @param scope
|
|
32
|
+
* @param stackName
|
|
33
|
+
* @param exportName
|
|
34
|
+
*/
|
|
35
|
+
retrieveSecretFromSecretsManager(id: string, scope: CommonConstruct, stackName: string, exportName: string): import("aws-cdk-lib/aws-secretsmanager").ISecret;
|
|
36
|
+
/**
|
|
37
|
+
* @summary Method to resolve secret value from a secret using AWS SDK
|
|
38
|
+
* @param region the region in which the secret is defined
|
|
39
|
+
* @param secretId the secret name/ARN
|
|
40
|
+
* @param secretKey the secret key to resolve the value for
|
|
41
|
+
*/
|
|
42
|
+
resolveSecretValue(region: string, secretId: string, secretKey: string): Promise<any>;
|
|
43
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { GetSecretValueCommand, SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
|
|
2
|
+
import { Fn } from 'aws-cdk-lib';
|
|
3
|
+
import { Secret } from 'aws-cdk-lib/aws-secretsmanager';
|
|
4
|
+
import { createCfnOutput, determineCredentials } from '../../utils/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS Secrets Manager.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.loadSecret('MySecretName', 'eu-west-1')
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export class SecretsManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create a secret
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props the secret properties
|
|
27
|
+
*/
|
|
28
|
+
createSecret(id, scope, props) {
|
|
29
|
+
if (!props)
|
|
30
|
+
throw `Secret props undefined for ${id}`;
|
|
31
|
+
if (!props.secretName)
|
|
32
|
+
throw `Secret name undefined for ${id}`;
|
|
33
|
+
const secret = new Secret(scope, `${id}`, {
|
|
34
|
+
...props,
|
|
35
|
+
secretName: scope.resourceNameFormatter.format(props.secretName, scope.props.resourceNameOptions?.secret),
|
|
36
|
+
});
|
|
37
|
+
createCfnOutput(`${id}-secretName`, scope, secret.secretName);
|
|
38
|
+
createCfnOutput(`${id}-secretArn`, scope, secret.secretArn);
|
|
39
|
+
return secret;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @summary Method to retrieve a secret from secrets manager with a cloudformation export
|
|
43
|
+
* @param id
|
|
44
|
+
* @param scope
|
|
45
|
+
* @param stackName
|
|
46
|
+
* @param exportName
|
|
47
|
+
*/
|
|
48
|
+
retrieveSecretFromSecretsManager(id, scope, stackName, exportName) {
|
|
49
|
+
return Secret.fromSecretNameV2(scope, `${id}`, Fn.importValue(`${stackName}-${scope.props.stage}-${exportName}`));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @summary Method to resolve secret value from a secret using AWS SDK
|
|
53
|
+
* @param region the region in which the secret is defined
|
|
54
|
+
* @param secretId the secret name/ARN
|
|
55
|
+
* @param secretKey the secret key to resolve the value for
|
|
56
|
+
*/
|
|
57
|
+
async resolveSecretValue(region, secretId, secretKey) {
|
|
58
|
+
const client = new SecretsManagerClient({
|
|
59
|
+
credentials: determineCredentials(),
|
|
60
|
+
region,
|
|
61
|
+
});
|
|
62
|
+
const command = new GetSecretValueCommand({
|
|
63
|
+
SecretId: secretId,
|
|
64
|
+
});
|
|
65
|
+
const response = await client.send(command);
|
|
66
|
+
if (!response.SecretString)
|
|
67
|
+
throw `Unable to resolve secret for ${secretId}`;
|
|
68
|
+
const secretString = JSON.parse(response.SecretString);
|
|
69
|
+
return secretString[secretKey];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { IFunction } from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import { Topic } from 'aws-cdk-lib/aws-sns';
|
|
3
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
4
|
+
import { SubscriptionProps } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS Simple Notification Service.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.snsManager.createEmailNotificationService('MySns', 'eu-west-1', ["test@example.com"])
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export declare class SnsManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create an email notification service
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props
|
|
27
|
+
* @param emails
|
|
28
|
+
*/
|
|
29
|
+
createEmailNotificationService(id: string, scope: CommonConstruct, props: SubscriptionProps, emails: string[]): Topic;
|
|
30
|
+
/**
|
|
31
|
+
* @summary Method to create a lambda notification service
|
|
32
|
+
* @param id scoped id of the resource
|
|
33
|
+
* @param scope scope in which this resource is defined
|
|
34
|
+
* @param props
|
|
35
|
+
* @param lambdaFunction
|
|
36
|
+
*/
|
|
37
|
+
createLambdaNotificationService(id: string, scope: CommonConstruct, props: SubscriptionProps, lambdaFunction: IFunction): Topic;
|
|
38
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Topic } from 'aws-cdk-lib/aws-sns';
|
|
2
|
+
import { EmailSubscription, LambdaSubscription } from 'aws-cdk-lib/aws-sns-subscriptions';
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import { createCfnOutput } from '../../utils/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS Simple Notification Service.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.snsManager.createEmailNotificationService('MySns', 'eu-west-1', ["test@example.com"])
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export class SnsManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create an email notification service
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props
|
|
27
|
+
* @param emails
|
|
28
|
+
*/
|
|
29
|
+
createEmailNotificationService(id, scope, props, emails) {
|
|
30
|
+
if (!props)
|
|
31
|
+
throw `Subscription props undefined for ${id}`;
|
|
32
|
+
if (!props.topicName)
|
|
33
|
+
throw `Subscription topicName undefined for ${id}`;
|
|
34
|
+
const topic = new Topic(scope, id, {
|
|
35
|
+
...props,
|
|
36
|
+
displayName: scope.resourceNameFormatter.format(props.topicName, scope.props.resourceNameOptions?.sns),
|
|
37
|
+
topicName: scope.resourceNameFormatter.format(props.topicName, scope.props.resourceNameOptions?.sns),
|
|
38
|
+
});
|
|
39
|
+
if (emails && !_.isEmpty(emails)) {
|
|
40
|
+
_.forEach(emails, (email) => topic.addSubscription(new EmailSubscription(email)));
|
|
41
|
+
}
|
|
42
|
+
createCfnOutput(`${id}-subscriptionArn`, scope, topic.topicArn);
|
|
43
|
+
createCfnOutput(`${id}-subscriptionName`, scope, topic.topicName);
|
|
44
|
+
return topic;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @summary Method to create a lambda notification service
|
|
48
|
+
* @param id scoped id of the resource
|
|
49
|
+
* @param scope scope in which this resource is defined
|
|
50
|
+
* @param props
|
|
51
|
+
* @param lambdaFunction
|
|
52
|
+
*/
|
|
53
|
+
createLambdaNotificationService(id, scope, props, lambdaFunction) {
|
|
54
|
+
if (!props)
|
|
55
|
+
throw `Subscription props undefined for ${id}`;
|
|
56
|
+
if (!props.topicName)
|
|
57
|
+
throw `Subscription topicName undefined for ${id}`;
|
|
58
|
+
const topic = new Topic(scope, id, {
|
|
59
|
+
...props,
|
|
60
|
+
displayName: scope.resourceNameFormatter.format(props.topicName, scope.props.resourceNameOptions?.sns),
|
|
61
|
+
topicName: scope.resourceNameFormatter.format(props.topicName, scope.props.resourceNameOptions?.sns),
|
|
62
|
+
});
|
|
63
|
+
topic.addSubscription(new LambdaSubscription(lambdaFunction));
|
|
64
|
+
createCfnOutput(`${id}-subscriptionArn`, scope, topic.topicArn);
|
|
65
|
+
createCfnOutput(`${id}-subscriptionName`, scope, topic.topicName);
|
|
66
|
+
return topic;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IQueue, Queue } from 'aws-cdk-lib/aws-sqs';
|
|
2
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
3
|
+
import { LambdaProps } from '../lambda/index.js';
|
|
4
|
+
import { QueueProps } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS Simple Queue Service.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.sqsManager.createQueue('MySqs', this, {...})
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK Simple Queue Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export declare class SqsManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create a lambda queue service
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props
|
|
27
|
+
* @param deadLetterQueue
|
|
28
|
+
*/
|
|
29
|
+
createQueue(id: string, scope: CommonConstruct, props: QueueProps, deadLetterQueue?: IQueue): Queue;
|
|
30
|
+
/**
|
|
31
|
+
* @summary Method to create a redrive queue for a lambda function
|
|
32
|
+
* @param id scoped id of the resource
|
|
33
|
+
* @param scope scope in which this resource is defined
|
|
34
|
+
* @param props the lambda properties
|
|
35
|
+
*/
|
|
36
|
+
createRedriveQueueForLambda(id: string, scope: CommonConstruct, props: LambdaProps): Queue;
|
|
37
|
+
/**
|
|
38
|
+
* @summary Method to create a dead letter queue for a lambda function
|
|
39
|
+
* @param id scoped id of the resource
|
|
40
|
+
* @param scope scope in which this resource is defined
|
|
41
|
+
* @param props the lambda properties
|
|
42
|
+
* @param deadLetterQueue
|
|
43
|
+
*/
|
|
44
|
+
createDeadLetterQueueForLambda(id: string, scope: CommonConstruct, props: LambdaProps, deadLetterQueue: IQueue): Queue;
|
|
45
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Duration, RemovalPolicy, Tags } from 'aws-cdk-lib';
|
|
2
|
+
import { Queue } from 'aws-cdk-lib/aws-sqs';
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import { createCfnOutput } from '../../utils/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* @classdesc Provides operations on AWS Simple Queue Service.
|
|
7
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
9
|
+
* @example
|
|
10
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
11
|
+
*
|
|
12
|
+
* class CustomConstruct extends CommonConstruct {
|
|
13
|
+
* constructor(parent: Construct, id: string, props: common.CommonStackProps) {
|
|
14
|
+
* super(parent, id, props)
|
|
15
|
+
* this.props = props
|
|
16
|
+
* this.sqsManager.createQueue('MySqs', this, {...})
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @see [CDK Simple Queue Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sqs-readme.html}
|
|
20
|
+
*/
|
|
21
|
+
export class SqsManager {
|
|
22
|
+
/**
|
|
23
|
+
* @summary Method to create a lambda queue service
|
|
24
|
+
* @param id scoped id of the resource
|
|
25
|
+
* @param scope scope in which this resource is defined
|
|
26
|
+
* @param props
|
|
27
|
+
* @param deadLetterQueue
|
|
28
|
+
*/
|
|
29
|
+
createQueue(id, scope, props, deadLetterQueue) {
|
|
30
|
+
if (!props)
|
|
31
|
+
throw `Queue props undefined for ${id}`;
|
|
32
|
+
if (!props.queueName)
|
|
33
|
+
throw `Queue queueName undefined for ${id}`;
|
|
34
|
+
let queueName = scope.resourceNameFormatter.format(props.queueName, scope.props.resourceNameOptions?.sqs);
|
|
35
|
+
if (props.fifo)
|
|
36
|
+
queueName += '.fifo';
|
|
37
|
+
const queue = new Queue(scope, id, {
|
|
38
|
+
...props,
|
|
39
|
+
dataKeyReuse: props.dataKeyReuseInSecs ? Duration.seconds(props.dataKeyReuseInSecs) : props.dataKeyReuse,
|
|
40
|
+
deadLetterQueue: !deadLetterQueue
|
|
41
|
+
? undefined
|
|
42
|
+
: {
|
|
43
|
+
maxReceiveCount: props.maxReceiveCount ?? 5,
|
|
44
|
+
queue: deadLetterQueue,
|
|
45
|
+
},
|
|
46
|
+
deliveryDelay: props.deliveryDelayInSecs ? Duration.seconds(props.deliveryDelayInSecs) : undefined,
|
|
47
|
+
queueName,
|
|
48
|
+
receiveMessageWaitTime: props.receiveMessageWaitTimeInSecs
|
|
49
|
+
? Duration.seconds(props.receiveMessageWaitTimeInSecs)
|
|
50
|
+
: props.receiveMessageWaitTime,
|
|
51
|
+
removalPolicy: props.removalPolicy ?? RemovalPolicy.DESTROY,
|
|
52
|
+
retentionPeriod: props.retentionInDays ? Duration.days(props.retentionInDays) : Duration.days(7),
|
|
53
|
+
visibilityTimeout: props.visibilityTimeoutInSecs
|
|
54
|
+
? Duration.seconds(props.visibilityTimeoutInSecs)
|
|
55
|
+
: props.visibilityTimeout,
|
|
56
|
+
});
|
|
57
|
+
if (props.tags && !_.isEmpty(props.tags)) {
|
|
58
|
+
_.forEach(props.tags, tag => {
|
|
59
|
+
Tags.of(queue).add(tag.key, tag.value);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
createCfnOutput(`${id}-queueArn`, scope, queue.queueArn);
|
|
63
|
+
createCfnOutput(`${id}-queueName`, scope, queue.queueName);
|
|
64
|
+
createCfnOutput(`${id}-queueUrl`, scope, queue.queueUrl);
|
|
65
|
+
return queue;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @summary Method to create a redrive queue for a lambda function
|
|
69
|
+
* @param id scoped id of the resource
|
|
70
|
+
* @param scope scope in which this resource is defined
|
|
71
|
+
* @param props the lambda properties
|
|
72
|
+
*/
|
|
73
|
+
createRedriveQueueForLambda(id, scope, props) {
|
|
74
|
+
return this.createQueue(`${id}`, scope, {
|
|
75
|
+
...props.redriveq,
|
|
76
|
+
queueName: `${props.functionName}-redriveq`,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @summary Method to create a dead letter queue for a lambda function
|
|
81
|
+
* @param id scoped id of the resource
|
|
82
|
+
* @param scope scope in which this resource is defined
|
|
83
|
+
* @param props the lambda properties
|
|
84
|
+
* @param deadLetterQueue
|
|
85
|
+
*/
|
|
86
|
+
createDeadLetterQueueForLambda(id, scope, props, deadLetterQueue) {
|
|
87
|
+
let queueProps;
|
|
88
|
+
if (props.dlq) {
|
|
89
|
+
queueProps = {
|
|
90
|
+
...props.dlq,
|
|
91
|
+
queueName: `${props.functionName}-dlq`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
queueProps = {
|
|
96
|
+
queueName: `${props.functionName}-dlq`,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return this.createQueue(`${id}`, scope, queueProps, deadLetterQueue);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as sqs from 'aws-cdk-lib/aws-sqs';
|
|
2
|
+
import { TagProps } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export interface QueueProps extends sqs.QueueProps {
|
|
6
|
+
dataKeyReuseInSecs?: number;
|
|
7
|
+
deliveryDelayInSecs?: number;
|
|
8
|
+
maxReceiveCount?: number;
|
|
9
|
+
receiveMessageWaitTimeInSecs?: number;
|
|
10
|
+
retentionInDays?: number;
|
|
11
|
+
retriesEnabled?: boolean;
|
|
12
|
+
retryBatchSize?: number;
|
|
13
|
+
tags?: TagProps[];
|
|
14
|
+
visibilityTimeoutInSecs?: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { IDistribution } from 'aws-cdk-lib/aws-cloudfront';
|
|
2
|
+
import { CfnBucketPolicy, IBucket } from 'aws-cdk-lib/aws-s3';
|
|
3
|
+
import { ISource } from 'aws-cdk-lib/aws-s3-deployment';
|
|
4
|
+
import { CommonConstruct } from '../../common/index.js';
|
|
5
|
+
import { LifecycleRule, S3BucketProps } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* @classdesc Provides operations on AWS S3
|
|
8
|
+
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
9
|
+
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
10
|
+
* @example
|
|
11
|
+
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
12
|
+
*
|
|
13
|
+
* class CustomConstruct extends CommonConstruct {
|
|
14
|
+
* constructor(parent: Construct, id: string, props: common.CommonStackProps) {
|
|
15
|
+
* super(parent, id, props)
|
|
16
|
+
* this.props = props
|
|
17
|
+
* this.s3Manager.createS3Bucket('MyBucket', this)
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
|
|
21
|
+
*/
|
|
22
|
+
export declare class S3Manager {
|
|
23
|
+
/**
|
|
24
|
+
* @summary Method to determine S3 Bucket lifecycle properties
|
|
25
|
+
* @param props bucket properties
|
|
26
|
+
*/
|
|
27
|
+
protected determineBucketLifecycleRules(props: S3BucketProps): LifecycleRule[] | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* @summary Method to determine the bucket name using account and region
|
|
30
|
+
* @param scope scope in which this resource is defined
|
|
31
|
+
* @param bucketName the bucket name
|
|
32
|
+
*/
|
|
33
|
+
protected static determineBucketNameByAccountAndRegion(scope: CommonConstruct, bucketName: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* @summary Method to determine the bucket name using domain name
|
|
36
|
+
* @param scope scope in which this resource is defined
|
|
37
|
+
* @param bucketName the bucket name
|
|
38
|
+
*/
|
|
39
|
+
protected static determineBucketNameByDomainName(scope: CommonConstruct, bucketName: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* @summary Method to determine the bucket name
|
|
42
|
+
* @param scope scope in which this resource is defined
|
|
43
|
+
* @param bucketName the bucket name
|
|
44
|
+
*/
|
|
45
|
+
static determineBucketName(scope: CommonConstruct, props: S3BucketProps, bucketName: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* @summary Method to create a s3 bucket
|
|
48
|
+
* @param id scoped id of the resource
|
|
49
|
+
* @param scope scope in which this resource is defined
|
|
50
|
+
* @param props bucket properties
|
|
51
|
+
*/
|
|
52
|
+
createS3Bucket(id: string, scope: CommonConstruct, props: S3BucketProps): IBucket;
|
|
53
|
+
/**
|
|
54
|
+
* @summary Method to create an iam bucket policy for cloudtrail
|
|
55
|
+
* @param id scoped id of the resource
|
|
56
|
+
* @param scope scope in which this resource is defined
|
|
57
|
+
* @param bucket
|
|
58
|
+
*/
|
|
59
|
+
createBucketPolicyForCloudTrail(id: string, scope: CommonConstruct, bucket: IBucket): CfnBucketPolicy;
|
|
60
|
+
/**
|
|
61
|
+
* @summary Method to create a s3 bucket deployment
|
|
62
|
+
* @param id scoped id of the resource
|
|
63
|
+
* @param scope scope in which this resource is defined
|
|
64
|
+
* @param siteBucket
|
|
65
|
+
* @param distribution
|
|
66
|
+
* @param sources
|
|
67
|
+
* @param prefix
|
|
68
|
+
* @param prune
|
|
69
|
+
*/
|
|
70
|
+
doBucketDeployment(id: string, scope: CommonConstruct, siteBucket: IBucket, distribution: IDistribution, sources: ISource[], prefix: string, prune?: boolean): void;
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
* @param id scoped id of the resource
|
|
74
|
+
* @param scope scope in which this resource is defined
|
|
75
|
+
* @param bucket bucket to create the folders in
|
|
76
|
+
* @param folders list of folder names to be created in the bucket
|
|
77
|
+
*/
|
|
78
|
+
createBucketFolders(id: string, scope: CommonConstruct, bucket: IBucket, folders: string[]): void;
|
|
79
|
+
}
|