@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.
Files changed (227) hide show
  1. package/dist/index.d.ts +3 -25
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -25
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/lib/common/commonConstruct.d.ts +25 -45
  6. package/dist/src/lib/common/commonConstruct.d.ts.map +1 -1
  7. package/dist/src/lib/common/commonConstruct.js +48 -49
  8. package/dist/src/lib/common/commonConstruct.js.map +1 -1
  9. package/dist/src/lib/common/commonStack.d.ts +1 -1
  10. package/dist/src/lib/common/commonStack.d.ts.map +1 -1
  11. package/dist/src/lib/common/commonStack.js.map +1 -1
  12. package/dist/src/lib/common/index.d.ts +3 -0
  13. package/dist/src/lib/common/index.d.ts.map +1 -0
  14. package/dist/src/lib/common/index.js +15 -0
  15. package/dist/src/lib/common/index.js.map +1 -0
  16. package/dist/src/lib/construct/graphQLApiLambda.d.ts +5 -5
  17. package/dist/src/lib/construct/graphQLApiLambda.d.ts.map +1 -1
  18. package/dist/src/lib/construct/graphQLApiLambda.js +2 -2
  19. package/dist/src/lib/construct/graphQLApiLambda.js.map +1 -1
  20. package/dist/src/lib/construct/index.d.ts +4 -0
  21. package/dist/src/lib/construct/index.d.ts.map +1 -0
  22. package/dist/src/lib/construct/index.js +16 -0
  23. package/dist/src/lib/construct/index.js.map +1 -0
  24. package/dist/src/lib/construct/siteWithEcsBackend.d.ts +20 -8
  25. package/dist/src/lib/construct/siteWithEcsBackend.d.ts.map +1 -1
  26. package/dist/src/lib/construct/siteWithEcsBackend.js +32 -5
  27. package/dist/src/lib/construct/siteWithEcsBackend.js.map +1 -1
  28. package/dist/src/lib/construct/staticSite.d.ts +17 -5
  29. package/dist/src/lib/construct/staticSite.d.ts.map +1 -1
  30. package/dist/src/lib/construct/staticSite.js +30 -2
  31. package/dist/src/lib/construct/staticSite.js.map +1 -1
  32. package/dist/src/lib/manager/{acmManager.d.ts → aws/acmManager.d.ts} +7 -7
  33. package/dist/src/lib/manager/aws/acmManager.d.ts.map +1 -0
  34. package/dist/src/lib/manager/{acmManager.js → aws/acmManager.js} +7 -7
  35. package/dist/src/lib/manager/aws/acmManager.js.map +1 -0
  36. package/dist/src/lib/manager/{apiManager.d.ts → aws/apiManager.d.ts} +10 -10
  37. package/dist/src/lib/manager/aws/apiManager.d.ts.map +1 -0
  38. package/dist/src/lib/manager/{apiManager.js → aws/apiManager.js} +12 -14
  39. package/dist/src/lib/manager/aws/apiManager.js.map +1 -0
  40. package/dist/src/lib/manager/{appConfigManager.d.ts → aws/appConfigManager.d.ts} +16 -16
  41. package/dist/src/lib/manager/aws/appConfigManager.d.ts.map +1 -0
  42. package/dist/src/lib/manager/{appConfigManager.js → aws/appConfigManager.js} +18 -18
  43. package/dist/src/lib/manager/aws/appConfigManager.js.map +1 -0
  44. package/dist/src/lib/manager/aws/cloudFrontManager.d.ts +112 -0
  45. package/dist/src/lib/manager/aws/cloudFrontManager.d.ts.map +1 -0
  46. package/dist/src/lib/manager/{cloudFrontManager.js → aws/cloudFrontManager.js} +47 -24
  47. package/dist/src/lib/manager/aws/cloudFrontManager.js.map +1 -0
  48. package/dist/src/lib/manager/{cloudTrailManager.d.ts → aws/cloudTrailManager.d.ts} +8 -8
  49. package/dist/src/lib/manager/aws/cloudTrailManager.d.ts.map +1 -0
  50. package/dist/src/lib/manager/{cloudTrailManager.js → aws/cloudTrailManager.js} +8 -8
  51. package/dist/src/lib/manager/aws/cloudTrailManager.js.map +1 -0
  52. package/dist/src/lib/manager/aws/cloudWatchManager.d.ts +121 -0
  53. package/dist/src/lib/manager/aws/cloudWatchManager.d.ts.map +1 -0
  54. package/dist/src/lib/manager/{cloudWatchManager.js → aws/cloudWatchManager.js} +46 -35
  55. package/dist/src/lib/manager/aws/cloudWatchManager.js.map +1 -0
  56. package/dist/src/lib/manager/{codeBuildManager.d.ts → aws/codeBuildManager.d.ts} +7 -8
  57. package/dist/src/lib/manager/aws/codeBuildManager.d.ts.map +1 -0
  58. package/dist/src/lib/manager/{codeBuildManager.js → aws/codeBuildManager.js} +5 -5
  59. package/dist/src/lib/manager/aws/codeBuildManager.js.map +1 -0
  60. package/dist/src/lib/manager/{ecrManager.d.ts → aws/ecrManager.d.ts} +6 -6
  61. package/dist/src/lib/manager/aws/ecrManager.d.ts.map +1 -0
  62. package/dist/src/lib/manager/{ecrManager.js → aws/ecrManager.js} +6 -6
  63. package/dist/src/lib/manager/aws/ecrManager.js.map +1 -0
  64. package/dist/src/lib/manager/{ecsManager.d.ts → aws/ecsManager.d.ts} +11 -11
  65. package/dist/src/lib/manager/aws/ecsManager.d.ts.map +1 -0
  66. package/dist/src/lib/manager/{ecsManager.js → aws/ecsManager.js} +11 -11
  67. package/dist/src/lib/manager/aws/ecsManager.js.map +1 -0
  68. package/dist/src/lib/manager/{eksManager.d.ts → aws/eksManager.d.ts} +8 -8
  69. package/dist/src/lib/manager/aws/eksManager.d.ts.map +1 -0
  70. package/dist/src/lib/manager/{eksManager.js → aws/eksManager.js} +8 -8
  71. package/dist/src/lib/manager/aws/eksManager.js.map +1 -0
  72. package/dist/src/lib/manager/{eventManager.d.ts → aws/eventManager.d.ts} +11 -11
  73. package/dist/src/lib/manager/aws/eventManager.d.ts.map +1 -0
  74. package/dist/src/lib/manager/{eventManager.js → aws/eventManager.js} +12 -12
  75. package/dist/src/lib/manager/aws/eventManager.js.map +1 -0
  76. package/dist/src/lib/manager/aws/iamManager.d.ts +156 -0
  77. package/dist/src/lib/manager/aws/iamManager.d.ts.map +1 -0
  78. package/dist/src/lib/manager/{iamManager.js → aws/iamManager.js} +35 -34
  79. package/dist/src/lib/manager/aws/iamManager.js.map +1 -0
  80. package/dist/src/lib/manager/aws/index.d.ts +22 -0
  81. package/dist/src/lib/manager/aws/index.d.ts.map +1 -0
  82. package/dist/src/lib/manager/aws/index.js +34 -0
  83. package/dist/src/lib/manager/aws/index.js.map +1 -0
  84. package/dist/src/lib/manager/{lambdaManager.d.ts → aws/lambdaManager.d.ts} +19 -19
  85. package/dist/src/lib/manager/aws/lambdaManager.d.ts.map +1 -0
  86. package/dist/src/lib/manager/{lambdaManager.js → aws/lambdaManager.js} +19 -19
  87. package/dist/src/lib/manager/aws/lambdaManager.js.map +1 -0
  88. package/dist/src/lib/manager/{logManager.d.ts → aws/logManager.d.ts} +14 -14
  89. package/dist/src/lib/manager/aws/logManager.d.ts.map +1 -0
  90. package/dist/src/lib/manager/{logManager.js → aws/logManager.js} +12 -12
  91. package/dist/src/lib/manager/aws/logManager.js.map +1 -0
  92. package/dist/src/lib/manager/{route53Manager.d.ts → aws/route53Manager.d.ts} +16 -16
  93. package/dist/src/lib/manager/aws/route53Manager.d.ts.map +1 -0
  94. package/dist/src/lib/manager/{route53Manager.js → aws/route53Manager.js} +17 -17
  95. package/dist/src/lib/manager/aws/route53Manager.js.map +1 -0
  96. package/dist/src/lib/manager/aws/s3Manager.d.ts +73 -0
  97. package/dist/src/lib/manager/aws/s3Manager.d.ts.map +1 -0
  98. package/dist/src/lib/manager/{s3Manager.js → aws/s3Manager.js} +15 -15
  99. package/dist/src/lib/manager/aws/s3Manager.js.map +1 -0
  100. package/dist/src/lib/manager/{secretsManager.d.ts → aws/secretsManager.d.ts} +5 -5
  101. package/dist/src/lib/manager/aws/secretsManager.d.ts.map +1 -0
  102. package/dist/src/lib/manager/{secretsManager.js → aws/secretsManager.js} +3 -3
  103. package/dist/src/lib/manager/aws/secretsManager.js.map +1 -0
  104. package/dist/src/lib/manager/{snsManager.d.ts → aws/snsManager.d.ts} +11 -11
  105. package/dist/src/lib/manager/aws/snsManager.d.ts.map +1 -0
  106. package/dist/src/lib/manager/{snsManager.js → aws/snsManager.js} +12 -12
  107. package/dist/src/lib/manager/aws/snsManager.js.map +1 -0
  108. package/dist/src/lib/manager/{ssmManager.d.ts → aws/ssmManager.d.ts} +16 -16
  109. package/dist/src/lib/manager/aws/ssmManager.d.ts.map +1 -0
  110. package/dist/src/lib/manager/{ssmManager.js → aws/ssmManager.js} +13 -13
  111. package/dist/src/lib/manager/aws/ssmManager.js.map +1 -0
  112. package/dist/src/lib/manager/{vpcManager.d.ts → aws/vpcManager.d.ts} +10 -10
  113. package/dist/src/lib/manager/aws/vpcManager.d.ts.map +1 -0
  114. package/dist/src/lib/manager/{vpcManager.js → aws/vpcManager.js} +13 -13
  115. package/dist/src/lib/manager/aws/vpcManager.js.map +1 -0
  116. package/dist/src/lib/manager/aws/wafManager.d.ts +39 -0
  117. package/dist/src/lib/manager/aws/wafManager.d.ts.map +1 -0
  118. package/dist/src/lib/manager/{wafManager.js → aws/wafManager.js} +12 -12
  119. package/dist/src/lib/manager/aws/wafManager.js.map +1 -0
  120. package/dist/src/lib/manager/index.d.ts +2 -0
  121. package/dist/src/lib/manager/index.d.ts.map +1 -0
  122. package/dist/src/lib/manager/index.js +14 -0
  123. package/dist/src/lib/manager/index.js.map +1 -0
  124. package/dist/src/lib/{types.d.ts → types/aws/index.d.ts} +27 -16
  125. package/dist/src/lib/types/aws/index.d.ts.map +1 -0
  126. package/dist/src/lib/{types.js → types/aws/index.js} +1 -1
  127. package/dist/src/lib/types/aws/index.js.map +1 -0
  128. package/dist/src/lib/types/index.d.ts +2 -0
  129. package/dist/src/lib/types/index.d.ts.map +1 -0
  130. package/dist/src/lib/types/index.js +14 -0
  131. package/dist/src/lib/types/index.js.map +1 -0
  132. package/dist/src/lib/utils/aws/index.d.ts +16 -0
  133. package/dist/src/lib/utils/aws/index.d.ts.map +1 -0
  134. package/dist/src/lib/utils/aws/index.js +50 -0
  135. package/dist/src/lib/utils/aws/index.js.map +1 -0
  136. package/dist/src/lib/{utils.d.ts → utils/index.d.ts} +2 -26
  137. package/dist/src/lib/utils/index.d.ts.map +1 -0
  138. package/dist/src/lib/utils/index.js +85 -0
  139. package/dist/src/lib/utils/index.js.map +1 -0
  140. package/index.ts +3 -25
  141. package/package.json +26 -16
  142. package/src/lib/common/commonConstruct.ts +53 -73
  143. package/src/lib/common/commonStack.ts +1 -1
  144. package/src/lib/common/index.ts +2 -0
  145. package/src/lib/construct/graphQLApiLambda.ts +5 -5
  146. package/src/lib/construct/index.ts +3 -0
  147. package/src/lib/construct/siteWithEcsBackend.ts +44 -10
  148. package/src/lib/construct/staticSite.ts +40 -6
  149. package/src/lib/manager/{acmManager.ts → aws/acmManager.ts} +11 -11
  150. package/src/lib/manager/{apiManager.ts → aws/apiManager.ts} +16 -18
  151. package/src/lib/manager/{appConfigManager.ts → aws/appConfigManager.ts} +30 -26
  152. package/src/lib/manager/{cloudFrontManager.ts → aws/cloudFrontManager.ts} +67 -39
  153. package/src/lib/manager/{cloudTrailManager.ts → aws/cloudTrailManager.ts} +12 -12
  154. package/src/lib/manager/{cloudWatchManager.ts → aws/cloudWatchManager.ts} +78 -56
  155. package/src/lib/manager/{codeBuildManager.ts → aws/codeBuildManager.ts} +8 -8
  156. package/src/lib/manager/{ecrManager.ts → aws/ecrManager.ts} +8 -8
  157. package/src/lib/manager/{ecsManager.ts → aws/ecsManager.ts} +16 -16
  158. package/src/lib/manager/{eksManager.ts → aws/eksManager.ts} +12 -12
  159. package/src/lib/manager/{eventManager.ts → aws/eventManager.ts} +18 -18
  160. package/src/lib/manager/{iamManager.ts → aws/iamManager.ts} +65 -54
  161. package/src/lib/manager/aws/index.ts +21 -0
  162. package/src/lib/manager/{lambdaManager.ts → aws/lambdaManager.ts} +29 -29
  163. package/src/lib/manager/{logManager.ts → aws/logManager.ts} +22 -17
  164. package/src/lib/manager/{route53Manager.ts → aws/route53Manager.ts} +24 -24
  165. package/src/lib/manager/{s3Manager.ts → aws/s3Manager.ts} +24 -24
  166. package/src/lib/manager/{secretsManager.ts → aws/secretsManager.ts} +10 -5
  167. package/src/lib/manager/{snsManager.ts → aws/snsManager.ts} +18 -18
  168. package/src/lib/manager/{ssmManager.ts → aws/ssmManager.ts} +24 -19
  169. package/src/lib/manager/{vpcManager.ts → aws/vpcManager.ts} +17 -17
  170. package/src/lib/manager/{wafManager.ts → aws/wafManager.ts} +16 -16
  171. package/src/lib/manager/index.ts +1 -0
  172. package/src/lib/{types.ts → types/aws/index.ts} +27 -15
  173. package/src/lib/types/index.ts +1 -0
  174. package/src/lib/utils/aws/index.ts +34 -0
  175. package/src/lib/{utils.ts → utils/index.ts} +1 -45
  176. package/dist/src/lib/manager/acmManager.d.ts.map +0 -1
  177. package/dist/src/lib/manager/acmManager.js.map +0 -1
  178. package/dist/src/lib/manager/apiManager.d.ts.map +0 -1
  179. package/dist/src/lib/manager/apiManager.js.map +0 -1
  180. package/dist/src/lib/manager/appConfigManager.d.ts.map +0 -1
  181. package/dist/src/lib/manager/appConfigManager.js.map +0 -1
  182. package/dist/src/lib/manager/cloudFrontManager.d.ts +0 -101
  183. package/dist/src/lib/manager/cloudFrontManager.d.ts.map +0 -1
  184. package/dist/src/lib/manager/cloudFrontManager.js.map +0 -1
  185. package/dist/src/lib/manager/cloudTrailManager.d.ts.map +0 -1
  186. package/dist/src/lib/manager/cloudTrailManager.js.map +0 -1
  187. package/dist/src/lib/manager/cloudWatchManager.d.ts +0 -121
  188. package/dist/src/lib/manager/cloudWatchManager.d.ts.map +0 -1
  189. package/dist/src/lib/manager/cloudWatchManager.js.map +0 -1
  190. package/dist/src/lib/manager/codeBuildManager.d.ts.map +0 -1
  191. package/dist/src/lib/manager/codeBuildManager.js.map +0 -1
  192. package/dist/src/lib/manager/ecrManager.d.ts.map +0 -1
  193. package/dist/src/lib/manager/ecrManager.js.map +0 -1
  194. package/dist/src/lib/manager/ecsManager.d.ts.map +0 -1
  195. package/dist/src/lib/manager/ecsManager.js.map +0 -1
  196. package/dist/src/lib/manager/eksManager.d.ts.map +0 -1
  197. package/dist/src/lib/manager/eksManager.js.map +0 -1
  198. package/dist/src/lib/manager/eventManager.d.ts.map +0 -1
  199. package/dist/src/lib/manager/eventManager.js.map +0 -1
  200. package/dist/src/lib/manager/iamManager.d.ts +0 -155
  201. package/dist/src/lib/manager/iamManager.d.ts.map +0 -1
  202. package/dist/src/lib/manager/iamManager.js.map +0 -1
  203. package/dist/src/lib/manager/lambdaManager.d.ts.map +0 -1
  204. package/dist/src/lib/manager/lambdaManager.js.map +0 -1
  205. package/dist/src/lib/manager/logManager.d.ts.map +0 -1
  206. package/dist/src/lib/manager/logManager.js.map +0 -1
  207. package/dist/src/lib/manager/route53Manager.d.ts.map +0 -1
  208. package/dist/src/lib/manager/route53Manager.js.map +0 -1
  209. package/dist/src/lib/manager/s3Manager.d.ts +0 -73
  210. package/dist/src/lib/manager/s3Manager.d.ts.map +0 -1
  211. package/dist/src/lib/manager/s3Manager.js.map +0 -1
  212. package/dist/src/lib/manager/secretsManager.d.ts.map +0 -1
  213. package/dist/src/lib/manager/secretsManager.js.map +0 -1
  214. package/dist/src/lib/manager/snsManager.d.ts.map +0 -1
  215. package/dist/src/lib/manager/snsManager.js.map +0 -1
  216. package/dist/src/lib/manager/ssmManager.d.ts.map +0 -1
  217. package/dist/src/lib/manager/ssmManager.js.map +0 -1
  218. package/dist/src/lib/manager/vpcManager.d.ts.map +0 -1
  219. package/dist/src/lib/manager/vpcManager.js.map +0 -1
  220. package/dist/src/lib/manager/wafManager.d.ts +0 -39
  221. package/dist/src/lib/manager/wafManager.d.ts.map +0 -1
  222. package/dist/src/lib/manager/wafManager.js.map +0 -1
  223. package/dist/src/lib/types.d.ts.map +0 -1
  224. package/dist/src/lib/types.js.map +0 -1
  225. package/dist/src/lib/utils.d.ts.map +0 -1
  226. package/dist/src/lib/utils.js +0 -131
  227. 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 utils_1 = require("../utils");
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
- (0, utils_1.createCfnOutput)(`${id}-ApplicationId`, scope, cdk.Fn.ref(application.logicalId));
95
- (0, utils_1.createCfnOutput)(`${id}-ApplicationName`, scope, application.name);
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
- (0, utils_1.createCfnOutput)(`${id}-configurationEnvironmentId`, scope, cdk.Fn.ref(environment.logicalId));
117
- (0, utils_1.createCfnOutput)(`${id}-configurationEnvironmentName`, scope, environment.name);
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>&#9888; 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
- (0, utils_1.createCfnOutput)(`${id}-configurationProfileId`, scope, cdk.Fn.ref(profile.logicalId));
142
- (0, utils_1.createCfnOutput)(`${id}-configurationProfileName`, scope, profile.name);
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":"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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
@@ -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
- (0, utils_1.createCfnOutput)(`${id}-distributionId`, scope, distribution.distributionId);
113
- (0, utils_1.createCfnOutput)(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
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 {CloudFrontProps} props distribution properties
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
- (0, utils_1.createCfnOutput)(`${id}-distributionId`, scope, distribution.distributionId);
154
- (0, utils_1.createCfnOutput)(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
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 {CloudFrontProps} props distribution properties
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
- (0, utils_1.createCfnOutput)(`${id}-distributionId`, scope, distribution.distributionId);
193
- (0, utils_1.createCfnOutput)(`${id}-distributionDomainName`, scope, distribution.distributionDomainName);
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
- (0, utils_1.createCfnOutput)(`${id}-edgeArn`, scope, edgeFunction.edgeArn);
232
- (0, utils_1.createCfnOutput)(`${id}-edgeFunctionArn`, scope, edgeFunction.functionArn);
233
- (0, utils_1.createCfnOutput)(`${id}-edgeFunctionName`, scope, edgeFunction.functionName);
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 { CommonConstruct } from '../common/commonConstruct';
5
- import { CloudTrailProps } from '../types';
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 utils_1 = require("../utils");
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
- (0, utils_1.createCfnOutput)(`${id}-trailName`, scope, cloudTrail.trailName);
94
- (0, utils_1.createCfnOutput)(`${id}-trailArn`, scope, cloudTrail.attrArn);
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"}