@gradientedge/cdk-utils 4.1.2 → 4.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +25 -45
- package/dist/src/lib/common/commonConstruct.d.ts.map +1 -1
- package/dist/src/lib/common/commonConstruct.js +48 -49
- package/dist/src/lib/common/commonConstruct.js.map +1 -1
- package/dist/src/lib/common/commonStack.d.ts +1 -1
- package/dist/src/lib/common/commonStack.d.ts.map +1 -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 +5 -5
- package/dist/src/lib/construct/graphQLApiLambda.d.ts.map +1 -1
- package/dist/src/lib/construct/graphQLApiLambda.js +2 -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 +20 -8
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts.map +1 -1
- package/dist/src/lib/construct/siteWithEcsBackend.js +32 -5
- package/dist/src/lib/construct/siteWithEcsBackend.js.map +1 -1
- package/dist/src/lib/construct/staticSite.d.ts +17 -5
- package/dist/src/lib/construct/staticSite.d.ts.map +1 -1
- package/dist/src/lib/construct/staticSite.js +30 -2
- package/dist/src/lib/construct/staticSite.js.map +1 -1
- package/dist/src/lib/manager/{acmManager.d.ts → aws/acmManager.d.ts} +7 -7
- package/dist/src/lib/manager/aws/acmManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{acmManager.js → aws/acmManager.js} +7 -7
- package/dist/src/lib/manager/aws/acmManager.js.map +1 -0
- package/dist/src/lib/manager/{apiManager.d.ts → aws/apiManager.d.ts} +10 -10
- package/dist/src/lib/manager/aws/apiManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{apiManager.js → aws/apiManager.js} +12 -14
- package/dist/src/lib/manager/aws/apiManager.js.map +1 -0
- package/dist/src/lib/manager/{appConfigManager.d.ts → aws/appConfigManager.d.ts} +16 -16
- package/dist/src/lib/manager/aws/appConfigManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{appConfigManager.js → aws/appConfigManager.js} +18 -18
- 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} +47 -24
- package/dist/src/lib/manager/aws/cloudFrontManager.js.map +1 -0
- package/dist/src/lib/manager/{cloudTrailManager.d.ts → aws/cloudTrailManager.d.ts} +8 -8
- package/dist/src/lib/manager/aws/cloudTrailManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudTrailManager.js → aws/cloudTrailManager.js} +8 -8
- 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} +46 -35
- package/dist/src/lib/manager/aws/cloudWatchManager.js.map +1 -0
- package/dist/src/lib/manager/{codeBuildManager.d.ts → aws/codeBuildManager.d.ts} +7 -8
- package/dist/src/lib/manager/aws/codeBuildManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{codeBuildManager.js → aws/codeBuildManager.js} +5 -5
- package/dist/src/lib/manager/aws/codeBuildManager.js.map +1 -0
- package/dist/src/lib/manager/{ecrManager.d.ts → aws/ecrManager.d.ts} +6 -6
- package/dist/src/lib/manager/aws/ecrManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ecrManager.js → aws/ecrManager.js} +6 -6
- package/dist/src/lib/manager/aws/ecrManager.js.map +1 -0
- package/dist/src/lib/manager/{ecsManager.d.ts → aws/ecsManager.d.ts} +11 -11
- package/dist/src/lib/manager/aws/ecsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ecsManager.js → aws/ecsManager.js} +11 -11
- package/dist/src/lib/manager/aws/ecsManager.js.map +1 -0
- package/dist/src/lib/manager/{eksManager.d.ts → aws/eksManager.d.ts} +8 -8
- package/dist/src/lib/manager/aws/eksManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{eksManager.js → aws/eksManager.js} +8 -8
- package/dist/src/lib/manager/aws/eksManager.js.map +1 -0
- package/dist/src/lib/manager/{eventManager.d.ts → aws/eventManager.d.ts} +11 -11
- package/dist/src/lib/manager/aws/eventManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{eventManager.js → aws/eventManager.js} +12 -12
- 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} +35 -34
- 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} +19 -19
- package/dist/src/lib/manager/aws/lambdaManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{lambdaManager.js → aws/lambdaManager.js} +19 -19
- package/dist/src/lib/manager/aws/lambdaManager.js.map +1 -0
- package/dist/src/lib/manager/{logManager.d.ts → aws/logManager.d.ts} +14 -14
- package/dist/src/lib/manager/aws/logManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{logManager.js → aws/logManager.js} +12 -12
- package/dist/src/lib/manager/aws/logManager.js.map +1 -0
- package/dist/src/lib/manager/{route53Manager.d.ts → aws/route53Manager.d.ts} +16 -16
- package/dist/src/lib/manager/aws/route53Manager.d.ts.map +1 -0
- package/dist/src/lib/manager/{route53Manager.js → aws/route53Manager.js} +17 -17
- 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} +15 -15
- package/dist/src/lib/manager/aws/s3Manager.js.map +1 -0
- package/dist/src/lib/manager/{secretsManager.d.ts → aws/secretsManager.d.ts} +5 -5
- package/dist/src/lib/manager/aws/secretsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{secretsManager.js → aws/secretsManager.js} +3 -3
- package/dist/src/lib/manager/aws/secretsManager.js.map +1 -0
- package/dist/src/lib/manager/{snsManager.d.ts → aws/snsManager.d.ts} +11 -11
- package/dist/src/lib/manager/aws/snsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{snsManager.js → aws/snsManager.js} +12 -12
- package/dist/src/lib/manager/aws/snsManager.js.map +1 -0
- package/dist/src/lib/manager/{ssmManager.d.ts → aws/ssmManager.d.ts} +16 -16
- package/dist/src/lib/manager/aws/ssmManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ssmManager.js → aws/ssmManager.js} +13 -13
- package/dist/src/lib/manager/aws/ssmManager.js.map +1 -0
- package/dist/src/lib/manager/{vpcManager.d.ts → aws/vpcManager.d.ts} +10 -10
- package/dist/src/lib/manager/aws/vpcManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{vpcManager.js → aws/vpcManager.js} +13 -13
- 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} +12 -12
- 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 +26 -16
- package/src/lib/common/commonConstruct.ts +53 -73
- package/src/lib/common/commonStack.ts +1 -1
- package/src/lib/common/index.ts +2 -0
- package/src/lib/construct/graphQLApiLambda.ts +5 -5
- package/src/lib/construct/index.ts +3 -0
- package/src/lib/construct/siteWithEcsBackend.ts +44 -10
- package/src/lib/construct/staticSite.ts +40 -6
- package/src/lib/manager/{acmManager.ts → aws/acmManager.ts} +11 -11
- package/src/lib/manager/{apiManager.ts → aws/apiManager.ts} +16 -18
- package/src/lib/manager/{appConfigManager.ts → aws/appConfigManager.ts} +30 -26
- package/src/lib/manager/{cloudFrontManager.ts → aws/cloudFrontManager.ts} +67 -39
- package/src/lib/manager/{cloudTrailManager.ts → aws/cloudTrailManager.ts} +12 -12
- package/src/lib/manager/{cloudWatchManager.ts → aws/cloudWatchManager.ts} +78 -56
- package/src/lib/manager/{codeBuildManager.ts → aws/codeBuildManager.ts} +8 -8
- package/src/lib/manager/{ecrManager.ts → aws/ecrManager.ts} +8 -8
- package/src/lib/manager/{ecsManager.ts → aws/ecsManager.ts} +16 -16
- package/src/lib/manager/{eksManager.ts → aws/eksManager.ts} +12 -12
- package/src/lib/manager/{eventManager.ts → aws/eventManager.ts} +18 -18
- package/src/lib/manager/{iamManager.ts → aws/iamManager.ts} +65 -54
- package/src/lib/manager/aws/index.ts +21 -0
- package/src/lib/manager/{lambdaManager.ts → aws/lambdaManager.ts} +29 -29
- package/src/lib/manager/{logManager.ts → aws/logManager.ts} +22 -17
- package/src/lib/manager/{route53Manager.ts → aws/route53Manager.ts} +24 -24
- package/src/lib/manager/{s3Manager.ts → aws/s3Manager.ts} +24 -24
- package/src/lib/manager/{secretsManager.ts → aws/secretsManager.ts} +10 -5
- package/src/lib/manager/{snsManager.ts → aws/snsManager.ts} +18 -18
- package/src/lib/manager/{ssmManager.ts → aws/ssmManager.ts} +24 -19
- package/src/lib/manager/{vpcManager.ts → aws/vpcManager.ts} +17 -17
- package/src/lib/manager/{wafManager.ts → aws/wafManager.ts} +16 -16
- 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 -101
- 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 -121
- 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.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 -155
- 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.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 -73
- 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.map +0 -1
- package/dist/src/lib/manager/snsManager.js.map +0 -1
- 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 -39
- 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
|
@@ -3,19 +3,19 @@ import * as ecs from 'aws-cdk-lib/aws-ecs'
|
|
|
3
3
|
import * as iam from 'aws-cdk-lib/aws-iam'
|
|
4
4
|
import * as logs from 'aws-cdk-lib/aws-logs'
|
|
5
5
|
import * as s3 from 'aws-cdk-lib/aws-s3'
|
|
6
|
-
import
|
|
7
|
-
import
|
|
6
|
+
import * as common from '../../common'
|
|
7
|
+
import * as utils from '../../utils'
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @stability stable
|
|
11
11
|
* @category Security, Identity & Compliance
|
|
12
12
|
* @summary Provides operations on AWS IAM.
|
|
13
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
14
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
13
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
14
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
15
15
|
* @example
|
|
16
16
|
* import * as common from '@gradientedge/cdk-utils'
|
|
17
17
|
*
|
|
18
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
18
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
19
19
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
20
20
|
* super(parent, id, props)
|
|
21
21
|
* this.props = props
|
|
@@ -28,9 +28,9 @@ import { createCfnOutput } from '../utils'
|
|
|
28
28
|
export class IamManager {
|
|
29
29
|
/**
|
|
30
30
|
* @summary Method to create iam statement to read secrets
|
|
31
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
31
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
32
32
|
*/
|
|
33
|
-
public statementForReadSecrets(scope: CommonConstruct) {
|
|
33
|
+
public statementForReadSecrets(scope: common.CommonConstruct) {
|
|
34
34
|
return new iam.PolicyStatement({
|
|
35
35
|
effect: iam.Effect.ALLOW,
|
|
36
36
|
actions: ['secretsmanager:GetSecretValue'],
|
|
@@ -40,9 +40,9 @@ export class IamManager {
|
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* @summary Method to create iam statement to read app config
|
|
43
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
43
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
44
44
|
*/
|
|
45
|
-
public statementForReadAnyAppConfig(scope: CommonConstruct) {
|
|
45
|
+
public statementForReadAnyAppConfig(scope: common.CommonConstruct) {
|
|
46
46
|
return new iam.PolicyStatement({
|
|
47
47
|
effect: iam.Effect.ALLOW,
|
|
48
48
|
actions: [
|
|
@@ -65,10 +65,10 @@ export class IamManager {
|
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* @summary Method to create iam statement to list s3 buckets
|
|
68
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
68
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
69
69
|
* @param {s3.IBucket} bucket
|
|
70
70
|
*/
|
|
71
|
-
public statementForListBucket(scope: CommonConstruct, bucket: s3.IBucket) {
|
|
71
|
+
public statementForListBucket(scope: common.CommonConstruct, bucket: s3.IBucket) {
|
|
72
72
|
return new iam.PolicyStatement({
|
|
73
73
|
effect: iam.Effect.ALLOW,
|
|
74
74
|
actions: ['s3:ListBucket'],
|
|
@@ -78,9 +78,9 @@ export class IamManager {
|
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
80
|
* @summary Method to create iam statement to list all s3 buckets
|
|
81
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
81
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
82
82
|
*/
|
|
83
|
-
public statementForListAllMyBuckets(scope: CommonConstruct) {
|
|
83
|
+
public statementForListAllMyBuckets(scope: common.CommonConstruct) {
|
|
84
84
|
return new iam.PolicyStatement({
|
|
85
85
|
effect: iam.Effect.ALLOW,
|
|
86
86
|
actions: ['s3:ListAllMyBuckets'],
|
|
@@ -90,10 +90,10 @@ export class IamManager {
|
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* @summary Method to create iam statement to get s3 objects in buckets
|
|
93
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
93
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
94
94
|
* @param {s3.IBucket} bucket
|
|
95
95
|
*/
|
|
96
|
-
public statementForGetAnyS3Objects(scope: CommonConstruct, bucket: s3.IBucket) {
|
|
96
|
+
public statementForGetAnyS3Objects(scope: common.CommonConstruct, bucket: s3.IBucket) {
|
|
97
97
|
return new iam.PolicyStatement({
|
|
98
98
|
effect: iam.Effect.ALLOW,
|
|
99
99
|
actions: ['s3:GetObject', 's3:GetObjectAcl'],
|
|
@@ -103,10 +103,10 @@ export class IamManager {
|
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
105
|
* @summary Method to create iam statement to delete s3 objects in buckets
|
|
106
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
106
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
107
107
|
* @param {s3.IBucket} bucket
|
|
108
108
|
*/
|
|
109
|
-
public statementForDeleteAnyS3Objects(scope: CommonConstruct, bucket: s3.IBucket) {
|
|
109
|
+
public statementForDeleteAnyS3Objects(scope: common.CommonConstruct, bucket: s3.IBucket) {
|
|
110
110
|
return new iam.PolicyStatement({
|
|
111
111
|
effect: iam.Effect.ALLOW,
|
|
112
112
|
actions: ['s3:DeleteObject'],
|
|
@@ -116,10 +116,10 @@ export class IamManager {
|
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
118
|
* @summary Method to create iam statement to write s3 objects in buckets
|
|
119
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
119
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
120
120
|
* @param {s3.IBucket} bucket
|
|
121
121
|
*/
|
|
122
|
-
public statementForPutAnyS3Objects(scope: CommonConstruct, bucket: s3.IBucket) {
|
|
122
|
+
public statementForPutAnyS3Objects(scope: common.CommonConstruct, bucket: s3.IBucket) {
|
|
123
123
|
return new iam.PolicyStatement({
|
|
124
124
|
effect: iam.Effect.ALLOW,
|
|
125
125
|
actions: ['s3:PutObject', 's3:PutObjectAcl'],
|
|
@@ -129,9 +129,9 @@ export class IamManager {
|
|
|
129
129
|
|
|
130
130
|
/**
|
|
131
131
|
* @summary Method to create iam statement to pass iam role
|
|
132
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
132
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
133
133
|
*/
|
|
134
|
-
public statementForPassRole(scope: CommonConstruct) {
|
|
134
|
+
public statementForPassRole(scope: common.CommonConstruct) {
|
|
135
135
|
return new iam.PolicyStatement({
|
|
136
136
|
effect: iam.Effect.ALLOW,
|
|
137
137
|
actions: ['iam:PassRole'],
|
|
@@ -141,9 +141,9 @@ export class IamManager {
|
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
143
|
* @summary Method to create iam statement to invalidate cloudfront cache
|
|
144
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
144
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
145
145
|
*/
|
|
146
|
-
public statementForCloudfrontInvalidation(scope: CommonConstruct) {
|
|
146
|
+
public statementForCloudfrontInvalidation(scope: common.CommonConstruct) {
|
|
147
147
|
return new iam.PolicyStatement({
|
|
148
148
|
effect: iam.Effect.ALLOW,
|
|
149
149
|
actions: ['cloudfront:GetInvalidation', 'cloudfront:CreateInvalidation'],
|
|
@@ -153,9 +153,9 @@ export class IamManager {
|
|
|
153
153
|
|
|
154
154
|
/**
|
|
155
155
|
* @summary Method to create iam policy to invalidate cloudfront cache
|
|
156
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
156
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
157
157
|
*/
|
|
158
|
-
public policyForCloudfrontInvalidation(scope: CommonConstruct) {
|
|
158
|
+
public policyForCloudfrontInvalidation(scope: common.CommonConstruct) {
|
|
159
159
|
return new iam.PolicyDocument({
|
|
160
160
|
statements: [
|
|
161
161
|
this.statementForCreateAnyLogStream(),
|
|
@@ -178,9 +178,9 @@ export class IamManager {
|
|
|
178
178
|
/**
|
|
179
179
|
* @summary Method to create iam role to invalidate cloudfront cache
|
|
180
180
|
* @param {string} id scoped id of the resource
|
|
181
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
181
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
182
182
|
*/
|
|
183
|
-
public roleForCloudfrontInvalidation(id: string, scope: CommonConstruct) {
|
|
183
|
+
public roleForCloudfrontInvalidation(id: string, scope: common.CommonConstruct) {
|
|
184
184
|
return new iam.Role(scope, `${id}-install-deps-project-role`, {
|
|
185
185
|
assumedBy: new iam.ServicePrincipal('codebuild.amazonaws.com'),
|
|
186
186
|
inlinePolicies: {
|
|
@@ -191,10 +191,10 @@ export class IamManager {
|
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
193
|
* @summary Method to create iam statement to assume iam role
|
|
194
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
194
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
195
195
|
* @param {iam.ServicePrincipal[]} servicePrincipals
|
|
196
196
|
*/
|
|
197
|
-
public statementForAssumeRole(scope: CommonConstruct, servicePrincipals: iam.ServicePrincipal[]) {
|
|
197
|
+
public statementForAssumeRole(scope: common.CommonConstruct, servicePrincipals: iam.ServicePrincipal[]) {
|
|
198
198
|
return new iam.PolicyStatement({
|
|
199
199
|
effect: iam.Effect.ALLOW,
|
|
200
200
|
actions: ['sts:AssumeRole'],
|
|
@@ -204,9 +204,9 @@ export class IamManager {
|
|
|
204
204
|
|
|
205
205
|
/**
|
|
206
206
|
* @summary Method to create iam statement to pass ecs role
|
|
207
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
207
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
208
208
|
*/
|
|
209
|
-
public statementForEcsPassRole(scope: CommonConstruct) {
|
|
209
|
+
public statementForEcsPassRole(scope: common.CommonConstruct) {
|
|
210
210
|
return new iam.PolicyStatement({
|
|
211
211
|
effect: iam.Effect.ALLOW,
|
|
212
212
|
actions: ['iam:PassRole'],
|
|
@@ -217,11 +217,11 @@ export class IamManager {
|
|
|
217
217
|
|
|
218
218
|
/**
|
|
219
219
|
* @summary Method to create iam statement to run ecs task
|
|
220
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
220
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
221
221
|
* @param {ecs.ICluster} cluster
|
|
222
222
|
* @param {ecs.ITaskDefinition} task
|
|
223
223
|
*/
|
|
224
|
-
public statementForRunEcsTask(scope: CommonConstruct, cluster: ecs.ICluster, task: ecs.ITaskDefinition) {
|
|
224
|
+
public statementForRunEcsTask(scope: common.CommonConstruct, cluster: ecs.ICluster, task: ecs.ITaskDefinition) {
|
|
225
225
|
return new iam.PolicyStatement({
|
|
226
226
|
effect: iam.Effect.ALLOW,
|
|
227
227
|
actions: ['ecs:RunTask'],
|
|
@@ -232,10 +232,10 @@ export class IamManager {
|
|
|
232
232
|
|
|
233
233
|
/**
|
|
234
234
|
* @summary Method to create iam statement to create log stream
|
|
235
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
235
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
236
236
|
* @param {logs.CfnLogGroup} logGroup
|
|
237
237
|
*/
|
|
238
|
-
public statementForCreateLogStream(scope: CommonConstruct, logGroup: logs.CfnLogGroup) {
|
|
238
|
+
public statementForCreateLogStream(scope: common.CommonConstruct, logGroup: logs.CfnLogGroup) {
|
|
239
239
|
return new iam.PolicyStatement({
|
|
240
240
|
effect: iam.Effect.ALLOW,
|
|
241
241
|
actions: ['logs:CreateLogStream'],
|
|
@@ -261,10 +261,10 @@ export class IamManager {
|
|
|
261
261
|
|
|
262
262
|
/**
|
|
263
263
|
* @summary Method to create iam statement to write log events
|
|
264
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
264
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
265
265
|
* @param {logs.CfnLogGroup} logGroup
|
|
266
266
|
*/
|
|
267
|
-
public statementForPutLogEvent(scope: CommonConstruct, logGroup: logs.CfnLogGroup) {
|
|
267
|
+
public statementForPutLogEvent(scope: common.CommonConstruct, logGroup: logs.CfnLogGroup) {
|
|
268
268
|
return new iam.PolicyStatement({
|
|
269
269
|
effect: iam.Effect.ALLOW,
|
|
270
270
|
actions: ['logs:PutLogEvents'],
|
|
@@ -291,10 +291,10 @@ export class IamManager {
|
|
|
291
291
|
/**
|
|
292
292
|
* @summary Method to create iam statement for cloud trail
|
|
293
293
|
* @param {string} id scoped id of the resource
|
|
294
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
294
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
295
295
|
* @param {logs.CfnLogGroup} logGroup
|
|
296
296
|
*/
|
|
297
|
-
public createRoleForCloudTrail(id: string, scope: CommonConstruct, logGroup: logs.CfnLogGroup) {
|
|
297
|
+
public createRoleForCloudTrail(id: string, scope: common.CommonConstruct, logGroup: logs.CfnLogGroup) {
|
|
298
298
|
const policy = new iam.PolicyDocument({
|
|
299
299
|
statements: [this.statementForCreateLogStream(scope, logGroup), this.statementForPutLogEvent(scope, logGroup)],
|
|
300
300
|
})
|
|
@@ -311,8 +311,8 @@ export class IamManager {
|
|
|
311
311
|
roleName: `${id}-${scope.props.stage}`,
|
|
312
312
|
})
|
|
313
313
|
|
|
314
|
-
createCfnOutput(`${id}Arn`, scope, role.attrArn)
|
|
315
|
-
createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
314
|
+
utils.createCfnOutput(`${id}Arn`, scope, role.attrArn)
|
|
315
|
+
utils.createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
316
316
|
|
|
317
317
|
return role
|
|
318
318
|
}
|
|
@@ -320,11 +320,16 @@ export class IamManager {
|
|
|
320
320
|
/**
|
|
321
321
|
* @summary Method to create iam statement for ecs event
|
|
322
322
|
* @param {string} id scoped id of the resource
|
|
323
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
323
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
324
324
|
* @param {ecs.ICluster} cluster
|
|
325
325
|
* @param {ecs.ITaskDefinition} task
|
|
326
326
|
*/
|
|
327
|
-
public createRoleForEcsEvent(
|
|
327
|
+
public createRoleForEcsEvent(
|
|
328
|
+
id: string,
|
|
329
|
+
scope: common.CommonConstruct,
|
|
330
|
+
cluster: ecs.ICluster,
|
|
331
|
+
task: ecs.ITaskDefinition
|
|
332
|
+
) {
|
|
328
333
|
const policy = new iam.PolicyDocument({
|
|
329
334
|
statements: [this.statementForRunEcsTask(scope, cluster, task), this.statementForEcsPassRole(scope)],
|
|
330
335
|
})
|
|
@@ -336,8 +341,8 @@ export class IamManager {
|
|
|
336
341
|
roleName: `${id}-${scope.props.stage}`,
|
|
337
342
|
})
|
|
338
343
|
|
|
339
|
-
createCfnOutput(`${id}Arn`, scope, role.roleArn)
|
|
340
|
-
createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
344
|
+
utils.createCfnOutput(`${id}Arn`, scope, role.roleArn)
|
|
345
|
+
utils.createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
341
346
|
|
|
342
347
|
return role
|
|
343
348
|
}
|
|
@@ -345,10 +350,10 @@ export class IamManager {
|
|
|
345
350
|
/**
|
|
346
351
|
* @summary Method to create iam statement for ecs execution
|
|
347
352
|
* @param {string} id scoped id of the resource
|
|
348
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
353
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
349
354
|
* @param {iam.PolicyDocument} policy
|
|
350
355
|
*/
|
|
351
|
-
public createRoleForEcsExecution(id: string, scope: CommonConstruct, policy: iam.PolicyDocument) {
|
|
356
|
+
public createRoleForEcsExecution(id: string, scope: common.CommonConstruct, policy: iam.PolicyDocument) {
|
|
352
357
|
const role = new iam.Role(scope, `${id}`, {
|
|
353
358
|
assumedBy: new iam.ServicePrincipal('ecs-tasks.amazonaws.com'),
|
|
354
359
|
description: `Role for ${id} ECS Task execution`,
|
|
@@ -363,8 +368,8 @@ export class IamManager {
|
|
|
363
368
|
roleName: `${id}-${scope.props.stage}`,
|
|
364
369
|
})
|
|
365
370
|
|
|
366
|
-
createCfnOutput(`${id}Arn`, scope, role.roleArn)
|
|
367
|
-
createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
371
|
+
utils.createCfnOutput(`${id}Arn`, scope, role.roleArn)
|
|
372
|
+
utils.createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
368
373
|
|
|
369
374
|
return role
|
|
370
375
|
}
|
|
@@ -372,12 +377,18 @@ export class IamManager {
|
|
|
372
377
|
/**
|
|
373
378
|
* @summary Method to create iam statement for lambda execution
|
|
374
379
|
* @param {string} id scoped id of the resource
|
|
375
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
380
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
376
381
|
* @param {iam.PolicyDocument} policy
|
|
382
|
+
* @param {iam.ServicePrincipal} servicePrinicpal
|
|
377
383
|
*/
|
|
378
|
-
public createRoleForLambda(
|
|
384
|
+
public createRoleForLambda(
|
|
385
|
+
id: string,
|
|
386
|
+
scope: common.CommonConstruct,
|
|
387
|
+
policy: iam.PolicyDocument,
|
|
388
|
+
servicePrinicpal?: iam.ServicePrincipal
|
|
389
|
+
) {
|
|
379
390
|
const role = new iam.Role(scope, `${id}`, {
|
|
380
|
-
assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
|
|
391
|
+
assumedBy: servicePrinicpal ?? new iam.ServicePrincipal('lambda.amazonaws.com'),
|
|
381
392
|
description: `Role for ${id} Lambda function`,
|
|
382
393
|
inlinePolicies: { policy },
|
|
383
394
|
managedPolicies: [
|
|
@@ -390,8 +401,8 @@ export class IamManager {
|
|
|
390
401
|
roleName: `${id}-${scope.props.stage}`,
|
|
391
402
|
})
|
|
392
403
|
|
|
393
|
-
createCfnOutput(`${id}Arn`, scope, role.roleArn)
|
|
394
|
-
createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
404
|
+
utils.createCfnOutput(`${id}Arn`, scope, role.roleArn)
|
|
405
|
+
utils.createCfnOutput(`${id}Name`, scope, role.roleName)
|
|
395
406
|
|
|
396
407
|
return role
|
|
397
408
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './acmManager'
|
|
2
|
+
export * from './apiManager'
|
|
3
|
+
export * from './appConfigManager'
|
|
4
|
+
export * from './cloudFrontManager'
|
|
5
|
+
export * from './cloudTrailManager'
|
|
6
|
+
export * from './cloudWatchManager'
|
|
7
|
+
export * from './codeBuildManager'
|
|
8
|
+
export * from './ecrManager'
|
|
9
|
+
export * from './ecsManager'
|
|
10
|
+
export * from './eksManager'
|
|
11
|
+
export * from './eventManager'
|
|
12
|
+
export * from './iamManager'
|
|
13
|
+
export * from './lambdaManager'
|
|
14
|
+
export * from './logManager'
|
|
15
|
+
export * from './route53Manager'
|
|
16
|
+
export * from './s3Manager'
|
|
17
|
+
export * from './secretsManager'
|
|
18
|
+
export * from './snsManager'
|
|
19
|
+
export * from './ssmManager'
|
|
20
|
+
export * from './vpcManager'
|
|
21
|
+
export * from './wafManager'
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
+
import * as pylambda from '@aws-cdk/aws-lambda-python-alpha'
|
|
1
2
|
import * as cdk from 'aws-cdk-lib'
|
|
2
3
|
import * as ec2 from 'aws-cdk-lib/aws-ec2'
|
|
3
4
|
import * as efs from 'aws-cdk-lib/aws-efs'
|
|
4
5
|
import * as iam from 'aws-cdk-lib/aws-iam'
|
|
5
6
|
import * as lambda from 'aws-cdk-lib/aws-lambda'
|
|
6
|
-
import * as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { createCfnOutput } from '../utils'
|
|
7
|
+
import * as common from '../../common'
|
|
8
|
+
import * as types from '../../types'
|
|
9
|
+
import * as utils from '../../utils'
|
|
10
10
|
import { CloudFrontManager } from './cloudFrontManager'
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* @stability stable
|
|
14
14
|
* @category Compute
|
|
15
15
|
* @summary Provides operations on AWS Lambda.
|
|
16
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
17
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
16
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
17
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
18
18
|
* @example
|
|
19
19
|
* import * as common from '@gradientedge/cdk-utils'
|
|
20
20
|
*
|
|
21
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
21
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
22
22
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
23
23
|
* super(parent, id, props)
|
|
24
24
|
* this.props = props
|
|
@@ -32,10 +32,10 @@ export class LambdaManager {
|
|
|
32
32
|
/**
|
|
33
33
|
* @summary Method to create a lambda layer (nodejs)
|
|
34
34
|
* @param {string} id scoped id of the resource
|
|
35
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
35
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
36
36
|
* @param {lambda.AssetCode} code
|
|
37
37
|
*/
|
|
38
|
-
public createLambdaLayer(id: string, scope: CommonConstruct, code: lambda.AssetCode) {
|
|
38
|
+
public createLambdaLayer(id: string, scope: common.CommonConstruct, code: lambda.AssetCode) {
|
|
39
39
|
const lambdaLayer = new lambda.LayerVersion(scope, `${id}`, {
|
|
40
40
|
compatibleRuntimes: [lambda.Runtime.NODEJS_14_X],
|
|
41
41
|
code: code,
|
|
@@ -43,7 +43,7 @@ export class LambdaManager {
|
|
|
43
43
|
layerVersionName: `${id}-${scope.props.stage}`,
|
|
44
44
|
})
|
|
45
45
|
|
|
46
|
-
createCfnOutput(`${id}-lambdaLayerArn`, scope, lambdaLayer.layerVersionArn)
|
|
46
|
+
utils.createCfnOutput(`${id}-lambdaLayerArn`, scope, lambdaLayer.layerVersionArn)
|
|
47
47
|
|
|
48
48
|
return lambdaLayer
|
|
49
49
|
}
|
|
@@ -51,10 +51,10 @@ export class LambdaManager {
|
|
|
51
51
|
/**
|
|
52
52
|
* @summary Method to create a lambda layer (python)
|
|
53
53
|
* @param {string} id scoped id of the resource
|
|
54
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
54
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
55
55
|
* @param {string} entry path to layer source
|
|
56
56
|
*/
|
|
57
|
-
public createPythonLambdaLayer(id: string, scope: CommonConstruct, entry: string) {
|
|
57
|
+
public createPythonLambdaLayer(id: string, scope: common.CommonConstruct, entry: string) {
|
|
58
58
|
const lambdaLayer = new pylambda.PythonLayerVersion(scope, `${id}`, {
|
|
59
59
|
compatibleRuntimes: [lambda.Runtime.PYTHON_3_8],
|
|
60
60
|
description: `${id}`,
|
|
@@ -62,7 +62,7 @@ export class LambdaManager {
|
|
|
62
62
|
layerVersionName: `${id}-${scope.props.stage}`,
|
|
63
63
|
})
|
|
64
64
|
|
|
65
|
-
createCfnOutput(`${id}-lambdaLayerArn`, scope, lambdaLayer.layerVersionArn)
|
|
65
|
+
utils.createCfnOutput(`${id}-lambdaLayerArn`, scope, lambdaLayer.layerVersionArn)
|
|
66
66
|
|
|
67
67
|
return lambdaLayer
|
|
68
68
|
}
|
|
@@ -70,8 +70,8 @@ export class LambdaManager {
|
|
|
70
70
|
/**
|
|
71
71
|
* @summary Method to create a lambda function (nodejs)
|
|
72
72
|
* @param {string} id scoped id of the resource
|
|
73
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
74
|
-
* @param {LambdaProps} props
|
|
73
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
74
|
+
* @param {types.LambdaProps} props
|
|
75
75
|
* @param {iam.Role | iam.CfnRole} role
|
|
76
76
|
* @param {lambda.ILayerVersion[]} layers
|
|
77
77
|
* @param {lambda.AssetCode} code
|
|
@@ -84,8 +84,8 @@ export class LambdaManager {
|
|
|
84
84
|
*/
|
|
85
85
|
public createLambdaFunction(
|
|
86
86
|
id: string,
|
|
87
|
-
scope: CommonConstruct,
|
|
88
|
-
props: LambdaProps,
|
|
87
|
+
scope: common.CommonConstruct,
|
|
88
|
+
props: types.LambdaProps,
|
|
89
89
|
role: iam.Role | iam.CfnRole,
|
|
90
90
|
layers: lambda.ILayerVersion[],
|
|
91
91
|
code: lambda.AssetCode,
|
|
@@ -120,8 +120,8 @@ export class LambdaManager {
|
|
|
120
120
|
vpc: vpc,
|
|
121
121
|
})
|
|
122
122
|
|
|
123
|
-
createCfnOutput(`${id}-lambdaArn`, scope, lambdaFunction.functionArn)
|
|
124
|
-
createCfnOutput(`${id}-lambdaName`, scope, lambdaFunction.functionName)
|
|
123
|
+
utils.createCfnOutput(`${id}-lambdaArn`, scope, lambdaFunction.functionArn)
|
|
124
|
+
utils.createCfnOutput(`${id}-lambdaName`, scope, lambdaFunction.functionName)
|
|
125
125
|
|
|
126
126
|
return lambdaFunction
|
|
127
127
|
}
|
|
@@ -129,8 +129,8 @@ export class LambdaManager {
|
|
|
129
129
|
/**
|
|
130
130
|
* @summary Method to create a lambda function (python)
|
|
131
131
|
* @param {string} id scoped id of the resource
|
|
132
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
133
|
-
* @param {LambdaProps} props
|
|
132
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
133
|
+
* @param {types.LambdaProps} props
|
|
134
134
|
* @param {iam.Role | iam.CfnRole} role
|
|
135
135
|
* @param {lambda.ILayerVersion[]} layers
|
|
136
136
|
* @param {string} entry path to lambda source
|
|
@@ -145,8 +145,8 @@ export class LambdaManager {
|
|
|
145
145
|
|
|
146
146
|
public createPythonLambdaFunction(
|
|
147
147
|
id: string,
|
|
148
|
-
scope: CommonConstruct,
|
|
149
|
-
props: LambdaProps,
|
|
148
|
+
scope: common.CommonConstruct,
|
|
149
|
+
props: types.LambdaProps,
|
|
150
150
|
role: iam.Role | iam.CfnRole,
|
|
151
151
|
layers: lambda.ILayerVersion[],
|
|
152
152
|
entry: string,
|
|
@@ -183,8 +183,8 @@ export class LambdaManager {
|
|
|
183
183
|
vpc: vpc,
|
|
184
184
|
})
|
|
185
185
|
|
|
186
|
-
createCfnOutput(`${id}-lambdaArn`, scope, lambdaFunction.functionArn)
|
|
187
|
-
createCfnOutput(`${id}-lambdaName`, scope, lambdaFunction.functionName)
|
|
186
|
+
utils.createCfnOutput(`${id}-lambdaArn`, scope, lambdaFunction.functionArn)
|
|
187
|
+
utils.createCfnOutput(`${id}-lambdaName`, scope, lambdaFunction.functionName)
|
|
188
188
|
|
|
189
189
|
return lambdaFunction
|
|
190
190
|
}
|
|
@@ -193,8 +193,8 @@ export class LambdaManager {
|
|
|
193
193
|
* @summary Method to provision a Lambda@Edge function
|
|
194
194
|
*
|
|
195
195
|
* @param {string} id scoped id of the resource
|
|
196
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
197
|
-
* @param {LambdaEdgeProps} props lambda@edge properties
|
|
196
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
197
|
+
* @param {types.LambdaEdgeProps} props lambda@edge properties
|
|
198
198
|
* @param {lambda.ILayerVersion[]} layers
|
|
199
199
|
* @param {lambda.AssetCode} code
|
|
200
200
|
* @param {Map<string, string>} environment
|
|
@@ -205,8 +205,8 @@ export class LambdaManager {
|
|
|
205
205
|
*/
|
|
206
206
|
public createEdgeFunction(
|
|
207
207
|
id: string,
|
|
208
|
-
scope: CommonConstruct,
|
|
209
|
-
props: LambdaEdgeProps,
|
|
208
|
+
scope: common.CommonConstruct,
|
|
209
|
+
props: types.LambdaEdgeProps,
|
|
210
210
|
layers: lambda.ILayerVersion[],
|
|
211
211
|
code: lambda.AssetCode,
|
|
212
212
|
environment?: any,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import * as cdk from 'aws-cdk-lib'
|
|
2
2
|
import * as logs from 'aws-cdk-lib/aws-logs'
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import * as common from '../../common'
|
|
4
|
+
import * as types from '../../types'
|
|
5
|
+
import * as utils from '../../utils'
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @stability stable
|
|
9
9
|
* @category Management & Governance
|
|
10
10
|
* @summary Provides operations on AWS CloudWatch.
|
|
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
|
|
@@ -27,11 +27,16 @@ export class LogManager {
|
|
|
27
27
|
/**
|
|
28
28
|
* @summary Method to create a cloudwatch metric filter
|
|
29
29
|
* @param {string} id scoped id of the resource
|
|
30
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
31
|
-
* @param {MetricFilterProps} props
|
|
30
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
31
|
+
* @param {types.MetricFilterProps} props
|
|
32
32
|
* @param {logs.ILogGroup} logGroup
|
|
33
33
|
*/
|
|
34
|
-
public createMetricFilter(
|
|
34
|
+
public createMetricFilter(
|
|
35
|
+
id: string,
|
|
36
|
+
scope: common.CommonConstruct,
|
|
37
|
+
props: types.MetricFilterProps,
|
|
38
|
+
logGroup: logs.ILogGroup
|
|
39
|
+
) {
|
|
35
40
|
if (!props) throw `MetricFilter props undefined`
|
|
36
41
|
|
|
37
42
|
const metricFilter = new logs.MetricFilter(scope, `${id}`, {
|
|
@@ -57,10 +62,10 @@ export class LogManager {
|
|
|
57
62
|
/**
|
|
58
63
|
* @summary Method to create a cloudwatch log group (cfn)
|
|
59
64
|
* @param {string} id scoped id of the resource
|
|
60
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
61
|
-
* @param {LogProps} props
|
|
65
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
66
|
+
* @param {types.LogProps} props
|
|
62
67
|
*/
|
|
63
|
-
public createCfnLogGroup(id: string, scope: CommonConstruct, props: LogProps) {
|
|
68
|
+
public createCfnLogGroup(id: string, scope: common.CommonConstruct, props: types.LogProps) {
|
|
64
69
|
if (!props) throw `Logs props undefined`
|
|
65
70
|
|
|
66
71
|
const logGroup = new logs.CfnLogGroup(scope, `${id}`, {
|
|
@@ -68,7 +73,7 @@ export class LogManager {
|
|
|
68
73
|
retentionInDays: props.retention,
|
|
69
74
|
})
|
|
70
75
|
|
|
71
|
-
createCfnOutput(`${id}-logGroupArn`, scope, logGroup.attrArn)
|
|
76
|
+
utils.createCfnOutput(`${id}-logGroupArn`, scope, logGroup.attrArn)
|
|
72
77
|
|
|
73
78
|
return logGroup
|
|
74
79
|
}
|
|
@@ -76,10 +81,10 @@ export class LogManager {
|
|
|
76
81
|
/**
|
|
77
82
|
* @summary Method to create a cloudwatch log group
|
|
78
83
|
* @param {string} id scoped id of the resource
|
|
79
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
80
|
-
* @param {LogProps} props
|
|
84
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
85
|
+
* @param {types.LogProps} props
|
|
81
86
|
*/
|
|
82
|
-
public createLogGroup(id: string, scope: CommonConstruct, props: LogProps) {
|
|
87
|
+
public createLogGroup(id: string, scope: common.CommonConstruct, props: types.LogProps) {
|
|
83
88
|
if (!props) throw `Logs props undefined`
|
|
84
89
|
|
|
85
90
|
const logGroup = new logs.LogGroup(scope, `${id}`, {
|
|
@@ -88,7 +93,7 @@ export class LogManager {
|
|
|
88
93
|
removalPolicy: props.removalPolicy ?? cdk.RemovalPolicy.DESTROY,
|
|
89
94
|
})
|
|
90
95
|
|
|
91
|
-
createCfnOutput(`${id}-logGroupArn`, scope, logGroup.logGroupArn)
|
|
96
|
+
utils.createCfnOutput(`${id}-logGroupArn`, scope, logGroup.logGroupArn)
|
|
92
97
|
|
|
93
98
|
return logGroup
|
|
94
99
|
}
|