@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
|
@@ -21,31 +21,32 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.EcsManager = void 0;
|
|
23
23
|
const ecs = __importStar(require("aws-cdk-lib/aws-ecs"));
|
|
24
|
-
const
|
|
24
|
+
const utils = __importStar(require("../../utils"));
|
|
25
25
|
/**
|
|
26
26
|
* @stability stable
|
|
27
27
|
* @category Containers
|
|
28
28
|
* @summary Provides operations on AWS Elastic Container Service.
|
|
29
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
30
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
29
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
30
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
31
31
|
* @example
|
|
32
32
|
* import * as common from '@gradientedge/cdk-utils'
|
|
33
33
|
*
|
|
34
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
34
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
35
35
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
36
36
|
* super(parent, id, props)
|
|
37
37
|
* this.props = props
|
|
38
38
|
* this.ecsManager.createEcsCluster('MyCluster', this, vpc)
|
|
39
|
+
* }
|
|
39
40
|
* }
|
|
40
41
|
*
|
|
41
|
-
* @see [CDK ECS Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
42
|
+
* @see [CDK ECS Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ecs-readme.html}
|
|
42
43
|
*/
|
|
43
44
|
class EcsManager {
|
|
44
45
|
/**
|
|
45
46
|
* @summary Method to create an ecs cluster
|
|
46
47
|
* @param {string} id scoped id of the resource
|
|
47
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
48
|
-
* @param {EcsClusterProps} props
|
|
48
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
49
|
+
* @param {types.EcsClusterProps} props
|
|
49
50
|
* @param {ec2.IVpc} vpc
|
|
50
51
|
*/
|
|
51
52
|
createEcsCluster(id, scope, props, vpc) {
|
|
@@ -55,15 +56,15 @@ class EcsManager {
|
|
|
55
56
|
clusterName: `${props.clusterName}-${scope.props.stage}`,
|
|
56
57
|
vpc: vpc,
|
|
57
58
|
});
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
utils.createCfnOutput(`${id}-clusterArn`, scope, ecsCluster.clusterArn);
|
|
60
|
+
utils.createCfnOutput(`${id}-clusterName`, scope, ecsCluster.clusterName);
|
|
60
61
|
return ecsCluster;
|
|
61
62
|
}
|
|
62
63
|
/**
|
|
63
64
|
* @summary Method to create an ecs fargate task
|
|
64
65
|
* @param {string} id scoped id of the resource
|
|
65
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
66
|
-
* @param {EcsTaskProps} props
|
|
66
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
67
|
+
* @param {types.EcsTaskProps} props
|
|
67
68
|
* @param {ecs.ICluster} cluster
|
|
68
69
|
* @param {iam.Role} role
|
|
69
70
|
* @param {logs.ILogGroup} logGroup
|
|
@@ -94,7 +95,7 @@ class EcsManager {
|
|
|
94
95
|
memoryLimitMiB: props.memoryMiB ? parseInt(props.memoryMiB) : undefined,
|
|
95
96
|
privileged: false,
|
|
96
97
|
});
|
|
97
|
-
|
|
98
|
+
utils.createCfnOutput(`${id}-taskArn`, scope, ecsTask.taskDefinitionArn);
|
|
98
99
|
return ecsTask;
|
|
99
100
|
}
|
|
100
101
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecsManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/ecsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,yDAA0C;AAK1C,mDAAoC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,UAAU;IACrB;;;;;;OAMG;IACI,gBAAgB,CAAC,EAAU,EAAE,KAA6B,EAAE,KAA4B,EAAE,GAAa;QAC5G,IAAI,CAAC,KAAK;YAAE,MAAM,6BAA6B,CAAA;QAE/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACjD,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YACxD,GAAG,EAAE,GAAG;SACT,CAAC,CAAA;QAEF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QACvE,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;QAEzE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;;;;;;OAUG;IACI,oBAAoB,CACzB,EAAU,EACV,KAA6B,EAC7B,KAAyB,EACzB,OAAqB,EACrB,IAAc,EACd,QAAwB,EACxB,cAAkC,EAClC,WAAiB;QAEjB,IAAI,CAAC,KAAK;YAAE,MAAM,yBAAyB,CAAA;QAE3C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACrD,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO;YACxC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE;YACnC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7B,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,GAAG,EAAE,EAAE;aACtB,CAAC;YACF,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,UAAU,EAAE,KAAK;SAClB,CAAC,CAAA;QAEF,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAExE,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAxED,gCAwEC"}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
2
2
|
import * as ecr from 'aws-cdk-lib/aws-ecr-assets';
|
|
3
3
|
import * as eks from 'aws-cdk-lib/aws-eks';
|
|
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 Containers
|
|
9
9
|
* @summary Provides operations on AWS Elastic Kubernetes Service.
|
|
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.eksManager.createEksDeployment('MyEksDeployment', this, image, vpc)
|
|
20
|
+
* }
|
|
20
21
|
* }
|
|
21
22
|
*
|
|
22
|
-
* @see [CDK EKS Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
23
|
+
* @see [CDK EKS Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks-readme.html}
|
|
23
24
|
*/
|
|
24
25
|
export declare class EksManager {
|
|
25
26
|
/**
|
|
26
27
|
* @summary Method to create an eks deployment
|
|
27
28
|
* @param {string} id scoped id of the resource
|
|
28
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
29
|
-
* @param {EksClusterProps} props
|
|
29
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
30
|
+
* @param {types.EksClusterProps} props
|
|
30
31
|
* @param {ecr.DockerImageAsset} image
|
|
31
32
|
* @param {ec2.IVpc} vpc
|
|
32
33
|
*/
|
|
33
|
-
createEksDeployment(id: string, scope: CommonConstruct, props: EksClusterProps, image: ecr.DockerImageAsset, vpc: ec2.IVpc): eks.Cluster;
|
|
34
|
+
createEksDeployment(id: string, scope: common.CommonConstruct, props: types.EksClusterProps, image: ecr.DockerImageAsset, vpc: ec2.IVpc): eks.Cluster;
|
|
34
35
|
}
|
|
35
36
|
//# sourceMappingURL=eksManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eksManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/eksManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAA;AACjD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB;;;;;;;OAOG;IACI,mBAAmB,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,eAAe,EAC5B,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAC3B,GAAG,EAAE,GAAG,CAAC,IAAI;CA4DhB"}
|
|
@@ -22,31 +22,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.EksManager = void 0;
|
|
23
23
|
const ec2 = __importStar(require("aws-cdk-lib/aws-ec2"));
|
|
24
24
|
const eks = __importStar(require("aws-cdk-lib/aws-eks"));
|
|
25
|
-
const
|
|
25
|
+
const utils = __importStar(require("../../utils"));
|
|
26
26
|
/**
|
|
27
27
|
* @stability stable
|
|
28
28
|
* @category Containers
|
|
29
29
|
* @summary Provides operations on AWS Elastic Kubernetes Service.
|
|
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.eksManager.createEksDeployment('MyEksDeployment', this, image, vpc)
|
|
40
|
+
* }
|
|
40
41
|
* }
|
|
41
42
|
*
|
|
42
|
-
* @see [CDK EKS Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
43
|
+
* @see [CDK EKS Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks-readme.html}
|
|
43
44
|
*/
|
|
44
45
|
class EksManager {
|
|
45
46
|
/**
|
|
46
47
|
* @summary Method to create an eks deployment
|
|
47
48
|
* @param {string} id scoped id of the resource
|
|
48
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
49
|
-
* @param {EksClusterProps} props
|
|
49
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
50
|
+
* @param {types.EksClusterProps} props
|
|
50
51
|
* @param {ecr.DockerImageAsset} image
|
|
51
52
|
* @param {ec2.IVpc} vpc
|
|
52
53
|
*/
|
|
@@ -99,8 +100,8 @@ class EksManager {
|
|
|
99
100
|
vpc,
|
|
100
101
|
});
|
|
101
102
|
cluster.addManifest(`${id}Pod`, service, deployment);
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
utils.createCfnOutput(`${id}-clusterArn`, scope, cluster.clusterArn);
|
|
104
|
+
utils.createCfnOutput(`${id}-clusterEndpoint`, scope, cluster.clusterEndpoint);
|
|
104
105
|
return cluster;
|
|
105
106
|
}
|
|
106
107
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eksManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/eksManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA0C;AAE1C,yDAA0C;AAG1C,mDAAoC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,UAAU;IACrB;;;;;;;OAOG;IACI,mBAAmB,CACxB,EAAU,EACV,KAA6B,EAC7B,KAA4B,EAC5B,KAA2B,EAC3B,GAAa;QAEb,IAAI,CAAC,KAAK;YAAE,MAAM,4BAA4B,CAAA;QAE9C,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;QAE/C,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,SAAS;YACrB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE;YACzC,IAAI,EAAE;gBACJ,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;gBACnC,QAAQ,EAAE;oBACR,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;oBAC9B,IAAI,EAAE;wBACJ,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE;gCAC3B,KAAK,EAAE,KAAK,CAAC,QAAQ;gCACrB,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;6BACnD;yBACF;qBACF;iBACF;aACF;SACF,CAAA;QAED,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE;YACzC,IAAI,EAAE;gBACJ,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,KAAK,CAAC,gBAAgB;qBACnC;iBACF;gBACD,QAAQ,EAAE,QAAQ;aACnB;SACF,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;YACrD,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YACvD,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,uBAAuB,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;YAC1F,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,KAAK;YACpC,GAAG;SACJ,CAAC,CAAA;QAEF,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAEpD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACpE,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAE9E,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AA1ED,gCA0EC"}
|
|
@@ -2,49 +2,50 @@ import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
|
2
2
|
import * as events from 'aws-cdk-lib/aws-events';
|
|
3
3
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
4
|
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
5
|
+
import * as common from '../../common';
|
|
6
|
+
import * as types from '../../types';
|
|
7
7
|
/**
|
|
8
8
|
* @stability stable
|
|
9
9
|
* @category Application Integration
|
|
10
10
|
* @summary Provides operations on AWS EventBridge.
|
|
11
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
12
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
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
13
|
* @example
|
|
14
14
|
* import * as common from '@gradientedge/cdk-utils'
|
|
15
15
|
*
|
|
16
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
16
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
17
17
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
18
18
|
* super(parent, id, props)
|
|
19
19
|
* this.props = props
|
|
20
20
|
* this.eventManager.createLambdaRule('MyLambdaRule', this, lambdaFunction)
|
|
21
|
+
* }
|
|
21
22
|
* }
|
|
22
23
|
*
|
|
23
|
-
* @see [CDK EventBridge Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
24
|
+
* @see [CDK EventBridge Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events-readme.html}
|
|
24
25
|
*/
|
|
25
26
|
export declare class EventManager {
|
|
26
27
|
/**
|
|
27
28
|
* @summary Method to create an eventbridge rule with lambda target
|
|
28
29
|
* @param {string} id scoped id of the resource
|
|
29
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
30
|
-
* @param {RuleProps} props
|
|
30
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
31
|
+
* @param {types.RuleProps} props
|
|
31
32
|
* @param {lambda.Function} lambdaFunction
|
|
32
33
|
* @param {string} eventBusName
|
|
33
34
|
* @param {any} eventPattern
|
|
34
35
|
* @param {string} scheduleExpression
|
|
35
36
|
*/
|
|
36
|
-
createLambdaRule(id: string, scope: CommonConstruct, props: RuleProps, lambdaFunction: lambda.Function, eventBusName?: string, eventPattern?: any, scheduleExpression?: string): events.CfnRule;
|
|
37
|
+
createLambdaRule(id: string, scope: common.CommonConstruct, props: types.RuleProps, lambdaFunction: lambda.Function, eventBusName?: string, eventPattern?: any, scheduleExpression?: string): events.CfnRule;
|
|
37
38
|
/**
|
|
38
39
|
* @summary Method to create an eventbridge rule with fargate task target
|
|
39
40
|
* @param {string} id scoped id of the resource
|
|
40
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
41
|
-
* @param {RuleProps} props
|
|
41
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
42
|
+
* @param {types.RuleProps} props
|
|
42
43
|
* @param {ecs.ICluster} cluster
|
|
43
44
|
* @param {ecs.ITaskDefinition} task
|
|
44
45
|
* @param {string[]} subnetIds
|
|
45
46
|
* @param {iam.Role | iam.CfnRole} role
|
|
46
47
|
* @param {any} eventPattern
|
|
47
48
|
*/
|
|
48
|
-
createFargateTaskRule(id: string, scope: CommonConstruct, props: RuleProps, cluster: ecs.ICluster, task: ecs.ITaskDefinition, subnetIds: string[], role: iam.Role | iam.CfnRole, eventPattern?: any): events.CfnRule;
|
|
49
|
+
createFargateTaskRule(id: string, scope: common.CommonConstruct, props: types.RuleProps, cluster: ecs.ICluster, task: ecs.ITaskDefinition, subnetIds: string[], role: iam.Role | iam.CfnRole, eventPattern?: any): events.CfnRule;
|
|
49
50
|
}
|
|
50
51
|
//# sourceMappingURL=eventManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/eventManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;OASG;IACI,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,cAAc,EAAE,MAAM,CAAC,QAAQ,EAC/B,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,GAAG,EAClB,kBAAkB,CAAC,EAAE,MAAM;IA2B7B;;;;;;;;;;OAUG;IACI,qBAAqB,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,OAAO,EAAE,GAAG,CAAC,QAAQ,EACrB,IAAI,EAAE,GAAG,CAAC,eAAe,EACzB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,EAC5B,YAAY,CAAC,EAAE,GAAG;CA+BrB"}
|
|
@@ -23,31 +23,32 @@ exports.EventManager = void 0;
|
|
|
23
23
|
const events = __importStar(require("aws-cdk-lib/aws-events"));
|
|
24
24
|
const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
25
25
|
const lambda = __importStar(require("aws-cdk-lib/aws-lambda"));
|
|
26
|
-
const
|
|
26
|
+
const utils = __importStar(require("../../utils"));
|
|
27
27
|
/**
|
|
28
28
|
* @stability stable
|
|
29
29
|
* @category Application Integration
|
|
30
30
|
* @summary Provides operations on AWS EventBridge.
|
|
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
40
|
* this.eventManager.createLambdaRule('MyLambdaRule', this, lambdaFunction)
|
|
41
|
+
* }
|
|
41
42
|
* }
|
|
42
43
|
*
|
|
43
|
-
* @see [CDK EventBridge Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
44
|
+
* @see [CDK EventBridge Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events-readme.html}
|
|
44
45
|
*/
|
|
45
46
|
class EventManager {
|
|
46
47
|
/**
|
|
47
48
|
* @summary Method to create an eventbridge rule with lambda target
|
|
48
49
|
* @param {string} id scoped id of the resource
|
|
49
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
50
|
-
* @param {RuleProps} props
|
|
50
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
51
|
+
* @param {types.RuleProps} props
|
|
51
52
|
* @param {lambda.Function} lambdaFunction
|
|
52
53
|
* @param {string} eventBusName
|
|
53
54
|
* @param {any} eventPattern
|
|
@@ -71,15 +72,15 @@ class EventManager {
|
|
|
71
72
|
principal: 'events.amazonaws.com',
|
|
72
73
|
sourceArn: eventRule.attrArn,
|
|
73
74
|
});
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
utils.createCfnOutput(`${id}-ruleArn`, scope, eventRule.attrArn);
|
|
76
|
+
utils.createCfnOutput(`${id}-ruleName`, scope, eventRule.name);
|
|
76
77
|
return eventRule;
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
80
|
* @summary Method to create an eventbridge rule with fargate task target
|
|
80
81
|
* @param {string} id scoped id of the resource
|
|
81
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
82
|
-
* @param {RuleProps} props
|
|
82
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
83
|
+
* @param {types.RuleProps} props
|
|
83
84
|
* @param {ecs.ICluster} cluster
|
|
84
85
|
* @param {ecs.ITaskDefinition} task
|
|
85
86
|
* @param {string[]} subnetIds
|
|
@@ -110,8 +111,8 @@ class EventManager {
|
|
|
110
111
|
},
|
|
111
112
|
],
|
|
112
113
|
});
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
utils.createCfnOutput(`${id}-ruleArn`, scope, eventRule.attrArn);
|
|
115
|
+
utils.createCfnOutput(`${id}-ruleName`, scope, eventRule.name);
|
|
115
116
|
return eventRule;
|
|
116
117
|
}
|
|
117
118
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/eventManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
3
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
5
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
6
|
+
import * as common from '../../common';
|
|
7
|
+
/**
|
|
8
|
+
* @stability stable
|
|
9
|
+
* @category Security, Identity & Compliance
|
|
10
|
+
* @summary Provides operations on AWS IAM.
|
|
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.iamManager.createRoleForEcsEvent('MyEcsRole', this, cluster, task)
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* @see [CDK IAM Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam-readme.html}
|
|
25
|
+
*/
|
|
26
|
+
export declare class IamManager {
|
|
27
|
+
/**
|
|
28
|
+
* @summary Method to create iam statement to read secrets
|
|
29
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
30
|
+
*/
|
|
31
|
+
statementForReadSecrets(scope: common.CommonConstruct): cdk.aws_iam.PolicyStatement;
|
|
32
|
+
/**
|
|
33
|
+
* @summary Method to create iam statement to read app config
|
|
34
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
35
|
+
*/
|
|
36
|
+
statementForReadAnyAppConfig(scope: common.CommonConstruct): cdk.aws_iam.PolicyStatement;
|
|
37
|
+
/**
|
|
38
|
+
* @summary Method to create iam statement to list s3 buckets
|
|
39
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
40
|
+
* @param {s3.IBucket} bucket
|
|
41
|
+
*/
|
|
42
|
+
statementForListBucket(scope: common.CommonConstruct, bucket: s3.IBucket): cdk.aws_iam.PolicyStatement;
|
|
43
|
+
/**
|
|
44
|
+
* @summary Method to create iam statement to list all s3 buckets
|
|
45
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
46
|
+
*/
|
|
47
|
+
statementForListAllMyBuckets(scope: common.CommonConstruct): cdk.aws_iam.PolicyStatement;
|
|
48
|
+
/**
|
|
49
|
+
* @summary Method to create iam statement to get s3 objects in buckets
|
|
50
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
51
|
+
* @param {s3.IBucket} bucket
|
|
52
|
+
*/
|
|
53
|
+
statementForGetAnyS3Objects(scope: common.CommonConstruct, bucket: s3.IBucket): cdk.aws_iam.PolicyStatement;
|
|
54
|
+
/**
|
|
55
|
+
* @summary Method to create iam statement to delete s3 objects in buckets
|
|
56
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
57
|
+
* @param {s3.IBucket} bucket
|
|
58
|
+
*/
|
|
59
|
+
statementForDeleteAnyS3Objects(scope: common.CommonConstruct, bucket: s3.IBucket): cdk.aws_iam.PolicyStatement;
|
|
60
|
+
/**
|
|
61
|
+
* @summary Method to create iam statement to write s3 objects in buckets
|
|
62
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
63
|
+
* @param {s3.IBucket} bucket
|
|
64
|
+
*/
|
|
65
|
+
statementForPutAnyS3Objects(scope: common.CommonConstruct, bucket: s3.IBucket): cdk.aws_iam.PolicyStatement;
|
|
66
|
+
/**
|
|
67
|
+
* @summary Method to create iam statement to pass iam role
|
|
68
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
69
|
+
*/
|
|
70
|
+
statementForPassRole(scope: common.CommonConstruct): cdk.aws_iam.PolicyStatement;
|
|
71
|
+
/**
|
|
72
|
+
* @summary Method to create iam statement to invalidate cloudfront cache
|
|
73
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
74
|
+
*/
|
|
75
|
+
statementForCloudfrontInvalidation(scope: common.CommonConstruct): cdk.aws_iam.PolicyStatement;
|
|
76
|
+
/**
|
|
77
|
+
* @summary Method to create iam policy to invalidate cloudfront cache
|
|
78
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
79
|
+
*/
|
|
80
|
+
policyForCloudfrontInvalidation(scope: common.CommonConstruct): cdk.aws_iam.PolicyDocument;
|
|
81
|
+
/**
|
|
82
|
+
* @summary Method to create iam role to invalidate cloudfront cache
|
|
83
|
+
* @param {string} id scoped id of the resource
|
|
84
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
85
|
+
*/
|
|
86
|
+
roleForCloudfrontInvalidation(id: string, scope: common.CommonConstruct): cdk.aws_iam.Role;
|
|
87
|
+
/**
|
|
88
|
+
* @summary Method to create iam statement to assume iam role
|
|
89
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
90
|
+
* @param {iam.ServicePrincipal[]} servicePrincipals
|
|
91
|
+
*/
|
|
92
|
+
statementForAssumeRole(scope: common.CommonConstruct, servicePrincipals: iam.ServicePrincipal[]): cdk.aws_iam.PolicyStatement;
|
|
93
|
+
/**
|
|
94
|
+
* @summary Method to create iam statement to pass ecs role
|
|
95
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
96
|
+
*/
|
|
97
|
+
statementForEcsPassRole(scope: common.CommonConstruct): cdk.aws_iam.PolicyStatement;
|
|
98
|
+
/**
|
|
99
|
+
* @summary Method to create iam statement to run ecs task
|
|
100
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
101
|
+
* @param {ecs.ICluster} cluster
|
|
102
|
+
* @param {ecs.ITaskDefinition} task
|
|
103
|
+
*/
|
|
104
|
+
statementForRunEcsTask(scope: common.CommonConstruct, cluster: ecs.ICluster, task: ecs.ITaskDefinition): cdk.aws_iam.PolicyStatement;
|
|
105
|
+
/**
|
|
106
|
+
* @summary Method to create iam statement to create log stream
|
|
107
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
108
|
+
* @param {logs.CfnLogGroup} logGroup
|
|
109
|
+
*/
|
|
110
|
+
statementForCreateLogStream(scope: common.CommonConstruct, logGroup: logs.CfnLogGroup): cdk.aws_iam.PolicyStatement;
|
|
111
|
+
/**
|
|
112
|
+
* @summary Method to create iam statement to create any log stream
|
|
113
|
+
*/
|
|
114
|
+
statementForCreateAnyLogStream(): cdk.aws_iam.PolicyStatement;
|
|
115
|
+
/**
|
|
116
|
+
* @summary Method to create iam statement to write log events
|
|
117
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
118
|
+
* @param {logs.CfnLogGroup} logGroup
|
|
119
|
+
*/
|
|
120
|
+
statementForPutLogEvent(scope: common.CommonConstruct, logGroup: logs.CfnLogGroup): cdk.aws_iam.PolicyStatement;
|
|
121
|
+
/**
|
|
122
|
+
* @summary Method to create iam statement to write any log events
|
|
123
|
+
*/
|
|
124
|
+
statementForPutAnyLogEvent(): cdk.aws_iam.PolicyStatement;
|
|
125
|
+
/**
|
|
126
|
+
* @summary Method to create iam statement for cloud trail
|
|
127
|
+
* @param {string} id scoped id of the resource
|
|
128
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
129
|
+
* @param {logs.CfnLogGroup} logGroup
|
|
130
|
+
*/
|
|
131
|
+
createRoleForCloudTrail(id: string, scope: common.CommonConstruct, logGroup: logs.CfnLogGroup): cdk.aws_iam.CfnRole;
|
|
132
|
+
/**
|
|
133
|
+
* @summary Method to create iam statement for ecs event
|
|
134
|
+
* @param {string} id scoped id of the resource
|
|
135
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
136
|
+
* @param {ecs.ICluster} cluster
|
|
137
|
+
* @param {ecs.ITaskDefinition} task
|
|
138
|
+
*/
|
|
139
|
+
createRoleForEcsEvent(id: string, scope: common.CommonConstruct, cluster: ecs.ICluster, task: ecs.ITaskDefinition): cdk.aws_iam.Role;
|
|
140
|
+
/**
|
|
141
|
+
* @summary Method to create iam statement for ecs execution
|
|
142
|
+
* @param {string} id scoped id of the resource
|
|
143
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
144
|
+
* @param {iam.PolicyDocument} policy
|
|
145
|
+
*/
|
|
146
|
+
createRoleForEcsExecution(id: string, scope: common.CommonConstruct, policy: iam.PolicyDocument): cdk.aws_iam.Role;
|
|
147
|
+
/**
|
|
148
|
+
* @summary Method to create iam statement for lambda execution
|
|
149
|
+
* @param {string} id scoped id of the resource
|
|
150
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
151
|
+
* @param {iam.PolicyDocument} policy
|
|
152
|
+
* @param {iam.ServicePrincipal} servicePrinicpal
|
|
153
|
+
*/
|
|
154
|
+
createRoleForLambda(id: string, scope: common.CommonConstruct, policy: iam.PolicyDocument, servicePrinicpal?: iam.ServicePrincipal): cdk.aws_iam.Role;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=iamManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iamManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/iamManager.ts"],"names":[],"mappings":"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"}
|