@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
|
@@ -20,9 +20,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.AppConfigManager = exports.ArnsByRegion = void 0;
|
|
23
|
-
const appconfig = __importStar(require("aws-cdk-lib/aws-appconfig"));
|
|
24
23
|
const cdk = __importStar(require("aws-cdk-lib"));
|
|
25
|
-
const
|
|
24
|
+
const appconfig = __importStar(require("aws-cdk-lib/aws-appconfig"));
|
|
25
|
+
const utils = __importStar(require("../../utils"));
|
|
26
26
|
/**
|
|
27
27
|
* @stability stable
|
|
28
28
|
* @category Utils
|
|
@@ -53,12 +53,12 @@ exports.ArnsByRegion = {
|
|
|
53
53
|
/**
|
|
54
54
|
* @category Management & Governance
|
|
55
55
|
* @summary Provides operations on AWS AppConfig.
|
|
56
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
57
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
56
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
57
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
58
58
|
* @example
|
|
59
59
|
* import * as common from '@gradientedge/cdk-utils'
|
|
60
60
|
*
|
|
61
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
61
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
62
62
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
63
63
|
* super(parent, id, props)
|
|
64
64
|
* this.props = props
|
|
@@ -71,7 +71,7 @@ exports.ArnsByRegion = {
|
|
|
71
71
|
class AppConfigManager {
|
|
72
72
|
/**
|
|
73
73
|
* Method to get static ARNs for AppConfig extensions
|
|
74
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
74
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
75
75
|
*/
|
|
76
76
|
getArnForAppConfigExtension(scope) {
|
|
77
77
|
return exports.ArnsByRegion[scope.props.region];
|
|
@@ -79,8 +79,8 @@ class AppConfigManager {
|
|
|
79
79
|
/**
|
|
80
80
|
* @summary Method to create an AppConfig Application
|
|
81
81
|
* @param {string} id scoped id of the resource
|
|
82
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
83
|
-
* @param {AppConfigProps} props
|
|
82
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
83
|
+
* @param {types.AppConfigProps} props
|
|
84
84
|
* @returns {appconfig.CfnApplication}
|
|
85
85
|
*/
|
|
86
86
|
createApplication(id, scope, props) {
|
|
@@ -91,16 +91,16 @@ class AppConfigManager {
|
|
|
91
91
|
description: props.application.description,
|
|
92
92
|
tags: props.application.tags,
|
|
93
93
|
});
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
utils.createCfnOutput(`${id}-ApplicationId`, scope, cdk.Fn.ref(application.logicalId));
|
|
95
|
+
utils.createCfnOutput(`${id}-ApplicationName`, scope, application.name);
|
|
96
96
|
return application;
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* @summary Method to create an AppConfig Environment for a given application
|
|
100
100
|
* @param {string} id scoped id of the resource
|
|
101
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
101
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
102
102
|
* @param {string} applicationId id of the application
|
|
103
|
-
* @param {AppConfigProps} props
|
|
103
|
+
* @param {types.AppConfigProps} props
|
|
104
104
|
* @returns {appconfig.CfnEnvironment}
|
|
105
105
|
*/
|
|
106
106
|
createEnvironment(id, scope, applicationId, props) {
|
|
@@ -113,17 +113,17 @@ class AppConfigManager {
|
|
|
113
113
|
monitors: props.environment.monitors,
|
|
114
114
|
tags: props.environment.tags,
|
|
115
115
|
});
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
utils.createCfnOutput(`${id}-configurationEnvironmentId`, scope, cdk.Fn.ref(environment.logicalId));
|
|
117
|
+
utils.createCfnOutput(`${id}-configurationEnvironmentName`, scope, environment.name);
|
|
118
118
|
return environment;
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
121
121
|
* @summary Method to create an AppConfig Configuration Profile for a given application
|
|
122
122
|
* - <p>⚠ The <b>locationUri</b> is defaulted to <i>hosted</i> if undefined</p>
|
|
123
123
|
* @param {string} id scoped id of the resource
|
|
124
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
124
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
125
125
|
* @param {string} applicationId id of the application
|
|
126
|
-
* @param {AppConfigProps} props
|
|
126
|
+
* @param {types.AppConfigProps} props
|
|
127
127
|
* @returns {appconfig.CfnConfigurationProfile}
|
|
128
128
|
*/
|
|
129
129
|
createConfigurationProfile(id, scope, applicationId, props) {
|
|
@@ -138,8 +138,8 @@ class AppConfigManager {
|
|
|
138
138
|
tags: props.configurationProfile.tags,
|
|
139
139
|
validators: props.configurationProfile.validators,
|
|
140
140
|
});
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
utils.createCfnOutput(`${id}-configurationProfileId`, scope, cdk.Fn.ref(profile.logicalId));
|
|
142
|
+
utils.createCfnOutput(`${id}-configurationProfileName`, scope, profile.name);
|
|
143
143
|
return profile;
|
|
144
144
|
}
|
|
145
145
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appConfigManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/appConfigManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as acm from 'aws-cdk-lib/aws-certificatemanager';
|
|
3
|
+
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
|
|
4
|
+
import * as origins from 'aws-cdk-lib/aws-cloudfront-origins';
|
|
5
|
+
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
6
|
+
import * as efs from 'aws-cdk-lib/aws-efs';
|
|
7
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
8
|
+
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
9
|
+
import * as common from '../../common';
|
|
10
|
+
import * as types from '../../types';
|
|
11
|
+
/**
|
|
12
|
+
* @stability stable
|
|
13
|
+
* @category Networking & Content Delivery
|
|
14
|
+
* @summary Provides operations on AWS CloudFront.
|
|
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
|
+
* @example
|
|
18
|
+
* import * as common from '@gradientedge/cdk-utils'
|
|
19
|
+
*
|
|
20
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
21
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
22
|
+
* super(parent, id, props)
|
|
23
|
+
* this.props = props
|
|
24
|
+
* this.cloudFrontManager.createCloudFrontDistribution(
|
|
25
|
+
* 'MyDistribution',
|
|
26
|
+
* this,
|
|
27
|
+
* siteBucket,
|
|
28
|
+
* logBucket,
|
|
29
|
+
* originAccessIdentity,
|
|
30
|
+
* certificate
|
|
31
|
+
* )
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* @see [CDK CloudFront Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront-readme.html}
|
|
36
|
+
*/
|
|
37
|
+
export declare class CloudFrontManager {
|
|
38
|
+
createOriginAccessIdentity(id: string, scope: common.CommonConstruct, accessBucket?: s3.IBucket): cdk.aws_cloudfront.OriginAccessIdentity;
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use `createDistributionWithS3Origin` instead
|
|
41
|
+
*
|
|
42
|
+
* @summary Method to create a cloudfront distribution
|
|
43
|
+
* @param {string} id scoped id of the resource
|
|
44
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
45
|
+
* @param {types.CloudFrontProps} props distribution properties
|
|
46
|
+
* @param {s3.IBucket?} siteBucket
|
|
47
|
+
* @param {s3.IBucket?} logBucket
|
|
48
|
+
* @param {cloudfront.OriginAccessIdentity?} oai
|
|
49
|
+
* @param {acm.ICertificate?} certificate
|
|
50
|
+
* @param {string[]?} aliases
|
|
51
|
+
*/
|
|
52
|
+
createCloudFrontDistribution(id: string, scope: common.CommonConstruct, props: types.CloudFrontProps, siteBucket?: s3.IBucket, logBucket?: s3.IBucket, oai?: cloudfront.OriginAccessIdentity, certificate?: acm.ICertificate, aliases?: string[]): cdk.aws_cloudfront.CloudFrontWebDistribution;
|
|
53
|
+
/**
|
|
54
|
+
* Method to create a CloudFront distribution with S3 Origin
|
|
55
|
+
* @param {string} id scoped id of the resource
|
|
56
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
57
|
+
* @param {types.DistributionProps} props distribution properties
|
|
58
|
+
* @param {origins.S3Origin} origin
|
|
59
|
+
* @param {s3.IBucket} siteBucket
|
|
60
|
+
* @param {s3.IBucket?} logBucket
|
|
61
|
+
* @param {cloudfront.OriginAccessIdentity?} oai
|
|
62
|
+
* @param {acm.ICertificate?} certificate
|
|
63
|
+
* @param {string[]?} aliases
|
|
64
|
+
* @param {cloudfront.FunctionAssociation?} defaultFunctionAssociations
|
|
65
|
+
*/
|
|
66
|
+
createDistributionWithS3Origin(id: string, scope: common.CommonConstruct, props: types.DistributionProps, origin: origins.S3Origin, siteBucket: s3.IBucket, logBucket?: s3.IBucket, oai?: cloudfront.OriginAccessIdentity, certificate?: acm.ICertificate, aliases?: string[], defaultFunctionAssociations?: cloudfront.FunctionAssociation[]): cdk.aws_cloudfront.Distribution;
|
|
67
|
+
/**
|
|
68
|
+
* Method to create a CloudFront distribution with HTTP Origin
|
|
69
|
+
* @param {string} id scoped id of the resource
|
|
70
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
71
|
+
* @param {types.DistributionProps} props distribution properties
|
|
72
|
+
* @param {origins.S3Origin} origin
|
|
73
|
+
* @param {string[]} domainNames
|
|
74
|
+
* @param {s3.IBucket?} logBucket
|
|
75
|
+
* @param {acm.ICertificate?} certificate
|
|
76
|
+
* @param {cloudfront.FunctionAssociation?} defaultFunctionAssociations
|
|
77
|
+
*/
|
|
78
|
+
createDistributionWithHttpOrigin(id: string, scope: common.CommonConstruct, props: types.DistributionProps, origin: origins.HttpOrigin, domainNames: string[], logBucket?: s3.IBucket, certificate?: acm.ICertificate, defaultFunctionAssociations?: cloudfront.FunctionAssociation[]): cdk.aws_cloudfront.Distribution;
|
|
79
|
+
/**
|
|
80
|
+
* @summary Method to provision a Lambda@Edge function
|
|
81
|
+
*
|
|
82
|
+
* @param {string} id scoped id of the resource
|
|
83
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
84
|
+
* @param {types.LambdaEdgeProps} props lambda@edge properties
|
|
85
|
+
* @param {lambda.ILayerVersion[]} layers
|
|
86
|
+
* @param {lambda.AssetCode} code
|
|
87
|
+
* @param {Map<string, string>} environment
|
|
88
|
+
* @param {ec2.IVpc} vpc
|
|
89
|
+
* @param {ec2.ISecurityGroup[]} securityGroups
|
|
90
|
+
* @param {efs.IAccessPoint} accessPoint
|
|
91
|
+
* @param {string} mountPath
|
|
92
|
+
*/
|
|
93
|
+
createEdgeFunction(id: string, scope: common.CommonConstruct, props: types.LambdaEdgeProps, layers: lambda.ILayerVersion[], code: lambda.AssetCode, environment?: any, vpc?: ec2.IVpc, securityGroups?: ec2.ISecurityGroup[], accessPoint?: efs.IAccessPoint, mountPath?: string): cdk.aws_cloudfront.experimental.EdgeFunction;
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
* @param id
|
|
97
|
+
* @param scope
|
|
98
|
+
* @param dockerFilePath
|
|
99
|
+
* @param distributionId
|
|
100
|
+
* @param paths
|
|
101
|
+
*/
|
|
102
|
+
invalidateCache(id: string, scope: common.CommonConstruct, dockerFilePath: string, distributionId: string, paths?: string): void;
|
|
103
|
+
/**
|
|
104
|
+
* @summary Method to provision a Cloudfront function
|
|
105
|
+
*
|
|
106
|
+
* @param {string} id scoped id of the resource
|
|
107
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
108
|
+
* @param {types.CloudfrontFunctionProps} props
|
|
109
|
+
*/
|
|
110
|
+
createCloudfrontFunction(id: string, scope: common.CommonConstruct, props: types.CloudfrontFunctionProps): cdk.aws_cloudfront.Function;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=cloudFrontManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudFrontManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/cloudFrontManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAA;AACzD,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAA;AAC7D,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAExC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAiB;IACrB,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,OAAO;IAStG;;;;;;;;;;;;OAYG;IACI,4BAA4B,CACjC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,eAAe,EAC5B,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,EACvB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,EACtB,GAAG,CAAC,EAAE,UAAU,CAAC,oBAAoB,EACrC,WAAW,CAAC,EAAE,GAAG,CAAC,YAAY,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE;IA0CpB;;;;;;;;;;;;OAYG;IACI,8BAA8B,CACnC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,MAAM,EAAE,OAAO,CAAC,QAAQ,EACxB,UAAU,EAAE,EAAE,CAAC,OAAO,EACtB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,EACtB,GAAG,CAAC,EAAE,UAAU,CAAC,oBAAoB,EACrC,WAAW,CAAC,EAAE,GAAG,CAAC,YAAY,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,2BAA2B,CAAC,EAAE,UAAU,CAAC,mBAAmB,EAAE;IAkChE;;;;;;;;;;OAUG;IACI,gCAAgC,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,iBAAiB,EAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,EAC1B,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,EACtB,WAAW,CAAC,EAAE,GAAG,CAAC,YAAY,EAC9B,2BAA2B,CAAC,EAAE,UAAU,CAAC,mBAAmB,EAAE;IAkChE;;;;;;;;;;;;;OAaG;IACI,kBAAkB,CACvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,eAAe,EAC5B,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,EAC9B,IAAI,EAAE,MAAM,CAAC,SAAS,EACtB,WAAW,CAAC,EAAE,GAAG,EACjB,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EACd,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,EAAE,EACrC,WAAW,CAAC,EAAE,GAAG,CAAC,YAAY,EAC9B,SAAS,CAAC,EAAE,MAAM;IA8BpB;;;;;;;OAOG;IACI,eAAe,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM;IAqBhB;;;;;;OAMG;IACI,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,uBAAuB;CAchH"}
|
|
@@ -20,21 +20,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.CloudFrontManager = void 0;
|
|
23
|
+
const cdk = __importStar(require("aws-cdk-lib"));
|
|
23
24
|
const cloudfront = __importStar(require("aws-cdk-lib/aws-cloudfront"));
|
|
24
25
|
const lambda = __importStar(require("aws-cdk-lib/aws-lambda"));
|
|
25
|
-
const utils_1 = require("../utils");
|
|
26
|
-
const cdk = __importStar(require("aws-cdk-lib"));
|
|
27
26
|
const cr = __importStar(require("aws-cdk-lib/custom-resources"));
|
|
27
|
+
const utils = __importStar(require("../../utils"));
|
|
28
28
|
/**
|
|
29
29
|
* @stability stable
|
|
30
30
|
* @category Networking & Content Delivery
|
|
31
31
|
* @summary Provides operations on AWS CloudFront.
|
|
32
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
33
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
32
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
33
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
34
34
|
* @example
|
|
35
35
|
* import * as common from '@gradientedge/cdk-utils'
|
|
36
36
|
*
|
|
37
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
37
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
38
38
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
39
39
|
* super(parent, id, props)
|
|
40
40
|
* this.props = props
|
|
@@ -65,8 +65,8 @@ class CloudFrontManager {
|
|
|
65
65
|
*
|
|
66
66
|
* @summary Method to create a cloudfront distribution
|
|
67
67
|
* @param {string} id scoped id of the resource
|
|
68
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
69
|
-
* @param {CloudFrontProps} props distribution properties
|
|
68
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
69
|
+
* @param {types.CloudFrontProps} props distribution properties
|
|
70
70
|
* @param {s3.IBucket?} siteBucket
|
|
71
71
|
* @param {s3.IBucket?} logBucket
|
|
72
72
|
* @param {cloudfront.OriginAccessIdentity?} oai
|
|
@@ -109,23 +109,24 @@ class CloudFrontManager {
|
|
|
109
109
|
}),
|
|
110
110
|
webACLId: props.webACLId,
|
|
111
111
|
});
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
utils.createCfnOutput(`${id}-distributionId`, scope, distribution.distributionId);
|
|
113
|
+
utils.createCfnOutput(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
|
|
114
114
|
return distribution;
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
117
|
* Method to create a CloudFront distribution with S3 Origin
|
|
118
118
|
* @param {string} id scoped id of the resource
|
|
119
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
120
|
-
* @param {
|
|
119
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
120
|
+
* @param {types.DistributionProps} props distribution properties
|
|
121
121
|
* @param {origins.S3Origin} origin
|
|
122
122
|
* @param {s3.IBucket} siteBucket
|
|
123
123
|
* @param {s3.IBucket?} logBucket
|
|
124
124
|
* @param {cloudfront.OriginAccessIdentity?} oai
|
|
125
125
|
* @param {acm.ICertificate?} certificate
|
|
126
126
|
* @param {string[]?} aliases
|
|
127
|
+
* @param {cloudfront.FunctionAssociation?} defaultFunctionAssociations
|
|
127
128
|
*/
|
|
128
|
-
createDistributionWithS3Origin(id, scope, props, origin, siteBucket, logBucket, oai, certificate, aliases) {
|
|
129
|
+
createDistributionWithS3Origin(id, scope, props, origin, siteBucket, logBucket, oai, certificate, aliases, defaultFunctionAssociations) {
|
|
129
130
|
const distribution = new cloudfront.Distribution(scope, `${id}`, {
|
|
130
131
|
certificate: certificate,
|
|
131
132
|
comment: `${id} - ${scope.props.stage} stage`,
|
|
@@ -133,6 +134,7 @@ class CloudFrontManager {
|
|
|
133
134
|
cachePolicy: props.defaultBehavior ? props.defaultBehavior.cachePolicy : undefined,
|
|
134
135
|
origin: origin,
|
|
135
136
|
originRequestPolicy: props.defaultBehavior ? props.defaultBehavior.originRequestPolicy : undefined,
|
|
137
|
+
functionAssociations: defaultFunctionAssociations ?? undefined,
|
|
136
138
|
},
|
|
137
139
|
additionalBehaviors: props.additionalBehaviors,
|
|
138
140
|
defaultRootObject: props.defaultRootObject,
|
|
@@ -150,21 +152,22 @@ class CloudFrontManager {
|
|
|
150
152
|
priceClass: props.priceClass ?? cloudfront.PriceClass.PRICE_CLASS_ALL,
|
|
151
153
|
webAclId: props.webAclId,
|
|
152
154
|
});
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
utils.createCfnOutput(`${id}-distributionId`, scope, distribution.distributionId);
|
|
156
|
+
utils.createCfnOutput(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
|
|
155
157
|
return distribution;
|
|
156
158
|
}
|
|
157
159
|
/**
|
|
158
160
|
* Method to create a CloudFront distribution with HTTP Origin
|
|
159
161
|
* @param {string} id scoped id of the resource
|
|
160
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
161
|
-
* @param {
|
|
162
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
163
|
+
* @param {types.DistributionProps} props distribution properties
|
|
162
164
|
* @param {origins.S3Origin} origin
|
|
163
165
|
* @param {string[]} domainNames
|
|
164
166
|
* @param {s3.IBucket?} logBucket
|
|
165
167
|
* @param {acm.ICertificate?} certificate
|
|
168
|
+
* @param {cloudfront.FunctionAssociation?} defaultFunctionAssociations
|
|
166
169
|
*/
|
|
167
|
-
createDistributionWithHttpOrigin(id, scope, props, origin, domainNames, logBucket, certificate) {
|
|
170
|
+
createDistributionWithHttpOrigin(id, scope, props, origin, domainNames, logBucket, certificate, defaultFunctionAssociations) {
|
|
168
171
|
const distribution = new cloudfront.Distribution(scope, `${id}`, {
|
|
169
172
|
certificate: certificate,
|
|
170
173
|
comment: `${id} - ${scope.props.stage} stage`,
|
|
@@ -172,6 +175,7 @@ class CloudFrontManager {
|
|
|
172
175
|
cachePolicy: props.defaultBehavior ? props.defaultBehavior.cachePolicy : undefined,
|
|
173
176
|
origin: origin,
|
|
174
177
|
originRequestPolicy: props.defaultBehavior ? props.defaultBehavior.originRequestPolicy : undefined,
|
|
178
|
+
functionAssociations: defaultFunctionAssociations ?? undefined,
|
|
175
179
|
},
|
|
176
180
|
additionalBehaviors: props.additionalBehaviors,
|
|
177
181
|
defaultRootObject: props.defaultRootObject,
|
|
@@ -189,16 +193,16 @@ class CloudFrontManager {
|
|
|
189
193
|
priceClass: props.priceClass ?? cloudfront.PriceClass.PRICE_CLASS_ALL,
|
|
190
194
|
webAclId: props.webAclId,
|
|
191
195
|
});
|
|
192
|
-
|
|
193
|
-
|
|
196
|
+
utils.createCfnOutput(`${id}-distributionId`, scope, distribution.distributionId);
|
|
197
|
+
utils.createCfnOutput(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
|
|
194
198
|
return distribution;
|
|
195
199
|
}
|
|
196
200
|
/**
|
|
197
201
|
* @summary Method to provision a Lambda@Edge function
|
|
198
202
|
*
|
|
199
203
|
* @param {string} id scoped id of the resource
|
|
200
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
201
|
-
* @param {LambdaEdgeProps} props lambda@edge properties
|
|
204
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
205
|
+
* @param {types.LambdaEdgeProps} props lambda@edge properties
|
|
202
206
|
* @param {lambda.ILayerVersion[]} layers
|
|
203
207
|
* @param {lambda.AssetCode} code
|
|
204
208
|
* @param {Map<string, string>} environment
|
|
@@ -228,9 +232,9 @@ class CloudFrontManager {
|
|
|
228
232
|
timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(1),
|
|
229
233
|
vpc: vpc,
|
|
230
234
|
});
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
235
|
+
utils.createCfnOutput(`${id}-edgeArn`, scope, edgeFunction.edgeArn);
|
|
236
|
+
utils.createCfnOutput(`${id}-edgeFunctionArn`, scope, edgeFunction.functionArn);
|
|
237
|
+
utils.createCfnOutput(`${id}-edgeFunctionName`, scope, edgeFunction.functionName);
|
|
234
238
|
return edgeFunction;
|
|
235
239
|
}
|
|
236
240
|
/**
|
|
@@ -254,6 +258,25 @@ class CloudFrontManager {
|
|
|
254
258
|
policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE }),
|
|
255
259
|
});
|
|
256
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* @summary Method to provision a Cloudfront function
|
|
263
|
+
*
|
|
264
|
+
* @param {string} id scoped id of the resource
|
|
265
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
266
|
+
* @param {types.CloudfrontFunctionProps} props
|
|
267
|
+
*/
|
|
268
|
+
createCloudfrontFunction(id, scope, props) {
|
|
269
|
+
const cloudfrontFunction = new cloudfront.Function(scope, `${id}`, {
|
|
270
|
+
code: cloudfront.FunctionCode.fromFile({
|
|
271
|
+
filePath: props.functionFilePath,
|
|
272
|
+
}),
|
|
273
|
+
comment: props.comment,
|
|
274
|
+
functionName: `${props.functionName}-${scope.props.stage}`,
|
|
275
|
+
});
|
|
276
|
+
utils.createCfnOutput(`${id}-functionArn`, scope, cloudfrontFunction.functionArn);
|
|
277
|
+
utils.createCfnOutput(`${id}-functionName`, scope, cloudfrontFunction.functionName);
|
|
278
|
+
return cloudfrontFunction;
|
|
279
|
+
}
|
|
257
280
|
}
|
|
258
281
|
exports.CloudFrontManager = CloudFrontManager;
|
|
259
282
|
//# sourceMappingURL=cloudFrontManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudFrontManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/cloudFrontManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as cloudtrail from 'aws-cdk-lib/aws-cloudtrail';
|
|
2
2
|
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
3
3
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import * as common from '../../common';
|
|
5
|
+
import * as types from '../../types';
|
|
6
6
|
/**
|
|
7
7
|
* @stability stable
|
|
8
8
|
* @category Management & Governance
|
|
9
9
|
* @summary Provides operations on AWS CloudTrail.
|
|
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
|
|
@@ -33,14 +33,14 @@ export declare class CloudTrailManager {
|
|
|
33
33
|
/**
|
|
34
34
|
* @summary Method to create a cloud trail
|
|
35
35
|
* @param {string} id scoped id of the resource
|
|
36
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
37
|
-
* @param {CloudTrailProps} props
|
|
36
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
37
|
+
* @param {types.CloudTrailProps} props
|
|
38
38
|
* @param {logs.CfnLogGroup} logGroup
|
|
39
39
|
* @param {s3.IBucket} dataBucket
|
|
40
40
|
* @param {s3.IBucket} logBucket
|
|
41
41
|
* @param {s3.CfnBucketPolicy} logBucketPolicy
|
|
42
42
|
*/
|
|
43
|
-
createCloudTrail(id: string, scope: CommonConstruct, props: CloudTrailProps, logGroup: logs.CfnLogGroup, dataBucket: s3.IBucket, logBucket: s3.IBucket, logBucketPolicy: s3.CfnBucketPolicy): {
|
|
43
|
+
createCloudTrail(id: string, scope: common.CommonConstruct, props: types.CloudTrailProps, logGroup: logs.CfnLogGroup, dataBucket: s3.IBucket, logBucket: s3.IBucket, logBucketPolicy: s3.CfnBucketPolicy): {
|
|
44
44
|
cloudTrailRole: import("aws-cdk-lib/aws-iam").CfnRole;
|
|
45
45
|
cloudTrail: cloudtrail.CfnTrail;
|
|
46
46
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudTrailManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/cloudTrailManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,iBAAiB;IAC5B;;;;;;;;;OASG;IACI,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,eAAe,EAC5B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAC1B,UAAU,EAAE,EAAE,CAAC,OAAO,EACtB,SAAS,EAAE,EAAE,CAAC,OAAO,EACrB,eAAe,EAAE,EAAE,CAAC,eAAe;;;;CAwCtC"}
|
|
@@ -21,17 +21,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.CloudTrailManager = void 0;
|
|
23
23
|
const cloudtrail = __importStar(require("aws-cdk-lib/aws-cloudtrail"));
|
|
24
|
-
const
|
|
24
|
+
const utils = __importStar(require("../../utils"));
|
|
25
25
|
/**
|
|
26
26
|
* @stability stable
|
|
27
27
|
* @category Management & Governance
|
|
28
28
|
* @summary Provides operations on AWS CloudTrail.
|
|
29
|
-
* - A new instance of this class is injected into {@link CommonConstruct} constructor.
|
|
30
|
-
* - If a custom construct extends {@link CommonConstruct}, an instance is available within the context.
|
|
29
|
+
* - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
|
|
30
|
+
* - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
|
|
31
31
|
* @example
|
|
32
32
|
* import * as common from '@gradientedge/cdk-utils'
|
|
33
33
|
*
|
|
34
|
-
* class CustomConstruct extends common.CommonConstruct {
|
|
34
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
35
35
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
36
36
|
* super(parent, id, props)
|
|
37
37
|
* this.props = props
|
|
@@ -52,8 +52,8 @@ class CloudTrailManager {
|
|
|
52
52
|
/**
|
|
53
53
|
* @summary Method to create a cloud trail
|
|
54
54
|
* @param {string} id scoped id of the resource
|
|
55
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
56
|
-
* @param {CloudTrailProps} props
|
|
55
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
56
|
+
* @param {types.CloudTrailProps} props
|
|
57
57
|
* @param {logs.CfnLogGroup} logGroup
|
|
58
58
|
* @param {s3.IBucket} dataBucket
|
|
59
59
|
* @param {s3.IBucket} logBucket
|
|
@@ -90,8 +90,8 @@ class CloudTrailManager {
|
|
|
90
90
|
cloudTrail.addDependsOn(logBucketPolicy);
|
|
91
91
|
cloudTrail.addDependsOn(logGroup);
|
|
92
92
|
cloudTrail.addDependsOn(role);
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
utils.createCfnOutput(`${id}-trailName`, scope, cloudTrail.trailName);
|
|
94
|
+
utils.createCfnOutput(`${id}-trailArn`, scope, cloudTrail.attrArn);
|
|
95
95
|
return { cloudTrailRole: role, cloudTrail };
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudTrailManager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/cloudTrailManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAwD;AAKxD,mDAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,iBAAiB;IAC5B;;;;;;;;;OASG;IACI,gBAAgB,CACrB,EAAU,EACV,KAA6B,EAC7B,KAA4B,EAC5B,QAA0B,EAC1B,UAAsB,EACtB,SAAqB,EACrB,eAAmC;QAEnC,IAAI,CAAC,KAAK;YAAE,MAAM,4BAA4B,CAAA;QAE9C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEnF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACzD,yBAAyB,EAAE,QAAQ,CAAC,OAAO;YAC3C,qBAAqB,EAAE,IAAI,CAAC,OAAO;YACnC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,cAAc,EAAE;gBACd;oBACE,aAAa,EAAE;wBACb;4BACE,IAAI,EAAE,iBAAiB;4BACvB,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;yBACvC;qBACF;oBACD,uBAAuB,EAAE,KAAK;oBAC9B,aAAa,EAAE,WAAW;iBAC3B;aACF;YACD,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;YAC5D,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,YAAY,EAAE,SAAS,CAAC,UAAU;YAClC,WAAW,EAAE,QAAQ,KAAK,CAAC,SAAS,EAAE;YACtC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnD,SAAS,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;SACrD,CAAC,CAAA;QAEF,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QACxC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACjC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAE7B,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QACrE,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;QAElE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IAC7C,CAAC;CACF;AA1DD,8CA0DC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as watch from 'aws-cdk-lib/aws-cloudwatch';
|
|
3
|
+
import { IMetric } from 'aws-cdk-lib/aws-cloudwatch';
|
|
4
|
+
import * as common from '../../common';
|
|
5
|
+
import * as types from '../../types';
|
|
6
|
+
/**
|
|
7
|
+
* @stability stable
|
|
8
|
+
* @category Management & Governance
|
|
9
|
+
* @summary Provides operations on AWS CloudWatch.
|
|
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
|
+
* @example
|
|
13
|
+
* import * as common from '@gradientedge/cdk-utils'
|
|
14
|
+
*
|
|
15
|
+
* class CustomConstruct extends common.common.CommonConstruct {
|
|
16
|
+
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
17
|
+
* super(parent, id, props)
|
|
18
|
+
* this.props = props
|
|
19
|
+
* this.cloudWatchManager.createAlarmForMetric('MyAlarm', this, metric)
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* @see [CDK CloudWatch Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch-readme.html}
|
|
24
|
+
*/
|
|
25
|
+
export declare class CloudWatchManager {
|
|
26
|
+
/**
|
|
27
|
+
* @summary Method to create a cloudwatch alarm for a given expression
|
|
28
|
+
* @param {string} id scoped id of the resource
|
|
29
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
30
|
+
* @param {types.AlarmProps} props
|
|
31
|
+
*/
|
|
32
|
+
createAlarmForExpression(id: string, scope: common.CommonConstruct, props: types.AlarmProps): cdk.aws_cloudwatch.Alarm;
|
|
33
|
+
/**
|
|
34
|
+
* @summary Method to create a cloudwatch alarm for a given metric
|
|
35
|
+
* @param {string} id scoped id of the resource
|
|
36
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
37
|
+
* @param {types.AlarmProps} props
|
|
38
|
+
* @param metric
|
|
39
|
+
*/
|
|
40
|
+
createAlarmForMetric(id: string, scope: common.CommonConstruct, props: types.AlarmProps, metric: watch.Metric): cdk.aws_cloudwatch.Alarm;
|
|
41
|
+
/**
|
|
42
|
+
* @summary Method to create a cloudwatch dashboard
|
|
43
|
+
* @param {string} id scoped id of the resource
|
|
44
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
45
|
+
* @param {types.DashboardProps} props
|
|
46
|
+
* @param widgets
|
|
47
|
+
*/
|
|
48
|
+
createDashboard(id: string, scope: common.CommonConstruct, props: types.DashboardProps, widgets?: watch.IWidget[][]): cdk.aws_cloudwatch.Dashboard;
|
|
49
|
+
/**
|
|
50
|
+
* @summary Method to create cloudwatch widgets
|
|
51
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
52
|
+
* @param props
|
|
53
|
+
*/
|
|
54
|
+
createWidgets(scope: common.CommonConstruct, props: any[]): any;
|
|
55
|
+
/**
|
|
56
|
+
* @summary Method to create a cloudwatch widget
|
|
57
|
+
* @param {string} id scoped id of the resource
|
|
58
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
59
|
+
* @param props
|
|
60
|
+
*/
|
|
61
|
+
createWidget(id: string, scope: common.CommonConstruct, props: any): cdk.aws_cloudwatch.GraphWidget | cdk.aws_cloudwatch.SingleValueWidget | cdk.aws_cloudwatch.LogQueryWidget | cdk.aws_cloudwatch.TextWidget | cdk.aws_cloudwatch.AlarmStatusWidget;
|
|
62
|
+
/**
|
|
63
|
+
* @summary Method to create a cloudwatch text widget
|
|
64
|
+
* @param {string} id scoped id of the resource
|
|
65
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
66
|
+
* @param {types.TextWidgetProps} props
|
|
67
|
+
*/
|
|
68
|
+
createTextWidget(id: string, scope: common.CommonConstruct, props: types.TextWidgetProps): cdk.aws_cloudwatch.TextWidget;
|
|
69
|
+
/**
|
|
70
|
+
* @summary Method to create a cloudwatch numeric widget
|
|
71
|
+
* @param {string} id scoped id of the resource
|
|
72
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
73
|
+
* @param {types.NumericWidgetProps} props
|
|
74
|
+
* @param metrics
|
|
75
|
+
*/
|
|
76
|
+
createSingleValueWidget(id: string, scope: common.CommonConstruct, props: types.NumericWidgetProps, metrics: IMetric[]): cdk.aws_cloudwatch.SingleValueWidget;
|
|
77
|
+
/**
|
|
78
|
+
* @summary Method to create a cloudwatch graph widget
|
|
79
|
+
* @param {string} id scoped id of the resource
|
|
80
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
81
|
+
* @param {types.GraphWidgetProps} props
|
|
82
|
+
* @param leftYMetrics
|
|
83
|
+
* @param rightYMetrics
|
|
84
|
+
*/
|
|
85
|
+
createGraphWidget(id: string, scope: common.CommonConstruct, props: types.GraphWidgetProps, leftYMetrics?: IMetric[], rightYMetrics?: IMetric[]): cdk.aws_cloudwatch.GraphWidget;
|
|
86
|
+
/**
|
|
87
|
+
* @summary Method to create a cloudwatch alarm status widget
|
|
88
|
+
* @param {string} id scoped id of the resource
|
|
89
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
90
|
+
* @param {types.AlarmStatusWidgetProps} props
|
|
91
|
+
* @param {watch.IAlarm[]} alarms
|
|
92
|
+
*/
|
|
93
|
+
createAlarmStatusWidget(id: string, scope: common.CommonConstruct, props: types.AlarmStatusWidgetProps, alarms: watch.IAlarm[]): cdk.aws_cloudwatch.AlarmStatusWidget;
|
|
94
|
+
/**
|
|
95
|
+
* @summary Method to create a cloudwatch log query widget
|
|
96
|
+
* @param {string} id scoped id of the resource
|
|
97
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
98
|
+
* @param {types.LogQueryWidgetProps} props
|
|
99
|
+
* @param {string[]} logGroupNames
|
|
100
|
+
*/
|
|
101
|
+
createLogQueryWidget(id: string, scope: common.CommonConstruct, props: types.LogQueryWidgetProps, logGroupNames: string[]): cdk.aws_cloudwatch.LogQueryWidget;
|
|
102
|
+
/**
|
|
103
|
+
* @summary Utility method to determine the metrics and dimensions
|
|
104
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
105
|
+
* @param {types.MetricProps[]} metricProps
|
|
106
|
+
*/
|
|
107
|
+
private determineMetrics;
|
|
108
|
+
/**
|
|
109
|
+
* @summary Utility method to determine the time range
|
|
110
|
+
* @param {string?} range
|
|
111
|
+
*/
|
|
112
|
+
private static determineTimeRange;
|
|
113
|
+
/**
|
|
114
|
+
* @summary Utility method to determine the configured alarms
|
|
115
|
+
* @param {string} id scoped id of the resource
|
|
116
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
117
|
+
* @param {watch.AlarmProps[]} alarmProps
|
|
118
|
+
*/
|
|
119
|
+
private determineAlarms;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=cloudWatchManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudWatchManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/cloudWatchManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAcpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB;IAC5B;;;;;OAKG;IACI,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU;IAgClG;;;;;;OAMG;IACI,oBAAoB,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,MAAM,EAAE,KAAK,CAAC,MAAM;IAoBtB;;;;;;OAMG;IACI,eAAe,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,cAAc,EAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;IAiB7B;;;;OAIG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;IAShE;;;;;OAKG;IACI,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG;IAwBzE;;;;;OAKG;IACI,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe;IAY/F;;;;;;OAMG;IACI,uBAAuB,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAC/B,OAAO,EAAE,OAAO,EAAE;IAgBpB;;;;;;;OAOG;IACI,iBAAiB,CACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAC7B,YAAY,CAAC,EAAE,OAAO,EAAE,EACxB,aAAa,CAAC,EAAE,OAAO,EAAE;IAuB3B;;;;;;OAMG;IACI,uBAAuB,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,sBAAsB,EACnC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;IAcxB;;;;;;OAMG;IACI,oBAAoB,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAChC,aAAa,EAAE,MAAM,EAAE;IAiBzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAajC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAexB"}
|