@gradientedge/cdk-utils 4.1.0 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -9
- package/dist/index.d.ts +3 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -25
- package/dist/index.js.map +1 -1
- package/dist/src/lib/common/commonConstruct.d.ts +30 -50
- package/dist/src/lib/common/commonConstruct.d.ts.map +1 -1
- package/dist/src/lib/common/commonConstruct.js +53 -54
- package/dist/src/lib/common/commonConstruct.js.map +1 -1
- package/dist/src/lib/common/commonStack.d.ts +3 -2
- package/dist/src/lib/common/commonStack.d.ts.map +1 -1
- package/dist/src/lib/common/commonStack.js +2 -1
- package/dist/src/lib/common/commonStack.js.map +1 -1
- package/dist/src/lib/common/index.d.ts +3 -0
- package/dist/src/lib/common/index.d.ts.map +1 -0
- package/dist/src/lib/common/index.js +15 -0
- package/dist/src/lib/common/index.js.map +1 -0
- package/dist/src/lib/construct/graphQLApiLambda.d.ts +6 -5
- package/dist/src/lib/construct/graphQLApiLambda.d.ts.map +1 -1
- package/dist/src/lib/construct/graphQLApiLambda.js +3 -2
- package/dist/src/lib/construct/graphQLApiLambda.js.map +1 -1
- package/dist/src/lib/construct/index.d.ts +4 -0
- package/dist/src/lib/construct/index.d.ts.map +1 -0
- package/dist/src/lib/construct/index.js +16 -0
- package/dist/src/lib/construct/index.js.map +1 -0
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts +21 -8
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts.map +1 -1
- package/dist/src/lib/construct/siteWithEcsBackend.js +33 -5
- package/dist/src/lib/construct/siteWithEcsBackend.js.map +1 -1
- package/dist/src/lib/construct/staticSite.d.ts +18 -5
- package/dist/src/lib/construct/staticSite.d.ts.map +1 -1
- package/dist/src/lib/construct/staticSite.js +31 -2
- package/dist/src/lib/construct/staticSite.js.map +1 -1
- package/dist/src/lib/manager/{acmManager.d.ts → aws/acmManager.d.ts} +9 -8
- package/dist/src/lib/manager/aws/acmManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{acmManager.js → aws/acmManager.js} +9 -8
- package/dist/src/lib/manager/aws/acmManager.js.map +1 -0
- package/dist/src/lib/manager/{apiManager.d.ts → aws/apiManager.d.ts} +12 -11
- package/dist/src/lib/manager/aws/apiManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{apiManager.js → aws/apiManager.js} +12 -11
- package/dist/src/lib/manager/aws/apiManager.js.map +1 -0
- package/dist/src/lib/manager/{appConfigManager.d.ts → aws/appConfigManager.d.ts} +18 -17
- package/dist/src/lib/manager/aws/appConfigManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{appConfigManager.js → aws/appConfigManager.js} +20 -19
- package/dist/src/lib/manager/aws/appConfigManager.js.map +1 -0
- package/dist/src/lib/manager/aws/cloudFrontManager.d.ts +112 -0
- package/dist/src/lib/manager/aws/cloudFrontManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudFrontManager.js → aws/cloudFrontManager.js} +49 -25
- package/dist/src/lib/manager/aws/cloudFrontManager.js.map +1 -0
- package/dist/src/lib/manager/{cloudTrailManager.d.ts → aws/cloudTrailManager.d.ts} +10 -9
- package/dist/src/lib/manager/aws/cloudTrailManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudTrailManager.js → aws/cloudTrailManager.js} +10 -9
- package/dist/src/lib/manager/aws/cloudTrailManager.js.map +1 -0
- package/dist/src/lib/manager/aws/cloudWatchManager.d.ts +121 -0
- package/dist/src/lib/manager/aws/cloudWatchManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{cloudWatchManager.js → aws/cloudWatchManager.js} +48 -36
- package/dist/src/lib/manager/aws/cloudWatchManager.js.map +1 -0
- package/dist/src/lib/manager/aws/codeBuildManager.d.ts +40 -0
- package/dist/src/lib/manager/aws/codeBuildManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{codeBuildManager.js → aws/codeBuildManager.js} +17 -1
- package/dist/src/lib/manager/aws/codeBuildManager.js.map +1 -0
- package/dist/src/lib/manager/{ecrManager.d.ts → aws/ecrManager.d.ts} +8 -7
- package/dist/src/lib/manager/aws/ecrManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ecrManager.js → aws/ecrManager.js} +8 -7
- package/dist/src/lib/manager/aws/ecrManager.js.map +1 -0
- package/dist/src/lib/manager/{ecsManager.d.ts → aws/ecsManager.d.ts} +13 -12
- package/dist/src/lib/manager/aws/ecsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ecsManager.js → aws/ecsManager.js} +13 -12
- package/dist/src/lib/manager/aws/ecsManager.js.map +1 -0
- package/dist/src/lib/manager/{eksManager.d.ts → aws/eksManager.d.ts} +10 -9
- package/dist/src/lib/manager/aws/eksManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{eksManager.js → aws/eksManager.js} +10 -9
- package/dist/src/lib/manager/aws/eksManager.js.map +1 -0
- package/dist/src/lib/manager/{eventManager.d.ts → aws/eventManager.d.ts} +13 -12
- package/dist/src/lib/manager/aws/eventManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{eventManager.js → aws/eventManager.js} +14 -13
- package/dist/src/lib/manager/aws/eventManager.js.map +1 -0
- package/dist/src/lib/manager/aws/iamManager.d.ts +156 -0
- package/dist/src/lib/manager/aws/iamManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{iamManager.js → aws/iamManager.js} +37 -35
- package/dist/src/lib/manager/aws/iamManager.js.map +1 -0
- package/dist/src/lib/manager/aws/index.d.ts +22 -0
- package/dist/src/lib/manager/aws/index.d.ts.map +1 -0
- package/dist/src/lib/manager/aws/index.js +34 -0
- package/dist/src/lib/manager/aws/index.js.map +1 -0
- package/dist/src/lib/manager/{lambdaManager.d.ts → aws/lambdaManager.d.ts} +21 -20
- package/dist/src/lib/manager/aws/lambdaManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{lambdaManager.js → aws/lambdaManager.js} +21 -20
- package/dist/src/lib/manager/aws/lambdaManager.js.map +1 -0
- package/dist/src/lib/manager/aws/logManager.d.ts +51 -0
- package/dist/src/lib/manager/aws/logManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{logManager.js → aws/logManager.js} +14 -13
- package/dist/src/lib/manager/aws/logManager.js.map +1 -0
- package/dist/src/lib/manager/{route53Manager.d.ts → aws/route53Manager.d.ts} +18 -17
- package/dist/src/lib/manager/aws/route53Manager.d.ts.map +1 -0
- package/dist/src/lib/manager/{route53Manager.js → aws/route53Manager.js} +19 -18
- package/dist/src/lib/manager/aws/route53Manager.js.map +1 -0
- package/dist/src/lib/manager/aws/s3Manager.d.ts +73 -0
- package/dist/src/lib/manager/aws/s3Manager.d.ts.map +1 -0
- package/dist/src/lib/manager/{s3Manager.js → aws/s3Manager.js} +17 -16
- package/dist/src/lib/manager/aws/s3Manager.js.map +1 -0
- package/dist/src/lib/manager/{secretsManager.d.ts → aws/secretsManager.d.ts} +8 -7
- package/dist/src/lib/manager/aws/secretsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{secretsManager.js → aws/secretsManager.js} +6 -5
- package/dist/src/lib/manager/aws/secretsManager.js.map +1 -0
- package/dist/src/lib/manager/aws/snsManager.d.ts +42 -0
- package/dist/src/lib/manager/aws/snsManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{snsManager.js → aws/snsManager.js} +14 -13
- package/dist/src/lib/manager/aws/snsManager.js.map +1 -0
- package/dist/src/lib/manager/aws/ssmManager.d.ts +64 -0
- package/dist/src/lib/manager/aws/ssmManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{ssmManager.js → aws/ssmManager.js} +15 -14
- package/dist/src/lib/manager/aws/ssmManager.js.map +1 -0
- package/dist/src/lib/manager/{vpcManager.d.ts → aws/vpcManager.d.ts} +12 -11
- package/dist/src/lib/manager/aws/vpcManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{vpcManager.js → aws/vpcManager.js} +15 -14
- package/dist/src/lib/manager/aws/vpcManager.js.map +1 -0
- package/dist/src/lib/manager/aws/wafManager.d.ts +39 -0
- package/dist/src/lib/manager/aws/wafManager.d.ts.map +1 -0
- package/dist/src/lib/manager/{wafManager.js → aws/wafManager.js} +14 -13
- package/dist/src/lib/manager/aws/wafManager.js.map +1 -0
- package/dist/src/lib/manager/index.d.ts +2 -0
- package/dist/src/lib/manager/index.d.ts.map +1 -0
- package/dist/src/lib/manager/index.js +14 -0
- package/dist/src/lib/manager/index.js.map +1 -0
- package/dist/src/lib/{types.d.ts → types/aws/index.d.ts} +27 -16
- package/dist/src/lib/types/aws/index.d.ts.map +1 -0
- package/dist/src/lib/{types.js → types/aws/index.js} +1 -1
- package/dist/src/lib/types/aws/index.js.map +1 -0
- package/dist/src/lib/types/index.d.ts +2 -0
- package/dist/src/lib/types/index.d.ts.map +1 -0
- package/dist/src/lib/types/index.js +14 -0
- package/dist/src/lib/types/index.js.map +1 -0
- package/dist/src/lib/utils/aws/index.d.ts +16 -0
- package/dist/src/lib/utils/aws/index.d.ts.map +1 -0
- package/dist/src/lib/utils/aws/index.js +50 -0
- package/dist/src/lib/utils/aws/index.js.map +1 -0
- package/dist/src/lib/{utils.d.ts → utils/index.d.ts} +2 -26
- package/dist/src/lib/utils/index.d.ts.map +1 -0
- package/dist/src/lib/utils/index.js +85 -0
- package/dist/src/lib/utils/index.js.map +1 -0
- package/index.ts +3 -25
- package/package.json +28 -19
- package/src/lib/common/commonConstruct.ts +58 -78
- package/src/lib/common/commonStack.ts +3 -2
- package/src/lib/common/index.ts +2 -0
- package/src/lib/construct/graphQLApiLambda.ts +6 -5
- package/src/lib/construct/index.ts +3 -0
- package/src/lib/construct/siteWithEcsBackend.ts +45 -10
- package/src/lib/construct/staticSite.ts +41 -6
- package/src/lib/manager/{acmManager.ts → aws/acmManager.ts} +13 -12
- package/src/lib/manager/{apiManager.ts → aws/apiManager.ts} +16 -15
- package/src/lib/manager/{appConfigManager.ts → aws/appConfigManager.ts} +32 -27
- package/src/lib/manager/{cloudFrontManager.ts → aws/cloudFrontManager.ts} +69 -40
- package/src/lib/manager/{cloudTrailManager.ts → aws/cloudTrailManager.ts} +14 -13
- package/src/lib/manager/{cloudWatchManager.ts → aws/cloudWatchManager.ts} +80 -57
- package/src/lib/manager/{codeBuildManager.ts → aws/codeBuildManager.ts} +20 -4
- package/src/lib/manager/{ecrManager.ts → aws/ecrManager.ts} +10 -9
- package/src/lib/manager/{ecsManager.ts → aws/ecsManager.ts} +18 -17
- package/src/lib/manager/{eksManager.ts → aws/eksManager.ts} +14 -13
- package/src/lib/manager/{eventManager.ts → aws/eventManager.ts} +20 -19
- package/src/lib/manager/{iamManager.ts → aws/iamManager.ts} +67 -55
- package/src/lib/manager/aws/index.ts +21 -0
- package/src/lib/manager/{lambdaManager.ts → aws/lambdaManager.ts} +31 -30
- package/src/lib/manager/{logManager.ts → aws/logManager.ts} +24 -18
- package/src/lib/manager/{route53Manager.ts → aws/route53Manager.ts} +26 -25
- package/src/lib/manager/{s3Manager.ts → aws/s3Manager.ts} +26 -25
- package/src/lib/manager/{secretsManager.ts → aws/secretsManager.ts} +13 -7
- package/src/lib/manager/{snsManager.ts → aws/snsManager.ts} +20 -19
- package/src/lib/manager/{ssmManager.ts → aws/ssmManager.ts} +26 -20
- package/src/lib/manager/{vpcManager.ts → aws/vpcManager.ts} +19 -18
- package/src/lib/manager/{wafManager.ts → aws/wafManager.ts} +18 -17
- package/src/lib/manager/index.ts +1 -0
- package/src/lib/{types.ts → types/aws/index.ts} +27 -15
- package/src/lib/types/index.ts +1 -0
- package/src/lib/utils/aws/index.ts +34 -0
- package/src/lib/{utils.ts → utils/index.ts} +1 -45
- package/dist/src/lib/manager/acmManager.d.ts.map +0 -1
- package/dist/src/lib/manager/acmManager.js.map +0 -1
- package/dist/src/lib/manager/apiManager.d.ts.map +0 -1
- package/dist/src/lib/manager/apiManager.js.map +0 -1
- package/dist/src/lib/manager/appConfigManager.d.ts.map +0 -1
- package/dist/src/lib/manager/appConfigManager.js.map +0 -1
- package/dist/src/lib/manager/cloudFrontManager.d.ts +0 -100
- package/dist/src/lib/manager/cloudFrontManager.d.ts.map +0 -1
- package/dist/src/lib/manager/cloudFrontManager.js.map +0 -1
- package/dist/src/lib/manager/cloudTrailManager.d.ts.map +0 -1
- package/dist/src/lib/manager/cloudTrailManager.js.map +0 -1
- package/dist/src/lib/manager/cloudWatchManager.d.ts +0 -120
- package/dist/src/lib/manager/cloudWatchManager.d.ts.map +0 -1
- package/dist/src/lib/manager/cloudWatchManager.js.map +0 -1
- package/dist/src/lib/manager/codeBuildManager.d.ts +0 -25
- package/dist/src/lib/manager/codeBuildManager.d.ts.map +0 -1
- package/dist/src/lib/manager/codeBuildManager.js.map +0 -1
- package/dist/src/lib/manager/ecrManager.d.ts.map +0 -1
- package/dist/src/lib/manager/ecrManager.js.map +0 -1
- package/dist/src/lib/manager/ecsManager.d.ts.map +0 -1
- package/dist/src/lib/manager/ecsManager.js.map +0 -1
- package/dist/src/lib/manager/eksManager.d.ts.map +0 -1
- package/dist/src/lib/manager/eksManager.js.map +0 -1
- package/dist/src/lib/manager/eventManager.d.ts.map +0 -1
- package/dist/src/lib/manager/eventManager.js.map +0 -1
- package/dist/src/lib/manager/iamManager.d.ts +0 -154
- package/dist/src/lib/manager/iamManager.d.ts.map +0 -1
- package/dist/src/lib/manager/iamManager.js.map +0 -1
- package/dist/src/lib/manager/lambdaManager.d.ts.map +0 -1
- package/dist/src/lib/manager/lambdaManager.js.map +0 -1
- package/dist/src/lib/manager/logManager.d.ts +0 -50
- package/dist/src/lib/manager/logManager.d.ts.map +0 -1
- package/dist/src/lib/manager/logManager.js.map +0 -1
- package/dist/src/lib/manager/route53Manager.d.ts.map +0 -1
- package/dist/src/lib/manager/route53Manager.js.map +0 -1
- package/dist/src/lib/manager/s3Manager.d.ts +0 -72
- package/dist/src/lib/manager/s3Manager.d.ts.map +0 -1
- package/dist/src/lib/manager/s3Manager.js.map +0 -1
- package/dist/src/lib/manager/secretsManager.d.ts.map +0 -1
- package/dist/src/lib/manager/secretsManager.js.map +0 -1
- package/dist/src/lib/manager/snsManager.d.ts +0 -41
- package/dist/src/lib/manager/snsManager.d.ts.map +0 -1
- package/dist/src/lib/manager/snsManager.js.map +0 -1
- package/dist/src/lib/manager/ssmManager.d.ts +0 -63
- package/dist/src/lib/manager/ssmManager.d.ts.map +0 -1
- package/dist/src/lib/manager/ssmManager.js.map +0 -1
- package/dist/src/lib/manager/vpcManager.d.ts.map +0 -1
- package/dist/src/lib/manager/vpcManager.js.map +0 -1
- package/dist/src/lib/manager/wafManager.d.ts +0 -38
- package/dist/src/lib/manager/wafManager.d.ts.map +0 -1
- package/dist/src/lib/manager/wafManager.js.map +0 -1
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js.map +0 -1
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -131
- package/dist/src/lib/utils.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as appconfig from 'aws-cdk-lib/aws-appconfig';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import * as common from '../../common';
|
|
3
|
+
import * as types from '../../types';
|
|
4
4
|
/**
|
|
5
5
|
* @stability stable
|
|
6
6
|
* @category Utils
|
|
@@ -12,52 +12,53 @@ export declare const ArnsByRegion: {
|
|
|
12
12
|
/**
|
|
13
13
|
* @category Management & Governance
|
|
14
14
|
* @summary Provides operations on AWS AppConfig.
|
|
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.appConfigManager.createApplication('MyApplication', this)
|
|
25
|
+
* }
|
|
25
26
|
* }
|
|
26
27
|
*
|
|
27
|
-
* @see [CDK AppConfig Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
28
|
+
* @see [CDK AppConfig Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig-readme.html}
|
|
28
29
|
*/
|
|
29
30
|
export declare class AppConfigManager {
|
|
30
31
|
/**
|
|
31
32
|
* Method to get static ARNs for AppConfig extensions
|
|
32
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
33
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
33
34
|
*/
|
|
34
|
-
getArnForAppConfigExtension(scope: CommonConstruct): string;
|
|
35
|
+
getArnForAppConfigExtension(scope: common.CommonConstruct): string;
|
|
35
36
|
/**
|
|
36
37
|
* @summary Method to create an AppConfig Application
|
|
37
38
|
* @param {string} id scoped id of the resource
|
|
38
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
39
|
-
* @param {AppConfigProps} props
|
|
39
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
40
|
+
* @param {types.AppConfigProps} props
|
|
40
41
|
* @returns {appconfig.CfnApplication}
|
|
41
42
|
*/
|
|
42
|
-
createApplication(id: string, scope: CommonConstruct, props: AppConfigProps): appconfig.CfnApplication;
|
|
43
|
+
createApplication(id: string, scope: common.CommonConstruct, props: types.AppConfigProps): appconfig.CfnApplication;
|
|
43
44
|
/**
|
|
44
45
|
* @summary Method to create an AppConfig Environment for a given application
|
|
45
46
|
* @param {string} id scoped id of the resource
|
|
46
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
47
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
47
48
|
* @param {string} applicationId id of the application
|
|
48
|
-
* @param {AppConfigProps} props
|
|
49
|
+
* @param {types.AppConfigProps} props
|
|
49
50
|
* @returns {appconfig.CfnEnvironment}
|
|
50
51
|
*/
|
|
51
|
-
createEnvironment(id: string, scope: CommonConstruct, applicationId: string, props: AppConfigProps): appconfig.CfnEnvironment;
|
|
52
|
+
createEnvironment(id: string, scope: common.CommonConstruct, applicationId: string, props: types.AppConfigProps): appconfig.CfnEnvironment;
|
|
52
53
|
/**
|
|
53
54
|
* @summary Method to create an AppConfig Configuration Profile for a given application
|
|
54
55
|
* - <p>⚠ The <b>locationUri</b> is defaulted to <i>hosted</i> if undefined</p>
|
|
55
56
|
* @param {string} id scoped id of the resource
|
|
56
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
57
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
57
58
|
* @param {string} applicationId id of the application
|
|
58
|
-
* @param {AppConfigProps} props
|
|
59
|
+
* @param {types.AppConfigProps} props
|
|
59
60
|
* @returns {appconfig.CfnConfigurationProfile}
|
|
60
61
|
*/
|
|
61
|
-
createConfigurationProfile(id: string, scope: CommonConstruct, applicationId: string, props: AppConfigProps): appconfig.CfnConfigurationProfile;
|
|
62
|
+
createConfigurationProfile(id: string, scope: common.CommonConstruct, applicationId: string, props: types.AppConfigProps): appconfig.CfnConfigurationProfile;
|
|
62
63
|
}
|
|
63
64
|
//# sourceMappingURL=appConfigManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appConfigManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/appConfigManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAqBjD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAgB;IAC3B;;;OAGG;IACI,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe;IAIhE;;;;;;OAMG;IACI,iBAAiB,CACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,KAAK,EAAE,KAAK,CAAC,cAAc,GAC1B,SAAS,CAAC,cAAc;IAe3B;;;;;;;OAOG;IACI,iBAAiB,CACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,KAAK,CAAC,cAAc,GAC1B,SAAS,CAAC,cAAc;IAiB3B;;;;;;;;OAQG;IACI,0BAA0B,CAC/B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,KAAK,CAAC,cAAc,GAC1B,SAAS,CAAC,uBAAuB;CAkBrC"}
|
|
@@ -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,24 +53,25 @@ 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
|
|
65
65
|
* this.appConfigManager.createApplication('MyApplication', this)
|
|
66
|
+
* }
|
|
66
67
|
* }
|
|
67
68
|
*
|
|
68
|
-
* @see [CDK AppConfig Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
69
|
+
* @see [CDK AppConfig Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_appconfig-readme.html}
|
|
69
70
|
*/
|
|
70
71
|
class AppConfigManager {
|
|
71
72
|
/**
|
|
72
73
|
* Method to get static ARNs for AppConfig extensions
|
|
73
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
74
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
74
75
|
*/
|
|
75
76
|
getArnForAppConfigExtension(scope) {
|
|
76
77
|
return exports.ArnsByRegion[scope.props.region];
|
|
@@ -78,8 +79,8 @@ class AppConfigManager {
|
|
|
78
79
|
/**
|
|
79
80
|
* @summary Method to create an AppConfig Application
|
|
80
81
|
* @param {string} id scoped id of the resource
|
|
81
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
82
|
-
* @param {AppConfigProps} props
|
|
82
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
83
|
+
* @param {types.AppConfigProps} props
|
|
83
84
|
* @returns {appconfig.CfnApplication}
|
|
84
85
|
*/
|
|
85
86
|
createApplication(id, scope, props) {
|
|
@@ -90,16 +91,16 @@ class AppConfigManager {
|
|
|
90
91
|
description: props.application.description,
|
|
91
92
|
tags: props.application.tags,
|
|
92
93
|
});
|
|
93
|
-
|
|
94
|
-
|
|
94
|
+
utils.createCfnOutput(`${id}-ApplicationId`, scope, cdk.Fn.ref(application.logicalId));
|
|
95
|
+
utils.createCfnOutput(`${id}-ApplicationName`, scope, application.name);
|
|
95
96
|
return application;
|
|
96
97
|
}
|
|
97
98
|
/**
|
|
98
99
|
* @summary Method to create an AppConfig Environment for a given application
|
|
99
100
|
* @param {string} id scoped id of the resource
|
|
100
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
101
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
101
102
|
* @param {string} applicationId id of the application
|
|
102
|
-
* @param {AppConfigProps} props
|
|
103
|
+
* @param {types.AppConfigProps} props
|
|
103
104
|
* @returns {appconfig.CfnEnvironment}
|
|
104
105
|
*/
|
|
105
106
|
createEnvironment(id, scope, applicationId, props) {
|
|
@@ -112,17 +113,17 @@ class AppConfigManager {
|
|
|
112
113
|
monitors: props.environment.monitors,
|
|
113
114
|
tags: props.environment.tags,
|
|
114
115
|
});
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
utils.createCfnOutput(`${id}-configurationEnvironmentId`, scope, cdk.Fn.ref(environment.logicalId));
|
|
117
|
+
utils.createCfnOutput(`${id}-configurationEnvironmentName`, scope, environment.name);
|
|
117
118
|
return environment;
|
|
118
119
|
}
|
|
119
120
|
/**
|
|
120
121
|
* @summary Method to create an AppConfig Configuration Profile for a given application
|
|
121
122
|
* - <p>⚠ The <b>locationUri</b> is defaulted to <i>hosted</i> if undefined</p>
|
|
122
123
|
* @param {string} id scoped id of the resource
|
|
123
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
124
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
124
125
|
* @param {string} applicationId id of the application
|
|
125
|
-
* @param {AppConfigProps} props
|
|
126
|
+
* @param {types.AppConfigProps} props
|
|
126
127
|
* @returns {appconfig.CfnConfigurationProfile}
|
|
127
128
|
*/
|
|
128
129
|
createConfigurationProfile(id, scope, applicationId, props) {
|
|
@@ -137,8 +138,8 @@ class AppConfigManager {
|
|
|
137
138
|
tags: props.configurationProfile.tags,
|
|
138
139
|
validators: props.configurationProfile.validators,
|
|
139
140
|
});
|
|
140
|
-
|
|
141
|
-
|
|
141
|
+
utils.createCfnOutput(`${id}-configurationProfileId`, scope, cdk.Fn.ref(profile.logicalId));
|
|
142
|
+
utils.createCfnOutput(`${id}-configurationProfileName`, scope, profile.name);
|
|
142
143
|
return profile;
|
|
143
144
|
}
|
|
144
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":"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"}
|
|
@@ -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
|
|
@@ -46,9 +46,10 @@ const cr = __importStar(require("aws-cdk-lib/custom-resources"));
|
|
|
46
46
|
* originAccessIdentity,
|
|
47
47
|
* certificate
|
|
48
48
|
* )
|
|
49
|
+
* }
|
|
49
50
|
* }
|
|
50
51
|
*
|
|
51
|
-
* @see [CDK CloudFront Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
52
|
+
* @see [CDK CloudFront Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront-readme.html}
|
|
52
53
|
*/
|
|
53
54
|
class CloudFrontManager {
|
|
54
55
|
createOriginAccessIdentity(id, scope, accessBucket) {
|
|
@@ -64,8 +65,8 @@ class CloudFrontManager {
|
|
|
64
65
|
*
|
|
65
66
|
* @summary Method to create a cloudfront distribution
|
|
66
67
|
* @param {string} id scoped id of the resource
|
|
67
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
68
|
-
* @param {CloudFrontProps} props distribution properties
|
|
68
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
69
|
+
* @param {types.CloudFrontProps} props distribution properties
|
|
69
70
|
* @param {s3.IBucket?} siteBucket
|
|
70
71
|
* @param {s3.IBucket?} logBucket
|
|
71
72
|
* @param {cloudfront.OriginAccessIdentity?} oai
|
|
@@ -108,23 +109,24 @@ class CloudFrontManager {
|
|
|
108
109
|
}),
|
|
109
110
|
webACLId: props.webACLId,
|
|
110
111
|
});
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
utils.createCfnOutput(`${id}-distributionId`, scope, distribution.distributionId);
|
|
113
|
+
utils.createCfnOutput(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
|
|
113
114
|
return distribution;
|
|
114
115
|
}
|
|
115
116
|
/**
|
|
116
117
|
* Method to create a CloudFront distribution with S3 Origin
|
|
117
118
|
* @param {string} id scoped id of the resource
|
|
118
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
119
|
-
* @param {
|
|
119
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
120
|
+
* @param {types.DistributionProps} props distribution properties
|
|
120
121
|
* @param {origins.S3Origin} origin
|
|
121
122
|
* @param {s3.IBucket} siteBucket
|
|
122
123
|
* @param {s3.IBucket?} logBucket
|
|
123
124
|
* @param {cloudfront.OriginAccessIdentity?} oai
|
|
124
125
|
* @param {acm.ICertificate?} certificate
|
|
125
126
|
* @param {string[]?} aliases
|
|
127
|
+
* @param {cloudfront.FunctionAssociation?} defaultFunctionAssociations
|
|
126
128
|
*/
|
|
127
|
-
createDistributionWithS3Origin(id, scope, props, origin, siteBucket, logBucket, oai, certificate, aliases) {
|
|
129
|
+
createDistributionWithS3Origin(id, scope, props, origin, siteBucket, logBucket, oai, certificate, aliases, defaultFunctionAssociations) {
|
|
128
130
|
const distribution = new cloudfront.Distribution(scope, `${id}`, {
|
|
129
131
|
certificate: certificate,
|
|
130
132
|
comment: `${id} - ${scope.props.stage} stage`,
|
|
@@ -132,6 +134,7 @@ class CloudFrontManager {
|
|
|
132
134
|
cachePolicy: props.defaultBehavior ? props.defaultBehavior.cachePolicy : undefined,
|
|
133
135
|
origin: origin,
|
|
134
136
|
originRequestPolicy: props.defaultBehavior ? props.defaultBehavior.originRequestPolicy : undefined,
|
|
137
|
+
functionAssociations: defaultFunctionAssociations ?? undefined,
|
|
135
138
|
},
|
|
136
139
|
additionalBehaviors: props.additionalBehaviors,
|
|
137
140
|
defaultRootObject: props.defaultRootObject,
|
|
@@ -149,21 +152,22 @@ class CloudFrontManager {
|
|
|
149
152
|
priceClass: props.priceClass ?? cloudfront.PriceClass.PRICE_CLASS_ALL,
|
|
150
153
|
webAclId: props.webAclId,
|
|
151
154
|
});
|
|
152
|
-
|
|
153
|
-
|
|
155
|
+
utils.createCfnOutput(`${id}-distributionId`, scope, distribution.distributionId);
|
|
156
|
+
utils.createCfnOutput(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
|
|
154
157
|
return distribution;
|
|
155
158
|
}
|
|
156
159
|
/**
|
|
157
160
|
* Method to create a CloudFront distribution with HTTP Origin
|
|
158
161
|
* @param {string} id scoped id of the resource
|
|
159
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
160
|
-
* @param {
|
|
162
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
163
|
+
* @param {types.DistributionProps} props distribution properties
|
|
161
164
|
* @param {origins.S3Origin} origin
|
|
162
165
|
* @param {string[]} domainNames
|
|
163
166
|
* @param {s3.IBucket?} logBucket
|
|
164
167
|
* @param {acm.ICertificate?} certificate
|
|
168
|
+
* @param {cloudfront.FunctionAssociation?} defaultFunctionAssociations
|
|
165
169
|
*/
|
|
166
|
-
createDistributionWithHttpOrigin(id, scope, props, origin, domainNames, logBucket, certificate) {
|
|
170
|
+
createDistributionWithHttpOrigin(id, scope, props, origin, domainNames, logBucket, certificate, defaultFunctionAssociations) {
|
|
167
171
|
const distribution = new cloudfront.Distribution(scope, `${id}`, {
|
|
168
172
|
certificate: certificate,
|
|
169
173
|
comment: `${id} - ${scope.props.stage} stage`,
|
|
@@ -171,6 +175,7 @@ class CloudFrontManager {
|
|
|
171
175
|
cachePolicy: props.defaultBehavior ? props.defaultBehavior.cachePolicy : undefined,
|
|
172
176
|
origin: origin,
|
|
173
177
|
originRequestPolicy: props.defaultBehavior ? props.defaultBehavior.originRequestPolicy : undefined,
|
|
178
|
+
functionAssociations: defaultFunctionAssociations ?? undefined,
|
|
174
179
|
},
|
|
175
180
|
additionalBehaviors: props.additionalBehaviors,
|
|
176
181
|
defaultRootObject: props.defaultRootObject,
|
|
@@ -188,16 +193,16 @@ class CloudFrontManager {
|
|
|
188
193
|
priceClass: props.priceClass ?? cloudfront.PriceClass.PRICE_CLASS_ALL,
|
|
189
194
|
webAclId: props.webAclId,
|
|
190
195
|
});
|
|
191
|
-
|
|
192
|
-
|
|
196
|
+
utils.createCfnOutput(`${id}-distributionId`, scope, distribution.distributionId);
|
|
197
|
+
utils.createCfnOutput(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
|
|
193
198
|
return distribution;
|
|
194
199
|
}
|
|
195
200
|
/**
|
|
196
201
|
* @summary Method to provision a Lambda@Edge function
|
|
197
202
|
*
|
|
198
203
|
* @param {string} id scoped id of the resource
|
|
199
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
200
|
-
* @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
|
|
201
206
|
* @param {lambda.ILayerVersion[]} layers
|
|
202
207
|
* @param {lambda.AssetCode} code
|
|
203
208
|
* @param {Map<string, string>} environment
|
|
@@ -227,9 +232,9 @@ class CloudFrontManager {
|
|
|
227
232
|
timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(1),
|
|
228
233
|
vpc: vpc,
|
|
229
234
|
});
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
235
|
+
utils.createCfnOutput(`${id}-edgeArn`, scope, edgeFunction.edgeArn);
|
|
236
|
+
utils.createCfnOutput(`${id}-edgeFunctionArn`, scope, edgeFunction.functionArn);
|
|
237
|
+
utils.createCfnOutput(`${id}-edgeFunctionName`, scope, edgeFunction.functionName);
|
|
233
238
|
return edgeFunction;
|
|
234
239
|
}
|
|
235
240
|
/**
|
|
@@ -253,6 +258,25 @@ class CloudFrontManager {
|
|
|
253
258
|
policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE }),
|
|
254
259
|
});
|
|
255
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
|
+
}
|
|
256
280
|
}
|
|
257
281
|
exports.CloudFrontManager = CloudFrontManager;
|
|
258
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
|
|
@@ -24,22 +24,23 @@ import { CloudTrailProps } from '../types';
|
|
|
24
24
|
* logBucket,
|
|
25
25
|
* logBucketPolicy
|
|
26
26
|
* )
|
|
27
|
+
* }
|
|
27
28
|
* }
|
|
28
29
|
*
|
|
29
|
-
* @see [CDK CloudTrail Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
30
|
+
* @see [CDK CloudTrail Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudtrail-readme.html}
|
|
30
31
|
*/
|
|
31
32
|
export declare class CloudTrailManager {
|
|
32
33
|
/**
|
|
33
34
|
* @summary Method to create a cloud trail
|
|
34
35
|
* @param {string} id scoped id of the resource
|
|
35
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
36
|
-
* @param {CloudTrailProps} props
|
|
36
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
37
|
+
* @param {types.CloudTrailProps} props
|
|
37
38
|
* @param {logs.CfnLogGroup} logGroup
|
|
38
39
|
* @param {s3.IBucket} dataBucket
|
|
39
40
|
* @param {s3.IBucket} logBucket
|
|
40
41
|
* @param {s3.CfnBucketPolicy} logBucketPolicy
|
|
41
42
|
*/
|
|
42
|
-
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): {
|
|
43
44
|
cloudTrailRole: import("aws-cdk-lib/aws-iam").CfnRole;
|
|
44
45
|
cloudTrail: cloudtrail.CfnTrail;
|
|
45
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
|
|
@@ -43,16 +43,17 @@ const utils_1 = require("../utils");
|
|
|
43
43
|
* logBucket,
|
|
44
44
|
* logBucketPolicy
|
|
45
45
|
* )
|
|
46
|
+
* }
|
|
46
47
|
* }
|
|
47
48
|
*
|
|
48
|
-
* @see [CDK CloudTrail Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
49
|
+
* @see [CDK CloudTrail Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudtrail-readme.html}
|
|
49
50
|
*/
|
|
50
51
|
class CloudTrailManager {
|
|
51
52
|
/**
|
|
52
53
|
* @summary Method to create a cloud trail
|
|
53
54
|
* @param {string} id scoped id of the resource
|
|
54
|
-
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
55
|
-
* @param {CloudTrailProps} props
|
|
55
|
+
* @param {common.CommonConstruct} scope scope in which this resource is defined
|
|
56
|
+
* @param {types.CloudTrailProps} props
|
|
56
57
|
* @param {logs.CfnLogGroup} logGroup
|
|
57
58
|
* @param {s3.IBucket} dataBucket
|
|
58
59
|
* @param {s3.IBucket} logBucket
|
|
@@ -89,8 +90,8 @@ class CloudTrailManager {
|
|
|
89
90
|
cloudTrail.addDependsOn(logBucketPolicy);
|
|
90
91
|
cloudTrail.addDependsOn(logGroup);
|
|
91
92
|
cloudTrail.addDependsOn(role);
|
|
92
|
-
|
|
93
|
-
|
|
93
|
+
utils.createCfnOutput(`${id}-trailName`, scope, cloudTrail.trailName);
|
|
94
|
+
utils.createCfnOutput(`${id}-trailArn`, scope, cloudTrail.attrArn);
|
|
94
95
|
return { cloudTrailRole: role, cloudTrail };
|
|
95
96
|
}
|
|
96
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"}
|