@gradientedge/cdk-utils 4.1.0 → 4.2.1
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/README.md +37 -9
- package/dist/index.d.ts +3 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -25
- package/dist/index.js.map +1 -1
- package/dist/src/lib/common/commonConstruct.d.ts +30 -50
- package/dist/src/lib/common/commonConstruct.d.ts.map +1 -1
- package/dist/src/lib/common/commonConstruct.js +53 -54
- package/dist/src/lib/common/commonConstruct.js.map +1 -1
- package/dist/src/lib/common/commonStack.d.ts +3 -2
- package/dist/src/lib/common/commonStack.d.ts.map +1 -1
- package/dist/src/lib/common/commonStack.js +2 -1
- package/dist/src/lib/common/commonStack.js.map +1 -1
- package/dist/src/lib/common/index.d.ts +3 -0
- package/dist/src/lib/common/index.d.ts.map +1 -0
- package/dist/src/lib/common/index.js +15 -0
- package/dist/src/lib/common/index.js.map +1 -0
- package/dist/src/lib/construct/graphQLApiLambda.d.ts +6 -5
- package/dist/src/lib/construct/graphQLApiLambda.d.ts.map +1 -1
- package/dist/src/lib/construct/graphQLApiLambda.js +3 -2
- package/dist/src/lib/construct/graphQLApiLambda.js.map +1 -1
- package/dist/src/lib/construct/index.d.ts +4 -0
- package/dist/src/lib/construct/index.d.ts.map +1 -0
- package/dist/src/lib/construct/index.js +16 -0
- package/dist/src/lib/construct/index.js.map +1 -0
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts +21 -8
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts.map +1 -1
- package/dist/src/lib/construct/siteWithEcsBackend.js +33 -5
- package/dist/src/lib/construct/siteWithEcsBackend.js.map +1 -1
- package/dist/src/lib/construct/staticSite.d.ts +18 -5
- package/dist/src/lib/construct/staticSite.d.ts.map +1 -1
- package/dist/src/lib/construct/staticSite.js +31 -2
- package/dist/src/lib/construct/staticSite.js.map +1 -1
- package/dist/src/lib/manager/{acmManager.d.ts → aws/acmManager.d.ts} +9 -8
- package/dist/src/lib/manager/aws/acmManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{acmManager.js → aws/acmManager.js} +9 -8
- package/dist/src/lib/manager/aws/acmManager.js.map +1 -0
- package/dist/src/lib/manager/{apiManager.d.ts → aws/apiManager.d.ts} +12 -11
- package/dist/src/lib/manager/aws/apiManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{apiManager.js → aws/apiManager.js} +12 -11
- package/dist/src/lib/manager/aws/apiManager.js.map +1 -0
- package/dist/src/lib/manager/{appConfigManager.d.ts → aws/appConfigManager.d.ts} +18 -17
- package/dist/src/lib/manager/aws/appConfigManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{appConfigManager.js → aws/appConfigManager.js} +20 -19
- package/dist/src/lib/manager/aws/appConfigManager.js.map +1 -0
- package/dist/src/lib/manager/aws/cloudFrontManager.d.ts +112 -0
- package/dist/src/lib/manager/aws/cloudFrontManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudFrontManager.js → aws/cloudFrontManager.js} +49 -25
- package/dist/src/lib/manager/aws/cloudFrontManager.js.map +1 -0
- package/dist/src/lib/manager/{cloudTrailManager.d.ts → aws/cloudTrailManager.d.ts} +10 -9
- package/dist/src/lib/manager/aws/cloudTrailManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudTrailManager.js → aws/cloudTrailManager.js} +10 -9
- package/dist/src/lib/manager/aws/cloudTrailManager.js.map +1 -0
- package/dist/src/lib/manager/aws/cloudWatchManager.d.ts +121 -0
- package/dist/src/lib/manager/aws/cloudWatchManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudWatchManager.js → aws/cloudWatchManager.js} +48 -36
- package/dist/src/lib/manager/aws/cloudWatchManager.js.map +1 -0
- package/dist/src/lib/manager/aws/codeBuildManager.d.ts +40 -0
- package/dist/src/lib/manager/aws/codeBuildManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{codeBuildManager.js → aws/codeBuildManager.js} +17 -1
- package/dist/src/lib/manager/aws/codeBuildManager.js.map +1 -0
- package/dist/src/lib/manager/{ecrManager.d.ts → aws/ecrManager.d.ts} +8 -7
- package/dist/src/lib/manager/aws/ecrManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ecrManager.js → aws/ecrManager.js} +8 -7
- package/dist/src/lib/manager/aws/ecrManager.js.map +1 -0
- package/dist/src/lib/manager/{ecsManager.d.ts → aws/ecsManager.d.ts} +13 -12
- package/dist/src/lib/manager/aws/ecsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ecsManager.js → aws/ecsManager.js} +13 -12
- package/dist/src/lib/manager/aws/ecsManager.js.map +1 -0
- package/dist/src/lib/manager/{eksManager.d.ts → aws/eksManager.d.ts} +10 -9
- package/dist/src/lib/manager/aws/eksManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{eksManager.js → aws/eksManager.js} +10 -9
- package/dist/src/lib/manager/aws/eksManager.js.map +1 -0
- package/dist/src/lib/manager/{eventManager.d.ts → aws/eventManager.d.ts} +13 -12
- package/dist/src/lib/manager/aws/eventManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{eventManager.js → aws/eventManager.js} +14 -13
- package/dist/src/lib/manager/aws/eventManager.js.map +1 -0
- package/dist/src/lib/manager/aws/iamManager.d.ts +156 -0
- package/dist/src/lib/manager/aws/iamManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{iamManager.js → aws/iamManager.js} +37 -35
- package/dist/src/lib/manager/aws/iamManager.js.map +1 -0
- package/dist/src/lib/manager/aws/index.d.ts +22 -0
- package/dist/src/lib/manager/aws/index.d.ts.map +1 -0
- package/dist/src/lib/manager/aws/index.js +34 -0
- package/dist/src/lib/manager/aws/index.js.map +1 -0
- package/dist/src/lib/manager/{lambdaManager.d.ts → aws/lambdaManager.d.ts} +21 -20
- package/dist/src/lib/manager/aws/lambdaManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{lambdaManager.js → aws/lambdaManager.js} +21 -20
- package/dist/src/lib/manager/aws/lambdaManager.js.map +1 -0
- package/dist/src/lib/manager/aws/logManager.d.ts +51 -0
- package/dist/src/lib/manager/aws/logManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{logManager.js → aws/logManager.js} +14 -13
- package/dist/src/lib/manager/aws/logManager.js.map +1 -0
- package/dist/src/lib/manager/{route53Manager.d.ts → aws/route53Manager.d.ts} +18 -17
- package/dist/src/lib/manager/aws/route53Manager.d.ts.map +1 -0
- package/dist/src/lib/manager/{route53Manager.js → aws/route53Manager.js} +19 -18
- package/dist/src/lib/manager/aws/route53Manager.js.map +1 -0
- package/dist/src/lib/manager/aws/s3Manager.d.ts +73 -0
- package/dist/src/lib/manager/aws/s3Manager.d.ts.map +1 -0
- package/dist/src/lib/manager/{s3Manager.js → aws/s3Manager.js} +17 -16
- package/dist/src/lib/manager/aws/s3Manager.js.map +1 -0
- package/dist/src/lib/manager/{secretsManager.d.ts → aws/secretsManager.d.ts} +8 -7
- package/dist/src/lib/manager/aws/secretsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{secretsManager.js → aws/secretsManager.js} +6 -5
- package/dist/src/lib/manager/aws/secretsManager.js.map +1 -0
- package/dist/src/lib/manager/aws/snsManager.d.ts +42 -0
- package/dist/src/lib/manager/aws/snsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{snsManager.js → aws/snsManager.js} +14 -13
- package/dist/src/lib/manager/aws/snsManager.js.map +1 -0
- package/dist/src/lib/manager/aws/ssmManager.d.ts +64 -0
- package/dist/src/lib/manager/aws/ssmManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ssmManager.js → aws/ssmManager.js} +15 -14
- package/dist/src/lib/manager/aws/ssmManager.js.map +1 -0
- package/dist/src/lib/manager/{vpcManager.d.ts → aws/vpcManager.d.ts} +12 -11
- package/dist/src/lib/manager/aws/vpcManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{vpcManager.js → aws/vpcManager.js} +15 -14
- package/dist/src/lib/manager/aws/vpcManager.js.map +1 -0
- package/dist/src/lib/manager/aws/wafManager.d.ts +39 -0
- package/dist/src/lib/manager/aws/wafManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{wafManager.js → aws/wafManager.js} +14 -13
- package/dist/src/lib/manager/aws/wafManager.js.map +1 -0
- package/dist/src/lib/manager/index.d.ts +2 -0
- package/dist/src/lib/manager/index.d.ts.map +1 -0
- package/dist/src/lib/manager/index.js +14 -0
- package/dist/src/lib/manager/index.js.map +1 -0
- package/dist/src/lib/{types.d.ts → types/aws/index.d.ts} +27 -16
- package/dist/src/lib/types/aws/index.d.ts.map +1 -0
- package/dist/src/lib/{types.js → types/aws/index.js} +1 -1
- package/dist/src/lib/types/aws/index.js.map +1 -0
- package/dist/src/lib/types/index.d.ts +2 -0
- package/dist/src/lib/types/index.d.ts.map +1 -0
- package/dist/src/lib/types/index.js +14 -0
- package/dist/src/lib/types/index.js.map +1 -0
- package/dist/src/lib/utils/aws/index.d.ts +16 -0
- package/dist/src/lib/utils/aws/index.d.ts.map +1 -0
- package/dist/src/lib/utils/aws/index.js +50 -0
- package/dist/src/lib/utils/aws/index.js.map +1 -0
- package/dist/src/lib/{utils.d.ts → utils/index.d.ts} +2 -26
- package/dist/src/lib/utils/index.d.ts.map +1 -0
- package/dist/src/lib/utils/index.js +85 -0
- package/dist/src/lib/utils/index.js.map +1 -0
- package/index.ts +3 -25
- package/package.json +28 -19
- package/src/lib/common/commonConstruct.ts +58 -78
- package/src/lib/common/commonStack.ts +3 -2
- package/src/lib/common/index.ts +2 -0
- package/src/lib/construct/graphQLApiLambda.ts +6 -5
- package/src/lib/construct/index.ts +3 -0
- package/src/lib/construct/siteWithEcsBackend.ts +45 -10
- package/src/lib/construct/staticSite.ts +41 -6
- package/src/lib/manager/{acmManager.ts → aws/acmManager.ts} +13 -12
- package/src/lib/manager/{apiManager.ts → aws/apiManager.ts} +16 -15
- package/src/lib/manager/{appConfigManager.ts → aws/appConfigManager.ts} +32 -27
- package/src/lib/manager/{cloudFrontManager.ts → aws/cloudFrontManager.ts} +69 -40
- package/src/lib/manager/{cloudTrailManager.ts → aws/cloudTrailManager.ts} +14 -13
- package/src/lib/manager/{cloudWatchManager.ts → aws/cloudWatchManager.ts} +80 -57
- package/src/lib/manager/{codeBuildManager.ts → aws/codeBuildManager.ts} +20 -4
- package/src/lib/manager/{ecrManager.ts → aws/ecrManager.ts} +10 -9
- package/src/lib/manager/{ecsManager.ts → aws/ecsManager.ts} +18 -17
- package/src/lib/manager/{eksManager.ts → aws/eksManager.ts} +14 -13
- package/src/lib/manager/{eventManager.ts → aws/eventManager.ts} +20 -19
- package/src/lib/manager/{iamManager.ts → aws/iamManager.ts} +67 -55
- package/src/lib/manager/aws/index.ts +21 -0
- package/src/lib/manager/{lambdaManager.ts → aws/lambdaManager.ts} +31 -30
- package/src/lib/manager/{logManager.ts → aws/logManager.ts} +24 -18
- package/src/lib/manager/{route53Manager.ts → aws/route53Manager.ts} +26 -25
- package/src/lib/manager/{s3Manager.ts → aws/s3Manager.ts} +26 -25
- package/src/lib/manager/{secretsManager.ts → aws/secretsManager.ts} +13 -7
- package/src/lib/manager/{snsManager.ts → aws/snsManager.ts} +20 -19
- package/src/lib/manager/{ssmManager.ts → aws/ssmManager.ts} +26 -20
- package/src/lib/manager/{vpcManager.ts → aws/vpcManager.ts} +19 -18
- package/src/lib/manager/{wafManager.ts → aws/wafManager.ts} +18 -17
- package/src/lib/manager/index.ts +1 -0
- package/src/lib/{types.ts → types/aws/index.ts} +27 -15
- package/src/lib/types/index.ts +1 -0
- package/src/lib/utils/aws/index.ts +34 -0
- package/src/lib/{utils.ts → utils/index.ts} +1 -45
- package/dist/src/lib/manager/acmManager.d.ts.map +0 -1
- package/dist/src/lib/manager/acmManager.js.map +0 -1
- package/dist/src/lib/manager/apiManager.d.ts.map +0 -1
- package/dist/src/lib/manager/apiManager.js.map +0 -1
- package/dist/src/lib/manager/appConfigManager.d.ts.map +0 -1
- package/dist/src/lib/manager/appConfigManager.js.map +0 -1
- package/dist/src/lib/manager/cloudFrontManager.d.ts +0 -100
- package/dist/src/lib/manager/cloudFrontManager.d.ts.map +0 -1
- package/dist/src/lib/manager/cloudFrontManager.js.map +0 -1
- package/dist/src/lib/manager/cloudTrailManager.d.ts.map +0 -1
- package/dist/src/lib/manager/cloudTrailManager.js.map +0 -1
- package/dist/src/lib/manager/cloudWatchManager.d.ts +0 -120
- package/dist/src/lib/manager/cloudWatchManager.d.ts.map +0 -1
- package/dist/src/lib/manager/cloudWatchManager.js.map +0 -1
- package/dist/src/lib/manager/codeBuildManager.d.ts +0 -25
- package/dist/src/lib/manager/codeBuildManager.d.ts.map +0 -1
- package/dist/src/lib/manager/codeBuildManager.js.map +0 -1
- package/dist/src/lib/manager/ecrManager.d.ts.map +0 -1
- package/dist/src/lib/manager/ecrManager.js.map +0 -1
- package/dist/src/lib/manager/ecsManager.d.ts.map +0 -1
- package/dist/src/lib/manager/ecsManager.js.map +0 -1
- package/dist/src/lib/manager/eksManager.d.ts.map +0 -1
- package/dist/src/lib/manager/eksManager.js.map +0 -1
- package/dist/src/lib/manager/eventManager.d.ts.map +0 -1
- package/dist/src/lib/manager/eventManager.js.map +0 -1
- package/dist/src/lib/manager/iamManager.d.ts +0 -154
- package/dist/src/lib/manager/iamManager.d.ts.map +0 -1
- package/dist/src/lib/manager/iamManager.js.map +0 -1
- package/dist/src/lib/manager/lambdaManager.d.ts.map +0 -1
- package/dist/src/lib/manager/lambdaManager.js.map +0 -1
- package/dist/src/lib/manager/logManager.d.ts +0 -50
- package/dist/src/lib/manager/logManager.d.ts.map +0 -1
- package/dist/src/lib/manager/logManager.js.map +0 -1
- package/dist/src/lib/manager/route53Manager.d.ts.map +0 -1
- package/dist/src/lib/manager/route53Manager.js.map +0 -1
- package/dist/src/lib/manager/s3Manager.d.ts +0 -72
- package/dist/src/lib/manager/s3Manager.d.ts.map +0 -1
- package/dist/src/lib/manager/s3Manager.js.map +0 -1
- package/dist/src/lib/manager/secretsManager.d.ts.map +0 -1
- package/dist/src/lib/manager/secretsManager.js.map +0 -1
- package/dist/src/lib/manager/snsManager.d.ts +0 -41
- package/dist/src/lib/manager/snsManager.d.ts.map +0 -1
- package/dist/src/lib/manager/snsManager.js.map +0 -1
- package/dist/src/lib/manager/ssmManager.d.ts +0 -63
- package/dist/src/lib/manager/ssmManager.d.ts.map +0 -1
- package/dist/src/lib/manager/ssmManager.js.map +0 -1
- package/dist/src/lib/manager/vpcManager.d.ts.map +0 -1
- package/dist/src/lib/manager/vpcManager.js.map +0 -1
- package/dist/src/lib/manager/wafManager.d.ts +0 -38
- package/dist/src/lib/manager/wafManager.d.ts.map +0 -1
- package/dist/src/lib/manager/wafManager.js.map +0 -1
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js.map +0 -1
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -131
- package/dist/src/lib/utils.js.map +0 -1
|
@@ -22,31 +22,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.LogManager = void 0;
|
|
23
23
|
const cdk = __importStar(require("aws-cdk-lib"));
|
|
24
24
|
const logs = __importStar(require("aws-cdk-lib/aws-logs"));
|
|
25
|
-
const
|
|
25
|
+
const utils = __importStar(require("../../utils"));
|
|
26
26
|
/**
|
|
27
27
|
* @stability stable
|
|
28
28
|
* @category Management & Governance
|
|
29
29
|
* @summary Provides operations on AWS CloudWatch.
|
|
30
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
31
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
30
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
31
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
32
32
|
* @example
|
|
33
33
|
* import * as common from '@gradientedge/cdk-utils'
|
|
34
34
|
*
|
|
35
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
35
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
36
36
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
37
37
|
* super(parent, id, props)
|
|
38
38
|
* this.props = props
|
|
39
39
|
* this.logsManager.createMetricFilter('MyMetricFilter', this, logGroup)
|
|
40
|
+
* }
|
|
40
41
|
* }
|
|
41
42
|
*
|
|
42
|
-
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
43
|
+
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs-readme.html}
|
|
43
44
|
*/
|
|
44
45
|
class LogManager {
|
|
45
46
|
/**
|
|
46
47
|
* @summary Method to create a cloudwatch metric filter
|
|
47
48
|
* @param {string} id scoped id of the resource
|
|
48
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
49
|
-
* @param {MetricFilterProps} props
|
|
49
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
50
|
+
* @param {types.MetricFilterProps} props
|
|
50
51
|
* @param {logs.ILogGroup} logGroup
|
|
51
52
|
*/
|
|
52
53
|
createMetricFilter(id, scope, props, logGroup) {
|
|
@@ -72,8 +73,8 @@ class LogManager {
|
|
|
72
73
|
/**
|
|
73
74
|
* @summary Method to create a cloudwatch log group (cfn)
|
|
74
75
|
* @param {string} id scoped id of the resource
|
|
75
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
76
|
-
* @param {LogProps} props
|
|
76
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
77
|
+
* @param {types.LogProps} props
|
|
77
78
|
*/
|
|
78
79
|
createCfnLogGroup(id, scope, props) {
|
|
79
80
|
if (!props)
|
|
@@ -82,14 +83,14 @@ class LogManager {
|
|
|
82
83
|
logGroupName: `${props.logGroupName}-${scope.props.stage}`,
|
|
83
84
|
retentionInDays: props.retention,
|
|
84
85
|
});
|
|
85
|
-
|
|
86
|
+
utils.createCfnOutput(`${id}-logGroupArn`, scope, logGroup.attrArn);
|
|
86
87
|
return logGroup;
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
89
90
|
* @summary Method to create a cloudwatch log group
|
|
90
91
|
* @param {string} id scoped id of the resource
|
|
91
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
92
|
-
* @param {LogProps} props
|
|
92
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
93
|
+
* @param {types.LogProps} props
|
|
93
94
|
*/
|
|
94
95
|
createLogGroup(id, scope, props) {
|
|
95
96
|
if (!props)
|
|
@@ -99,7 +100,7 @@ class LogManager {
|
|
|
99
100
|
retention: props.retention,
|
|
100
101
|
removalPolicy: props.removalPolicy ?? cdk.RemovalPolicy.DESTROY,
|
|
101
102
|
});
|
|
102
|
-
|
|
103
|
+
utils.createCfnOutput(`${id}-logGroupArn`, scope, logGroup.logGroupArn);
|
|
103
104
|
return logGroup;
|
|
104
105
|
}
|
|
105
106
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/logManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,2DAA4C;AAG5C,mDAAoC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,UAAU;IACrB;;;;;;OAMG;IACI,kBAAkB,CACvB,EAAU,EACV,KAA6B,EAC7B,KAA8B,EAC9B,QAAwB;QAExB,IAAI,CAAC,KAAK;YAAE,MAAM,8BAA8B,CAAA;QAEhD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACzD,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO;YAC1B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;gBAClB,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa;gBAC1C,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;gBAClC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;aAChG,CAAC;YACJ,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAA;QAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,EAAU,EAAE,KAA6B,EAAE,KAAqB;QACvF,IAAI,CAAC,KAAK;YAAE,MAAM,sBAAsB,CAAA;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACpD,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YAC1D,eAAe,EAAE,KAAK,CAAC,SAAS;SACjC,CAAC,CAAA;QAEF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEnE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,EAAU,EAAE,KAA6B,EAAE,KAAqB;QACpF,IAAI,CAAC,KAAK;YAAE,MAAM,sBAAsB,CAAA;QAExC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACjD,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YAC1D,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO;SAChE,CAAC,CAAA;QAEF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEvE,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AA1ED,gCA0EC"}
|
|
@@ -1,67 +1,68 @@
|
|
|
1
1
|
import * as apig from 'aws-cdk-lib/aws-apigateway';
|
|
2
2
|
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
|
|
3
3
|
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import * as common from '../../common';
|
|
5
|
+
import * as types from '../../types';
|
|
6
6
|
/**
|
|
7
7
|
* @stability stable
|
|
8
8
|
* @category Networking & Content Delivery
|
|
9
9
|
* @summary Provides operations on AWS Route53.
|
|
10
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
11
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
10
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
11
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
12
12
|
* @example
|
|
13
13
|
* import * as common from '@gradientedge/cdk-utils'
|
|
14
14
|
*
|
|
15
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
15
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
16
16
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
17
17
|
* super(parent, id, props)
|
|
18
18
|
* this.props = props
|
|
19
19
|
* this.route53Manager.createHostedZone('MyHostedZone', this)
|
|
20
|
+
* }
|
|
20
21
|
* }
|
|
21
22
|
*
|
|
22
|
-
* @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
23
|
+
* @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html}
|
|
23
24
|
*/
|
|
24
25
|
export declare class Route53Manager {
|
|
25
26
|
/**
|
|
26
27
|
* @summary Method to create a hosted zone
|
|
27
28
|
* @param {string} id scoped id of the resource
|
|
28
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
29
|
-
* @param {Route53Props} props
|
|
29
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
30
|
+
* @param {types.Route53Props} props
|
|
30
31
|
*/
|
|
31
|
-
createHostedZone(id: string, scope: CommonConstruct, props: Route53Props): route53.IHostedZone;
|
|
32
|
+
createHostedZone(id: string, scope: common.CommonConstruct, props: types.Route53Props): route53.IHostedZone;
|
|
32
33
|
/**
|
|
33
34
|
* @summary Method to create/lookup a hosted zone
|
|
34
35
|
* @param {string} id scoped id of the resource
|
|
35
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
36
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
36
37
|
* @param useExistingHostedZone Flag to indicate whether to lookup vs create new hosted zone
|
|
37
38
|
*/
|
|
38
|
-
withHostedZoneFromFullyQualifiedDomainName(id: string, scope: CommonConstruct, useExistingHostedZone: boolean): route53.IHostedZone;
|
|
39
|
+
withHostedZoneFromFullyQualifiedDomainName(id: string, scope: common.CommonConstruct, useExistingHostedZone: boolean): route53.IHostedZone;
|
|
39
40
|
/**
|
|
40
41
|
* @summary Method to create a-record for cloudfront target
|
|
41
42
|
* @param {string} id scoped id of the resource
|
|
42
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
43
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
43
44
|
* @param {cloudfront.IDistribution} distribution
|
|
44
45
|
* @param {route53.IHostedZone} hostedZone
|
|
45
46
|
* @param {string} recordName
|
|
46
47
|
*/
|
|
47
|
-
createCloudFrontTargetARecord(id: string, scope: CommonConstruct, distribution?: cloudfront.IDistribution, hostedZone?: route53.IHostedZone, recordName?: string): route53.ARecord;
|
|
48
|
+
createCloudFrontTargetARecord(id: string, scope: common.CommonConstruct, distribution?: cloudfront.IDistribution, hostedZone?: route53.IHostedZone, recordName?: string): route53.ARecord;
|
|
48
49
|
/**
|
|
49
50
|
* @summary Method to create a-record for cloudfront target
|
|
50
51
|
* @param {string} id scoped id of the resource
|
|
51
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
52
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
52
53
|
* @param {cloudfront.IDistribution} distribution
|
|
53
54
|
* @param {route53.IHostedZone} hostedZone
|
|
54
55
|
* @param {string} recordName
|
|
55
56
|
*/
|
|
56
|
-
createCloudFrontTargetARecordV2(id: string, scope: CommonConstruct, distribution?: cloudfront.IDistribution, hostedZone?: route53.IHostedZone, recordName?: string): route53.ARecord;
|
|
57
|
+
createCloudFrontTargetARecordV2(id: string, scope: common.CommonConstruct, distribution?: cloudfront.IDistribution, hostedZone?: route53.IHostedZone, recordName?: string): route53.ARecord;
|
|
57
58
|
/**
|
|
58
59
|
* @summary Method to create a-record for api gateway target
|
|
59
60
|
* @param {string} id scoped id of the resource
|
|
60
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
61
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
61
62
|
* @param recordName
|
|
62
63
|
* @param apiDomain
|
|
63
64
|
* @param hostedZone
|
|
64
65
|
*/
|
|
65
|
-
createApiGatewayARecord(id: string, scope: CommonConstruct, recordName: string, apiDomain: apig.DomainName, hostedZone: route53.IHostedZone): route53.ARecord;
|
|
66
|
+
createApiGatewayARecord(id: string, scope: common.CommonConstruct, recordName: string, apiDomain: apig.DomainName, hostedZone: route53.IHostedZone): route53.ARecord;
|
|
66
67
|
}
|
|
67
68
|
//# sourceMappingURL=route53Manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route53Manager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/route53Manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAElD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;IACI,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY;IAsB5F;;;;;OAKG;IACI,0CAA0C,CAC/C,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,qBAAqB,EAAE,OAAO;IAqBhC;;;;;;;OAOG;IACI,6BAA6B,CAClC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,YAAY,CAAC,EAAE,UAAU,CAAC,aAAa,EACvC,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,EAChC,UAAU,CAAC,EAAE,MAAM;IAgBrB;;;;;;;OAOG;IACI,+BAA+B,CACpC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,YAAY,CAAC,EAAE,UAAU,CAAC,aAAa,EACvC,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,EAChC,UAAU,CAAC,EAAE,MAAM;IAgBrB;;;;;;;OAOG;IACI,uBAAuB,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,OAAO,CAAC,WAAW;CAgBlC"}
|
|
@@ -22,31 +22,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.Route53Manager = void 0;
|
|
23
23
|
const route53 = __importStar(require("aws-cdk-lib/aws-route53"));
|
|
24
24
|
const route53Targets = __importStar(require("aws-cdk-lib/aws-route53-targets"));
|
|
25
|
-
const
|
|
25
|
+
const utils = __importStar(require("../../utils"));
|
|
26
26
|
/**
|
|
27
27
|
* @stability stable
|
|
28
28
|
* @category Networking & Content Delivery
|
|
29
29
|
* @summary Provides operations on AWS Route53.
|
|
30
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
31
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
30
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
31
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
32
32
|
* @example
|
|
33
33
|
* import * as common from '@gradientedge/cdk-utils'
|
|
34
34
|
*
|
|
35
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
35
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
36
36
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
37
37
|
* super(parent, id, props)
|
|
38
38
|
* this.props = props
|
|
39
39
|
* this.route53Manager.createHostedZone('MyHostedZone', this)
|
|
40
|
+
* }
|
|
40
41
|
* }
|
|
41
42
|
*
|
|
42
|
-
* @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
43
|
+
* @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html}
|
|
43
44
|
*/
|
|
44
45
|
class Route53Manager {
|
|
45
46
|
/**
|
|
46
47
|
* @summary Method to create a hosted zone
|
|
47
48
|
* @param {string} id scoped id of the resource
|
|
48
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
49
|
-
* @param {Route53Props} props
|
|
49
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
50
|
+
* @param {types.Route53Props} props
|
|
50
51
|
*/
|
|
51
52
|
createHostedZone(id, scope, props) {
|
|
52
53
|
let hostedZone;
|
|
@@ -63,14 +64,14 @@ class Route53Manager {
|
|
|
63
64
|
comment: `Hosted zone for ${scope.props.domainName}`,
|
|
64
65
|
});
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
utils.createCfnOutput(`${id}-hostedZoneId`, scope, hostedZone.hostedZoneId);
|
|
68
|
+
utils.createCfnOutput(`${id}-hostedZoneArn`, scope, hostedZone.hostedZoneArn);
|
|
68
69
|
return hostedZone;
|
|
69
70
|
}
|
|
70
71
|
/**
|
|
71
72
|
* @summary Method to create/lookup a hosted zone
|
|
72
73
|
* @param {string} id scoped id of the resource
|
|
73
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
74
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
74
75
|
* @param useExistingHostedZone Flag to indicate whether to lookup vs create new hosted zone
|
|
75
76
|
*/
|
|
76
77
|
withHostedZoneFromFullyQualifiedDomainName(id, scope, useExistingHostedZone) {
|
|
@@ -86,14 +87,14 @@ class Route53Manager {
|
|
|
86
87
|
comment: `Hosted zone for ${scope.fullyQualifiedDomainName}`,
|
|
87
88
|
});
|
|
88
89
|
}
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
utils.createCfnOutput(`${id}-hostedZoneId`, scope, hostedZone.hostedZoneId);
|
|
91
|
+
utils.createCfnOutput(`${id}-hostedZoneArn`, scope, hostedZone.hostedZoneArn);
|
|
91
92
|
return hostedZone;
|
|
92
93
|
}
|
|
93
94
|
/**
|
|
94
95
|
* @summary Method to create a-record for cloudfront target
|
|
95
96
|
* @param {string} id scoped id of the resource
|
|
96
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
97
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
97
98
|
* @param {cloudfront.IDistribution} distribution
|
|
98
99
|
* @param {route53.IHostedZone} hostedZone
|
|
99
100
|
* @param {string} recordName
|
|
@@ -108,13 +109,13 @@ class Route53Manager {
|
|
|
108
109
|
target: route53.RecordTarget.fromAlias(new route53Targets.CloudFrontTarget(distribution)),
|
|
109
110
|
zone: hostedZone,
|
|
110
111
|
});
|
|
111
|
-
|
|
112
|
+
utils.createCfnOutput(`${id}-aRecordDomainName`, scope, aRecord.domainName);
|
|
112
113
|
return aRecord;
|
|
113
114
|
}
|
|
114
115
|
/**
|
|
115
116
|
* @summary Method to create a-record for cloudfront target
|
|
116
117
|
* @param {string} id scoped id of the resource
|
|
117
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
118
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
118
119
|
* @param {cloudfront.IDistribution} distribution
|
|
119
120
|
* @param {route53.IHostedZone} hostedZone
|
|
120
121
|
* @param {string} recordName
|
|
@@ -129,13 +130,13 @@ class Route53Manager {
|
|
|
129
130
|
target: route53.RecordTarget.fromAlias(new route53Targets.CloudFrontTarget(distribution)),
|
|
130
131
|
zone: hostedZone,
|
|
131
132
|
});
|
|
132
|
-
|
|
133
|
+
utils.createCfnOutput(`${id}-aRecordDomainName`, scope, aRecord.domainName);
|
|
133
134
|
return aRecord;
|
|
134
135
|
}
|
|
135
136
|
/**
|
|
136
137
|
* @summary Method to create a-record for api gateway target
|
|
137
138
|
* @param {string} id scoped id of the resource
|
|
138
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
139
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
139
140
|
* @param recordName
|
|
140
141
|
* @param apiDomain
|
|
141
142
|
* @param hostedZone
|
|
@@ -149,7 +150,7 @@ class Route53Manager {
|
|
|
149
150
|
target: route53.RecordTarget.fromAlias(new route53Targets.ApiGatewayDomain(apiDomain)),
|
|
150
151
|
zone: hostedZone,
|
|
151
152
|
});
|
|
152
|
-
|
|
153
|
+
utils.createCfnOutput(`${id}-a-record-domain-name`, scope, apiARecord.domainName);
|
|
153
154
|
return apiARecord;
|
|
154
155
|
}
|
|
155
156
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route53Manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/route53Manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
|
|
3
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
4
|
+
import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment';
|
|
5
|
+
import * as common from '../../common';
|
|
6
|
+
import * as types from '../../types';
|
|
7
|
+
/**
|
|
8
|
+
* @stability stable
|
|
9
|
+
* @category Storage
|
|
10
|
+
* @summary Provides operations on AWS S3.
|
|
11
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
12
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
13
|
+
* @example
|
|
14
|
+
* import * as common from '@gradientedge/cdk-utils'
|
|
15
|
+
*
|
|
16
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
17
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
18
|
+
* super(parent, id, props)
|
|
19
|
+
* this.props = props
|
|
20
|
+
* this.s3Manager.createS3Bucket('MyBucket', this)
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
|
|
25
|
+
*/
|
|
26
|
+
export declare class S3Manager {
|
|
27
|
+
/**
|
|
28
|
+
* @summary Method to determine S3 Bucket lifecycle properties
|
|
29
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
protected determineBucketLifecycleRules(props: types.S3BucketProps): types.LifecycleRule[] | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* @summary Method to determine the bucket name
|
|
35
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
36
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
protected static determineBucketName(scope: common.CommonConstruct, props: types.S3BucketProps): string;
|
|
40
|
+
/**
|
|
41
|
+
* @summary Method to determine the log bucket name
|
|
42
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
43
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
protected static determineLogBucketName(scope: common.CommonConstruct, props: types.S3BucketProps): string;
|
|
47
|
+
/**
|
|
48
|
+
* @summary Method to create a s3 bucket
|
|
49
|
+
* @param {string} id scoped id of the resource
|
|
50
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
51
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
52
|
+
*/
|
|
53
|
+
createS3Bucket(id: string, scope: common.CommonConstruct, props: types.S3BucketProps): cdk.aws_s3.IBucket;
|
|
54
|
+
/**
|
|
55
|
+
* @summary Method to create an iam bucket policy for cloudtrail
|
|
56
|
+
* @param {string} id scoped id of the resource
|
|
57
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
58
|
+
* @param {s3.IBucket} bucket
|
|
59
|
+
*/
|
|
60
|
+
createBucketPolicyForCloudTrail(id: string, scope: common.CommonConstruct, bucket: s3.IBucket): cdk.aws_s3.CfnBucketPolicy;
|
|
61
|
+
/**
|
|
62
|
+
* @summary Method to create a s3 bucket deployment
|
|
63
|
+
* @param {string} id scoped id of the resource
|
|
64
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
65
|
+
* @param {s3.IBucket} siteBucket
|
|
66
|
+
* @param {cloudfront.IDistribution} distribution
|
|
67
|
+
* @param {s3deploy.ISource[]} sources
|
|
68
|
+
* @param {string} prefix
|
|
69
|
+
* @param {boolean} prune
|
|
70
|
+
*/
|
|
71
|
+
doBucketDeployment(id: string, scope: common.CommonConstruct, siteBucket: s3.IBucket, distribution: cloudfront.IDistribution, sources: s3deploy.ISource[], prefix: string, prune?: boolean): void;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=s3Manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3Manager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/s3Manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,SAAS;IACpB;;;;OAIG;IACH,SAAS,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa;IAyBlE;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa;IAM9F;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa;IAMjG;;;;;OAKG;IACI,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa;IAkD3F;;;;;OAKG;IACI,+BAA+B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO;IA0BpG;;;;;;;;;OASG;IACI,kBAAkB,CACvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,UAAU,EAAE,EAAE,CAAC,OAAO,EACtB,YAAY,EAAE,UAAU,CAAC,aAAa,EACtC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,OAAO;CAalB"}
|
|
@@ -24,29 +24,30 @@ const cdk = __importStar(require("aws-cdk-lib"));
|
|
|
24
24
|
const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
25
25
|
const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
|
|
26
26
|
const s3deploy = __importStar(require("aws-cdk-lib/aws-s3-deployment"));
|
|
27
|
-
const
|
|
27
|
+
const utils = __importStar(require("../../utils"));
|
|
28
28
|
/**
|
|
29
29
|
* @stability stable
|
|
30
30
|
* @category Storage
|
|
31
31
|
* @summary Provides operations on AWS S3.
|
|
32
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
33
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
32
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
33
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
34
34
|
* @example
|
|
35
35
|
* import * as common from '@gradientedge/cdk-utils'
|
|
36
36
|
*
|
|
37
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
37
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
38
38
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
39
39
|
* super(parent, id, props)
|
|
40
40
|
* this.props = props
|
|
41
41
|
* this.s3Manager.createS3Bucket('MyBucket', this)
|
|
42
|
+
* }
|
|
42
43
|
* }
|
|
43
44
|
*
|
|
44
|
-
* @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
45
|
+
* @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
|
|
45
46
|
*/
|
|
46
47
|
class S3Manager {
|
|
47
48
|
/**
|
|
48
49
|
* @summary Method to determine S3 Bucket lifecycle properties
|
|
49
|
-
* @param {S3BucketProps} props bucket properties
|
|
50
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
50
51
|
* @private
|
|
51
52
|
*/
|
|
52
53
|
determineBucketLifecycleRules(props) {
|
|
@@ -74,8 +75,8 @@ class S3Manager {
|
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
76
77
|
* @summary Method to determine the bucket name
|
|
77
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
78
|
-
* @param {S3BucketProps} props bucket properties
|
|
78
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
79
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
79
80
|
* @private
|
|
80
81
|
*/
|
|
81
82
|
static determineBucketName(scope, props) {
|
|
@@ -85,8 +86,8 @@ class S3Manager {
|
|
|
85
86
|
}
|
|
86
87
|
/**
|
|
87
88
|
* @summary Method to determine the log bucket name
|
|
88
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
89
|
-
* @param {S3BucketProps} props bucket properties
|
|
89
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
90
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
90
91
|
* @private
|
|
91
92
|
*/
|
|
92
93
|
static determineLogBucketName(scope, props) {
|
|
@@ -97,8 +98,8 @@ class S3Manager {
|
|
|
97
98
|
/**
|
|
98
99
|
* @summary Method to create a s3 bucket
|
|
99
100
|
* @param {string} id scoped id of the resource
|
|
100
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
101
|
-
* @param {S3BucketProps} props bucket properties
|
|
101
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
102
|
+
* @param {types.S3BucketProps} props bucket properties
|
|
102
103
|
*/
|
|
103
104
|
createS3Bucket(id, scope, props) {
|
|
104
105
|
if (!props)
|
|
@@ -140,14 +141,14 @@ class S3Manager {
|
|
|
140
141
|
},
|
|
141
142
|
};
|
|
142
143
|
}
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
utils.createCfnOutput(`${id}-bucketName`, scope, bucket.bucketName);
|
|
145
|
+
utils.createCfnOutput(`${id}-bucketArn`, scope, bucket.bucketArn);
|
|
145
146
|
return bucket;
|
|
146
147
|
}
|
|
147
148
|
/**
|
|
148
149
|
* @summary Method to create an iam bucket policy for cloudtrail
|
|
149
150
|
* @param {string} id scoped id of the resource
|
|
150
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
151
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
151
152
|
* @param {s3.IBucket} bucket
|
|
152
153
|
*/
|
|
153
154
|
createBucketPolicyForCloudTrail(id, scope, bucket) {
|
|
@@ -177,7 +178,7 @@ class S3Manager {
|
|
|
177
178
|
/**
|
|
178
179
|
* @summary Method to create a s3 bucket deployment
|
|
179
180
|
* @param {string} id scoped id of the resource
|
|
180
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
181
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
181
182
|
* @param {s3.IBucket} siteBucket
|
|
182
183
|
* @param {cloudfront.IDistribution} distribution
|
|
183
184
|
* @param {s3deploy.ISource[]} sources
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3Manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/s3Manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { CommonConstruct } from '../common/commonConstruct';
|
|
2
1
|
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as common from '../../common';
|
|
3
3
|
/**
|
|
4
4
|
* @stability experimental
|
|
5
5
|
* @category Security, Identity & Compliance
|
|
6
6
|
* @summary 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.
|
|
7
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
8
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
9
9
|
* @example
|
|
10
10
|
* import * as common from '@gradientedge/cdk-utils'
|
|
11
11
|
*
|
|
12
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
12
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
13
13
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
14
14
|
* super(parent, id, props)
|
|
15
15
|
* this.props = props
|
|
16
|
-
* this.
|
|
16
|
+
* this.secretsManager.loadSecret('MySecretName', 'eu-west-1')
|
|
17
|
+
* }
|
|
17
18
|
* }
|
|
18
19
|
*
|
|
19
|
-
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
20
|
+
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
|
|
20
21
|
*/
|
|
21
22
|
export declare class SecretsManager {
|
|
22
23
|
/**
|
|
@@ -51,6 +52,6 @@ export declare class SecretsManager {
|
|
|
51
52
|
* @param stackName
|
|
52
53
|
* @param exportName
|
|
53
54
|
*/
|
|
54
|
-
retrieveSecretFromSecretsManager(id: string, scope: CommonConstruct, stackName: string, exportName: string): cdk.aws_secretsmanager.ISecret;
|
|
55
|
+
retrieveSecretFromSecretsManager(id: string, scope: common.CommonConstruct, stackName: string, exportName: string): cdk.aws_secretsmanager.ISecret;
|
|
55
56
|
}
|
|
56
57
|
//# sourceMappingURL=secretsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/secretsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAElC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAKtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB;;;OAGG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAI1C;;;;;OAKG;IACU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAO1D;;;;;OAKG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS5D;;;OAGG;IACI,cAAc;IA2BrB;;;;;;;OAOG;IACI,gCAAgC,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;CAQrB"}
|
|
@@ -28,19 +28,20 @@ const fs = require('fs');
|
|
|
28
28
|
* @stability experimental
|
|
29
29
|
* @category Security, Identity & Compliance
|
|
30
30
|
* @summary Provides operations on AWS Secrets Manager.
|
|
31
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
32
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
31
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
32
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
33
33
|
* @example
|
|
34
34
|
* import * as common from '@gradientedge/cdk-utils'
|
|
35
35
|
*
|
|
36
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
36
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
37
37
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
38
38
|
* super(parent, id, props)
|
|
39
39
|
* this.props = props
|
|
40
|
-
* this.
|
|
40
|
+
* this.secretsManager.loadSecret('MySecretName', 'eu-west-1')
|
|
41
|
+
* }
|
|
41
42
|
* }
|
|
42
43
|
*
|
|
43
|
-
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
44
|
+
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
|
|
44
45
|
*/
|
|
45
46
|
class SecretsManager {
|
|
46
47
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/secretsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
3
|
+
import * as common from '../../common';
|
|
4
|
+
import * as types from '../../types';
|
|
5
|
+
/**
|
|
6
|
+
* @stability stable
|
|
7
|
+
* @category Application Integration
|
|
8
|
+
* @summary Provides operations on AWS Simple Notification Service.
|
|
9
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
10
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
11
|
+
* @example
|
|
12
|
+
* import * as common from '@gradientedge/cdk-utils'
|
|
13
|
+
*
|
|
14
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
15
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
16
|
+
* super(parent, id, props)
|
|
17
|
+
* this.props = props
|
|
18
|
+
* this.snsManager.createEmailNotificationService('MySns', 'eu-west-1', ['test@example.com'])
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns-readme.html}
|
|
23
|
+
*/
|
|
24
|
+
export declare class SnsManager {
|
|
25
|
+
/**
|
|
26
|
+
* @summary Method to create an email notification service
|
|
27
|
+
* @param {string} id scoped id of the resource
|
|
28
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
29
|
+
* @param {types.SubscriptionProps} props
|
|
30
|
+
* @param {string[]} emails
|
|
31
|
+
*/
|
|
32
|
+
createEmailNotificationService(id: string, scope: common.CommonConstruct, props: types.SubscriptionProps, emails: string[]): sns.Topic;
|
|
33
|
+
/**
|
|
34
|
+
* @summary Method to create a lambda notification service
|
|
35
|
+
* @param {string} id scoped id of the resource
|
|
36
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
37
|
+
* @param {types.SubscriptionProps} props
|
|
38
|
+
* @param {lambda.Function} lambdaFunction
|
|
39
|
+
*/
|
|
40
|
+
createLambdaNotificationService(id: string, scope: common.CommonConstruct, props: types.SubscriptionProps, lambdaFunction: lambda.Function): sns.Topic;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=snsManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snsManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/snsManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAE1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACI,8BAA8B,CACnC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,MAAM,EAAE,MAAM,EAAE;IAoBlB;;;;;;OAMG;IACI,+BAA+B,CACpC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,cAAc,EAAE,MAAM,CAAC,QAAQ;CAiBlC"}
|