@gradientedge/cdk-utils 4.1.1 → 4.2.2
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 +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} +13 -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 +27 -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} +17 -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
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
import * as lambda from 'aws-cdk-lib/aws-lambda'
|
|
2
2
|
import * as sns from 'aws-cdk-lib/aws-sns'
|
|
3
3
|
import * as subs from 'aws-cdk-lib/aws-sns-subscriptions'
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
4
|
+
import * as common from '../../common'
|
|
5
|
+
import * as types from '../../types'
|
|
6
|
+
import * as utils from '../../utils'
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @stability stable
|
|
10
10
|
* @category Application Integration
|
|
11
11
|
* @summary Provides operations on AWS Simple Notification Service.
|
|
12
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
13
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
12
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
13
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
14
14
|
* @example
|
|
15
15
|
* import * as common from '@gradientedge/cdk-utils'
|
|
16
16
|
*
|
|
17
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
17
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
18
18
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
19
19
|
* super(parent, id, props)
|
|
20
20
|
* this.props = props
|
|
21
21
|
* this.snsManager.createEmailNotificationService('MySns', 'eu-west-1', ['test@example.com'])
|
|
22
|
+
* }
|
|
22
23
|
* }
|
|
23
24
|
*
|
|
24
|
-
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
25
|
+
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns-readme.html}
|
|
25
26
|
*/
|
|
26
27
|
export class SnsManager {
|
|
27
28
|
/**
|
|
28
29
|
* @summary Method to create an email notification service
|
|
29
30
|
* @param {string} id scoped id of the resource
|
|
30
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
31
|
-
* @param {SubscriptionProps} props
|
|
31
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
32
|
+
* @param {types.SubscriptionProps} props
|
|
32
33
|
* @param {string[]} emails
|
|
33
34
|
*/
|
|
34
35
|
public createEmailNotificationService(
|
|
35
36
|
id: string,
|
|
36
|
-
scope: CommonConstruct,
|
|
37
|
-
props: SubscriptionProps,
|
|
37
|
+
scope: common.CommonConstruct,
|
|
38
|
+
props: types.SubscriptionProps,
|
|
38
39
|
emails: string[]
|
|
39
40
|
) {
|
|
40
41
|
if (!props) throw `Subscription props undefined`
|
|
@@ -49,8 +50,8 @@ export class SnsManager {
|
|
|
49
50
|
emails.forEach((email: string) => topic.addSubscription(new subs.EmailSubscription(email)))
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
createCfnOutput(`${id}-subscriptionArn`, scope, topic.topicArn)
|
|
53
|
-
createCfnOutput(`${id}-subscriptionName`, scope, topic.topicName)
|
|
53
|
+
utils.createCfnOutput(`${id}-subscriptionArn`, scope, topic.topicArn)
|
|
54
|
+
utils.createCfnOutput(`${id}-subscriptionName`, scope, topic.topicName)
|
|
54
55
|
|
|
55
56
|
return topic
|
|
56
57
|
}
|
|
@@ -58,14 +59,14 @@ export class SnsManager {
|
|
|
58
59
|
/**
|
|
59
60
|
* @summary Method to create a lambda notification service
|
|
60
61
|
* @param {string} id scoped id of the resource
|
|
61
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
62
|
-
* @param {SubscriptionProps} props
|
|
62
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
63
|
+
* @param {types.SubscriptionProps} props
|
|
63
64
|
* @param {lambda.Function} lambdaFunction
|
|
64
65
|
*/
|
|
65
66
|
public createLambdaNotificationService(
|
|
66
67
|
id: string,
|
|
67
|
-
scope: CommonConstruct,
|
|
68
|
-
props: SubscriptionProps,
|
|
68
|
+
scope: common.CommonConstruct,
|
|
69
|
+
props: types.SubscriptionProps,
|
|
69
70
|
lambdaFunction: lambda.Function
|
|
70
71
|
) {
|
|
71
72
|
if (!props) throw `Subscription props undefined`
|
|
@@ -78,8 +79,8 @@ export class SnsManager {
|
|
|
78
79
|
|
|
79
80
|
topic.addSubscription(new subs.LambdaSubscription(lambdaFunction))
|
|
80
81
|
|
|
81
|
-
createCfnOutput(`${id}-subscriptionArn`, scope, topic.topicArn)
|
|
82
|
-
createCfnOutput(`${id}-subscriptionName`, scope, topic.topicName)
|
|
82
|
+
utils.createCfnOutput(`${id}-subscriptionArn`, scope, topic.topicArn)
|
|
83
|
+
utils.createCfnOutput(`${id}-subscriptionName`, scope, topic.topicName)
|
|
83
84
|
|
|
84
85
|
return topic
|
|
85
86
|
}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
|
-
import { CommonConstruct } from '../common/commonConstruct'
|
|
2
1
|
import * as ssm from 'aws-cdk-lib/aws-ssm'
|
|
3
|
-
import { createCfnOutput } from '../utils'
|
|
4
2
|
import * as cr from 'aws-cdk-lib/custom-resources'
|
|
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 Systems Manager.
|
|
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
|
-
* import { CommonConstruct } from '@gradientedge/cdk-utils'
|
|
14
|
+
* import { common.CommonConstruct } from '@gradientedge/cdk-utils'
|
|
15
15
|
*
|
|
16
|
-
* class CustomConstruct extends CommonConstruct {
|
|
16
|
+
* class CustomConstruct extends 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.acmManager.writeStringToParameters('MyParameter', this, ...props)
|
|
21
|
+
* }
|
|
21
22
|
* }
|
|
22
23
|
*
|
|
23
|
-
* @see [CDK Systems Manager Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
24
|
+
* @see [CDK Systems Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm-readme.html}
|
|
24
25
|
*/
|
|
25
26
|
export class SsmManager {
|
|
26
27
|
/**
|
|
27
28
|
* Method to write a string parameter to the parameters store
|
|
28
29
|
* @param {string} id scoped id of the resource
|
|
29
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
30
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
30
31
|
* @param {ssm.StringParameterProps} props parameter props
|
|
31
32
|
*/
|
|
32
|
-
public writeStringToParameters(id: string, scope: CommonConstruct, props: ssm.StringParameterProps) {
|
|
33
|
+
public writeStringToParameters(id: string, scope: common.CommonConstruct, props: ssm.StringParameterProps) {
|
|
33
34
|
if (!props) throw `Parameter props undefined`
|
|
34
35
|
|
|
35
36
|
const parameter = new ssm.StringParameter(scope, `${id}`, {
|
|
@@ -38,8 +39,8 @@ export class SsmManager {
|
|
|
38
39
|
stringValue: props.stringValue,
|
|
39
40
|
})
|
|
40
41
|
|
|
41
|
-
createCfnOutput(`${id}-parameterArn`, scope, parameter.parameterArn)
|
|
42
|
-
createCfnOutput(`${id}-parameterName`, scope, parameter.parameterName)
|
|
42
|
+
utils.createCfnOutput(`${id}-parameterArn`, scope, parameter.parameterArn)
|
|
43
|
+
utils.createCfnOutput(`${id}-parameterName`, scope, parameter.parameterName)
|
|
43
44
|
|
|
44
45
|
return parameter
|
|
45
46
|
}
|
|
@@ -47,10 +48,10 @@ export class SsmManager {
|
|
|
47
48
|
/**
|
|
48
49
|
* Method to read a string parameter from the parameters store
|
|
49
50
|
* @param {string} id scoped id of the resource
|
|
50
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
51
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
51
52
|
* @param {string} parameterName parameter name to lookup
|
|
52
53
|
*/
|
|
53
|
-
public readStringParameter(id: string, scope: CommonConstruct, parameterName: string) {
|
|
54
|
+
public readStringParameter(id: string, scope: common.CommonConstruct, parameterName: string) {
|
|
54
55
|
if (!parameterName || parameterName == '') throw 'Invalid parameter name'
|
|
55
56
|
|
|
56
57
|
return ssm.StringParameter.fromStringParameterName(scope, `${id}`, parameterName).stringValue
|
|
@@ -59,11 +60,16 @@ export class SsmManager {
|
|
|
59
60
|
/**
|
|
60
61
|
* Method to read a string parameter from the parameters store in a given region
|
|
61
62
|
* @param {string} id scoped id of the resource
|
|
62
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
63
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
63
64
|
* @param {string} parameterName parameter name to lookup
|
|
64
65
|
* @param {string} region region name to lookup parameter
|
|
65
66
|
*/
|
|
66
|
-
public readStringParameterFromRegion(
|
|
67
|
+
public readStringParameterFromRegion(
|
|
68
|
+
id: string,
|
|
69
|
+
scope: common.CommonConstruct,
|
|
70
|
+
parameterName: string,
|
|
71
|
+
region: string
|
|
72
|
+
) {
|
|
67
73
|
if (!parameterName || parameterName == '') throw 'Invalid parameter name'
|
|
68
74
|
if (!region || region == '') throw 'Invalid region'
|
|
69
75
|
|
|
@@ -80,11 +86,11 @@ export class SsmManager {
|
|
|
80
86
|
export class SSMParameterReader extends cr.AwsCustomResource {
|
|
81
87
|
/**
|
|
82
88
|
*
|
|
83
|
-
* @param scope
|
|
84
|
-
* @param name
|
|
85
|
-
* @param props
|
|
89
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
90
|
+
* @param {string} name parameter name
|
|
91
|
+
* @param {types.SSMParameterReaderProps} props
|
|
86
92
|
*/
|
|
87
|
-
constructor(scope: CommonConstruct, name: string, props: SSMParameterReaderProps) {
|
|
93
|
+
constructor(scope: common.CommonConstruct, name: string, props: types.SSMParameterReaderProps) {
|
|
88
94
|
const { parameterName, region } = props
|
|
89
95
|
|
|
90
96
|
const ssmAwsSdkCall: cr.AwsSdkCall = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as cdk from 'aws-cdk-lib'
|
|
2
2
|
import * as ec2 from 'aws-cdk-lib/aws-ec2'
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import * as common from '../../common'
|
|
4
|
+
import * as utils from '../../utils'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @stability stable
|
|
@@ -12,58 +12,59 @@ const CommonVpcIdentifier = 'CommonVpc'
|
|
|
12
12
|
/**
|
|
13
13
|
* @category Networking & Content Delivery
|
|
14
14
|
* @summary Provides operations on AWS VPC.
|
|
15
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
16
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
15
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
16
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
17
17
|
* @example
|
|
18
18
|
* import * as common from '@gradientedge/cdk-utils'
|
|
19
19
|
*
|
|
20
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
20
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
21
21
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
22
22
|
* super(parent, id, props)
|
|
23
23
|
* this.props = props
|
|
24
24
|
* this.vpcManager.createVpc('MyVPC', this)
|
|
25
|
+
* }
|
|
25
26
|
* }
|
|
26
27
|
*
|
|
27
|
-
* @see [CDK VPC Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
28
|
+
* @see [CDK VPC Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.@aws-cdk_aws-ec2.Vpc.html}
|
|
28
29
|
*/
|
|
29
30
|
export class VpcManager {
|
|
30
31
|
/**
|
|
31
32
|
* @summary Method to create a new vpc
|
|
32
33
|
* @param {string} id scoped id of the resource
|
|
33
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
34
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
34
35
|
* @param {ec2.VpcProps} props
|
|
35
36
|
*/
|
|
36
|
-
public createVpc(id: string, scope: CommonConstruct, props: ec2.VpcProps) {
|
|
37
|
+
public createVpc(id: string, scope: common.CommonConstruct, props: ec2.VpcProps) {
|
|
37
38
|
if (!props) throw 'Vpc props undefined'
|
|
38
39
|
const vpc = new ec2.Vpc(scope, `${id}`, {
|
|
39
40
|
maxAzs: props.maxAzs,
|
|
40
41
|
})
|
|
41
42
|
|
|
42
|
-
createCfnOutput(`${id}Id`, scope, vpc.vpcId)
|
|
43
|
-
createCfnOutput(`${id}PublicSubnetIds`, scope, vpc.publicSubnets.map(subnet => subnet.subnetId).toString())
|
|
44
|
-
createCfnOutput(`${id}PrivateSubnetIds`, scope, vpc.privateSubnets.map(subnet => subnet.subnetId).toString())
|
|
45
|
-
createCfnOutput(
|
|
43
|
+
utils.createCfnOutput(`${id}Id`, scope, vpc.vpcId)
|
|
44
|
+
utils.createCfnOutput(`${id}PublicSubnetIds`, scope, vpc.publicSubnets.map(subnet => subnet.subnetId).toString())
|
|
45
|
+
utils.createCfnOutput(`${id}PrivateSubnetIds`, scope, vpc.privateSubnets.map(subnet => subnet.subnetId).toString())
|
|
46
|
+
utils.createCfnOutput(
|
|
46
47
|
`${id}PublicSubnetRouteTableIds`,
|
|
47
48
|
scope,
|
|
48
49
|
vpc.publicSubnets.map(subnet => subnet.routeTable.routeTableId).toString()
|
|
49
50
|
)
|
|
50
|
-
createCfnOutput(
|
|
51
|
+
utils.createCfnOutput(
|
|
51
52
|
`${id}PrivateSubnetRouteTableIds`,
|
|
52
53
|
scope,
|
|
53
54
|
vpc.privateSubnets.map(subnet => subnet.routeTable.routeTableId).toString()
|
|
54
55
|
)
|
|
55
|
-
createCfnOutput(`${id}AvailabilityZones`, scope, vpc.availabilityZones.toString())
|
|
56
|
+
utils.createCfnOutput(`${id}AvailabilityZones`, scope, vpc.availabilityZones.toString())
|
|
56
57
|
|
|
57
58
|
return vpc
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
/**
|
|
61
62
|
* @summary Method to create a common vpc
|
|
62
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
63
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
63
64
|
* @param {ec2.VpcProps} props
|
|
64
65
|
* @param {string?} vpcIdentifier optional identifier for VPC
|
|
65
66
|
*/
|
|
66
|
-
public createCommonVpc(scope: CommonConstruct, props: ec2.VpcProps, vpcIdentifier?: string) {
|
|
67
|
+
public createCommonVpc(scope: common.CommonConstruct, props: ec2.VpcProps, vpcIdentifier?: string) {
|
|
67
68
|
const vpc = this.createVpc(CommonVpcIdentifier, scope, props)
|
|
68
69
|
cdk.Tags.of(vpc).add('Name', vpcIdentifier ?? CommonVpcIdentifier)
|
|
69
70
|
|
|
@@ -73,9 +74,9 @@ export class VpcManager {
|
|
|
73
74
|
/**
|
|
74
75
|
* @summary Method to retrieve a common vpc
|
|
75
76
|
* @param {string} id scoped id of the resource
|
|
76
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
77
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
77
78
|
*/
|
|
78
|
-
public retrieveCommonVpc(id: string, scope: CommonConstruct) {
|
|
79
|
+
public retrieveCommonVpc(id: string, scope: common.CommonConstruct) {
|
|
79
80
|
return ec2.Vpc.fromLookup(scope, `${id}`, { vpcName: CommonVpcIdentifier })
|
|
80
81
|
}
|
|
81
82
|
}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
import * as wafv2 from 'aws-cdk-lib/aws-wafv2'
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import * as common from '../../common'
|
|
3
|
+
import * as types from '../../types'
|
|
4
|
+
import * as utils from '../../utils'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @stability stable
|
|
8
8
|
* @category Security, Identity & Compliance
|
|
9
9
|
* @summary Provides operations on AWS WAF.
|
|
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.wafManager.createWebAcl('MyWebAcl', this)
|
|
20
|
+
* }
|
|
20
21
|
* }
|
|
21
22
|
*
|
|
22
|
-
* @see [CDK WAF Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
23
|
+
* @see [CDK WAF Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_waf-readme.html}
|
|
23
24
|
*/
|
|
24
25
|
export class WafManager {
|
|
25
26
|
/**
|
|
26
27
|
* @summary Method to create an ip set
|
|
27
28
|
* @param {string} id scoped id of the resource
|
|
28
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
29
|
-
* @param {WafIPSetProps} props
|
|
29
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
30
|
+
* @param {types.WafIPSetProps} props
|
|
30
31
|
*/
|
|
31
|
-
public createIpSet(id: string, scope: CommonConstruct, props: WafIPSetProps) {
|
|
32
|
+
public createIpSet(id: string, scope: common.CommonConstruct, props: types.WafIPSetProps) {
|
|
32
33
|
if (!props) throw `WAF Ip Set props undefined`
|
|
33
34
|
|
|
34
35
|
const ipSet = new wafv2.CfnIPSet(scope, `${id}`, {
|
|
@@ -39,8 +40,8 @@ export class WafManager {
|
|
|
39
40
|
scope: props.scope,
|
|
40
41
|
})
|
|
41
42
|
|
|
42
|
-
createCfnOutput(`${id}-ipSetId`, scope, ipSet.attrId)
|
|
43
|
-
createCfnOutput(`${id}-ipSetArn`, scope, ipSet.attrArn)
|
|
43
|
+
utils.createCfnOutput(`${id}-ipSetId`, scope, ipSet.attrId)
|
|
44
|
+
utils.createCfnOutput(`${id}-ipSetArn`, scope, ipSet.attrArn)
|
|
44
45
|
|
|
45
46
|
return ipSet
|
|
46
47
|
}
|
|
@@ -48,10 +49,10 @@ export class WafManager {
|
|
|
48
49
|
/**
|
|
49
50
|
* @summary Method to create a web acl
|
|
50
51
|
* @param {string} id scoped id of the resource
|
|
51
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
52
|
-
* @param {WafWebACLProps} props
|
|
52
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
53
|
+
* @param {types.WafWebACLProps} props
|
|
53
54
|
*/
|
|
54
|
-
public createWebAcl(id: string, scope: CommonConstruct, props: WafWebACLProps) {
|
|
55
|
+
public createWebAcl(id: string, scope: common.CommonConstruct, props: types.WafWebACLProps) {
|
|
55
56
|
if (!props) throw `WAF WebACL props undefined`
|
|
56
57
|
|
|
57
58
|
const webAcl = new wafv2.CfnWebACL(scope, `${id}`, {
|
|
@@ -64,8 +65,8 @@ export class WafManager {
|
|
|
64
65
|
tags: [{ key: 'service', value: scope.props.name }],
|
|
65
66
|
})
|
|
66
67
|
|
|
67
|
-
createCfnOutput(`${id}-webAclId`, scope, webAcl.attrId)
|
|
68
|
-
createCfnOutput(`${id}-webAclArn`, scope, webAcl.attrArn)
|
|
68
|
+
utils.createCfnOutput(`${id}-webAclId`, scope, webAcl.attrId)
|
|
69
|
+
utils.createCfnOutput(`${id}-webAclArn`, scope, webAcl.attrArn)
|
|
69
70
|
|
|
70
71
|
return webAcl
|
|
71
72
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './aws'
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as cdk from 'aws-cdk-lib'
|
|
2
|
+
import * as apig from 'aws-cdk-lib/aws-apigateway'
|
|
2
3
|
import * as appconfig from 'aws-cdk-lib/aws-appconfig'
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
6
|
-
import * as logs from 'aws-cdk-lib/aws-logs'
|
|
4
|
+
import * as acm from 'aws-cdk-lib/aws-certificatemanager'
|
|
5
|
+
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront'
|
|
6
|
+
import * as cloudtrail from 'aws-cdk-lib/aws-cloudtrail'
|
|
7
7
|
import * as watch from 'aws-cdk-lib/aws-cloudwatch'
|
|
8
|
-
import * as lambda from 'aws-cdk-lib/aws-lambda'
|
|
9
|
-
import * as ecsPatterns from 'aws-cdk-lib/aws-ecs-patterns'
|
|
10
|
-
import * as events from 'aws-cdk-lib/aws-events'
|
|
11
|
-
import * as eks from 'aws-cdk-lib/aws-eks'
|
|
12
8
|
import * as ec2 from 'aws-cdk-lib/aws-ec2'
|
|
13
9
|
import * as ecs from 'aws-cdk-lib/aws-ecs'
|
|
14
|
-
import * as
|
|
15
|
-
import * as
|
|
16
|
-
import * as acm from 'aws-cdk-lib/aws-certificatemanager'
|
|
17
|
-
import * as cdk from 'aws-cdk-lib'
|
|
18
|
-
import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment'
|
|
19
|
-
import * as apig from 'aws-cdk-lib/aws-apigateway'
|
|
10
|
+
import * as ecsPatterns from 'aws-cdk-lib/aws-ecs-patterns'
|
|
11
|
+
import * as eks from 'aws-cdk-lib/aws-eks'
|
|
20
12
|
import * as elb from 'aws-cdk-lib/aws-elasticloadbalancingv2'
|
|
13
|
+
import * as events from 'aws-cdk-lib/aws-events'
|
|
14
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda'
|
|
15
|
+
import * as logs from 'aws-cdk-lib/aws-logs'
|
|
16
|
+
import * as route53 from 'aws-cdk-lib/aws-route53'
|
|
17
|
+
import * as s3 from 'aws-cdk-lib/aws-s3'
|
|
18
|
+
import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment'
|
|
19
|
+
import * as sns from 'aws-cdk-lib/aws-sns'
|
|
20
|
+
import * as wafv2 from 'aws-cdk-lib/aws-wafv2'
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* @category Management & Governance
|
|
@@ -50,6 +50,8 @@ export interface SiteWithEcsBackendProps extends CommonStackProps {
|
|
|
50
50
|
siteCertificate: AcmProps
|
|
51
51
|
siteCluster: EcsClusterProps
|
|
52
52
|
siteDistribution: DistributionProps
|
|
53
|
+
siteCloudfrontFunctionProps?: CloudfrontFunctionProps
|
|
54
|
+
siteFunctionFilePath?: string
|
|
53
55
|
siteEcsContainerImagePath: string
|
|
54
56
|
siteLog: LogProps
|
|
55
57
|
siteLogBucket: S3BucketProps
|
|
@@ -69,6 +71,8 @@ export interface StaticSiteProps extends CommonStackProps {
|
|
|
69
71
|
siteBucket: S3BucketProps
|
|
70
72
|
siteLogBucket: S3BucketProps
|
|
71
73
|
siteDistribution?: DistributionProps
|
|
74
|
+
siteCloudfrontFunctionProps?: CloudfrontFunctionProps
|
|
75
|
+
siteFunctionFilePath?: string
|
|
72
76
|
siteSource: s3deploy.ISource
|
|
73
77
|
siteHostedZoneDomainName?: string
|
|
74
78
|
siteRecordName?: string
|
|
@@ -131,6 +135,14 @@ export interface SSMParameterReaderProps {
|
|
|
131
135
|
*/
|
|
132
136
|
export interface CloudFrontProps extends cloudfront.CloudFrontWebDistributionProps {}
|
|
133
137
|
|
|
138
|
+
/**
|
|
139
|
+
* @category Networking & Content Delivery
|
|
140
|
+
*/
|
|
141
|
+
export interface CloudfrontFunctionProps extends cloudfront.FunctionProps {
|
|
142
|
+
functionFilePath: string
|
|
143
|
+
eventType: string
|
|
144
|
+
}
|
|
145
|
+
|
|
134
146
|
/**
|
|
135
147
|
* @category Networking & Content Delivery
|
|
136
148
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './aws'
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib'
|
|
2
|
+
import * as _ from 'lodash'
|
|
3
|
+
import { CommonConstruct } from '../../common/commonConstruct'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @category Utils
|
|
7
|
+
* @summary Helper method to add CloudFormation outputs from the construct
|
|
8
|
+
* @param {string} id scoped id of the resource
|
|
9
|
+
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
10
|
+
* @param {string} id scoped id of the resource
|
|
11
|
+
* @param {string} value the value of the exported output
|
|
12
|
+
* @param {string?} description optional description for the output
|
|
13
|
+
* @param {boolean} overrideId Flag which indicates whether to override the default logical id of the output
|
|
14
|
+
*
|
|
15
|
+
* @return {cdk.CfnOutput} The CloudFormation output
|
|
16
|
+
*/
|
|
17
|
+
export function createCfnOutput(
|
|
18
|
+
id: string,
|
|
19
|
+
scope: CommonConstruct,
|
|
20
|
+
value?: string,
|
|
21
|
+
description?: string,
|
|
22
|
+
overrideId = true
|
|
23
|
+
): cdk.CfnOutput {
|
|
24
|
+
const camelName = _.camelCase(id)
|
|
25
|
+
const output = new cdk.CfnOutput(scope, id, {
|
|
26
|
+
exportName: `${scope.props.stackName}-${camelName}`,
|
|
27
|
+
value: value ?? '',
|
|
28
|
+
description,
|
|
29
|
+
})
|
|
30
|
+
if (overrideId) {
|
|
31
|
+
output.overrideLogicalId(camelName)
|
|
32
|
+
}
|
|
33
|
+
return output
|
|
34
|
+
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import * as _ from 'lodash'
|
|
3
|
-
import { CommonConstruct } from './common/commonConstruct'
|
|
1
|
+
export * from './aws'
|
|
4
2
|
|
|
5
3
|
/**
|
|
6
4
|
* @category Utils
|
|
@@ -26,17 +24,6 @@ export enum LogLevel {
|
|
|
26
24
|
CRITICAL = 'CRITICAL',
|
|
27
25
|
}
|
|
28
26
|
|
|
29
|
-
/**
|
|
30
|
-
* @category Utils
|
|
31
|
-
*/
|
|
32
|
-
export enum CloudWatchWidgetType {
|
|
33
|
-
Text = 'Text',
|
|
34
|
-
SingleValue = 'SingleValue',
|
|
35
|
-
Graph = 'Graph',
|
|
36
|
-
AlarmStatus = 'AlarmStatus',
|
|
37
|
-
LogQuery = 'LogQuery',
|
|
38
|
-
}
|
|
39
|
-
|
|
40
27
|
/**
|
|
41
28
|
* @category Utils
|
|
42
29
|
* @param stage
|
|
@@ -58,37 +45,6 @@ export const isUatStage = (stage: string) => stage === 'uat'
|
|
|
58
45
|
*/
|
|
59
46
|
export const isPrdStage = (stage: string) => stage === 'prd'
|
|
60
47
|
|
|
61
|
-
/**
|
|
62
|
-
* @category Utils
|
|
63
|
-
* @summary Helper method to add CloudFormation outputs from the construct
|
|
64
|
-
* @param {string} id scoped id of the resource
|
|
65
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
66
|
-
* @param {string} id scoped id of the resource
|
|
67
|
-
* @param {string} value the value of the exported output
|
|
68
|
-
* @param {string?} description optional description for the output
|
|
69
|
-
* @param {boolean} overrideId Flag which indicates whether to override the default logical id of the output
|
|
70
|
-
*
|
|
71
|
-
* @return {cdk.CfnOutput} The CloudFormation output
|
|
72
|
-
*/
|
|
73
|
-
export function createCfnOutput(
|
|
74
|
-
id: string,
|
|
75
|
-
scope: CommonConstruct,
|
|
76
|
-
value?: string,
|
|
77
|
-
description?: string,
|
|
78
|
-
overrideId = true
|
|
79
|
-
): cdk.CfnOutput {
|
|
80
|
-
const camelName = _.camelCase(id)
|
|
81
|
-
const output = new cdk.CfnOutput(scope, id, {
|
|
82
|
-
exportName: `${scope.props.stackName}-${camelName}`,
|
|
83
|
-
value: value ? value : '',
|
|
84
|
-
description,
|
|
85
|
-
})
|
|
86
|
-
if (overrideId) {
|
|
87
|
-
output.overrideLogicalId(camelName)
|
|
88
|
-
}
|
|
89
|
-
return output
|
|
90
|
-
}
|
|
91
|
-
|
|
92
48
|
/**
|
|
93
49
|
* @category Utils
|
|
94
50
|
* @param error
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acmManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/manager/acmManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAA;AACzD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;IACrB;;;;;;;;;;;;;;;;;;OAkBG;IACI,kBAAkB,CACvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,QAAQ,EACf,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,GAC/B,GAAG,CAAC,YAAY;CAyBpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acmManager.js","sourceRoot":"","sources":["../../../../src/lib/manager/acmManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAyD;AAEzD,iDAAkC;AAGlC,oCAA0C;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,UAAU;IACrB;;;;;;;;;;;;;;;;;;OAkBG;IACI,kBAAkB,CACvB,EAAU,EACV,KAAsB,EACtB,KAAe,EACf,UAAgC;QAEhC,IAAI,CAAC,KAAK;YAAE,MAAM,6BAA6B,CAAA;QAE/C,IAAI,WAAW,CAAA;QAEf,IAAI,KAAK,CAAC,sBAAsB,EAAE;YAChC,IAAI,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;YACzC,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;gBAC5G,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;gBACxG,cAAc,GAAG,eAAe,iBAAiB,IAAI,kBAAkB,gBAAgB,KAAK,CAAC,aAAa,EAAE,CAAA;aAC7G;YACD,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;SACjF;aAAM;YACL,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;gBAChD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;gBACtD,UAAU,EAAE,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC;aAC1D,CAAC,CAAA;SACH;QAED,IAAA,uBAAe,EAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;QAE1E,OAAO,WAAW,CAAA;IACpB,CAAC;CACF;AAlDD,gCAkDC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/manager/apiManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,KAAK,IAAI,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAA;AAGzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACI,mBAAmB,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,cAAc,EAAE,MAAM,CAAC,QAAQ;IA6CjC;;;;;;OAMG;IACI,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY;CAY7G"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiManager.js","sourceRoot":"","sources":["../../../../src/lib/manager/apiManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appConfigManager.d.ts","sourceRoot":"","sources":["../../../../src/lib/manager/appConfigManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGzC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAqBjD,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IAC3B;;;OAGG;IACI,2BAA2B,CAAC,KAAK,EAAE,eAAe;IAIzD;;;;;;OAMG;IACI,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC,cAAc;IAe7G;;;;;;;OAOG;IACI,iBAAiB,CACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,cAAc;IAiB3B;;;;;;;;OAQG;IACI,0BAA0B,CAC/B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,cAAc,GACpB,SAAS,CAAC,uBAAuB;CAkBrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appConfigManager.js","sourceRoot":"","sources":["../../../../src/lib/manager/appConfigManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAsD;AACtD,iDAAkC;AAGlC,oCAA0C;AAE1C;;;;GAIG;AACU,QAAA,YAAY,GAA8B;IACrD,WAAW,EAAE,wEAAwE;IACrF,WAAW,EAAE,wEAAwE;IACrF,WAAW,EAAE,wEAAwE;IACrF,WAAW,EAAE,wEAAwE;IACrF,cAAc,EAAE,2EAA2E;IAC3F,cAAc,EAAE,2EAA2E;IAC3F,WAAW,EAAE,wEAAwE;IACrF,WAAW,EAAE,wEAAwE;IACrF,WAAW,EAAE,wEAAwE;IACrF,YAAY,EAAE,yEAAyE;IACvF,WAAW,EAAE,wEAAwE;IACrF,gBAAgB,EAAE,6EAA6E;IAC/F,gBAAgB,EAAE,6EAA6E;IAC/F,gBAAgB,EAAE,4EAA4E;IAC9F,gBAAgB,EAAE,6EAA6E;IAC/F,gBAAgB,EAAE,6EAA6E;IAC/F,YAAY,EAAE,yEAAyE;IACvF,WAAW,EAAE,wEAAwE;IACrF,YAAY,EAAE,yEAAyE;IACvF,YAAY,EAAE,yEAAyE;CACxF,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,gBAAgB;IAC3B;;;OAGG;IACI,2BAA2B,CAAC,KAAsB;QACvD,OAAO,oBAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB,CAAC,EAAU,EAAE,KAAsB,EAAE,KAAqB;QAChF,IAAI,CAAC,KAAK;YAAE,MAAM,2BAA2B,CAAA;QAE7C,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YAC/D,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YACtD,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW;YAC1C,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;SAC7B,CAAC,CAAA;QAEF,IAAA,uBAAe,EAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAChF,IAAA,uBAAe,EAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAEjE,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;;;OAOG;IACI,iBAAiB,CACtB,EAAU,EACV,KAAsB,EACtB,aAAqB,EACrB,KAAqB;QAErB,IAAI,CAAC,KAAK;YAAE,MAAM,2BAA2B,CAAA;QAE7C,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YAC/D,aAAa,EAAE,aAAa;YAC5B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACvB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW;YAC1C,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ;YACpC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI;SAC7B,CAAC,CAAA;QAEF,IAAA,uBAAe,EAAC,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7F,IAAA,uBAAe,EAAC,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAE9E,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;;;;OAQG;IACI,0BAA0B,CAC/B,EAAU,EACV,KAAsB,EACtB,aAAqB,EACrB,KAAqB;QAErB,IAAI,CAAC,KAAK;YAAE,MAAM,2BAA2B,CAAA;QAE7C,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACpE,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,WAAW,IAAI,QAAQ;YAC/D,IAAI,EAAE,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YAC/D,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,WAAW;YACnD,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB;YAC7D,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,IAAI;YACrC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,UAAU;SAClD,CAAC,CAAA;QAEF,IAAA,uBAAe,EAAC,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QACrF,IAAA,uBAAe,EAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAEtE,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AA7FD,4CA6FC"}
|