@gradientedge/cdk-utils 8.122.0 → 8.124.0

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 (61) hide show
  1. package/app/api-destined-function/node_modules/.bin/uuid +2 -2
  2. package/app/api-destined-function/package.json +1 -1
  3. package/dist/src/lib/aws/common/stack.js +5 -7
  4. package/dist/src/lib/aws/construct/api-to-any-target/main.js +24 -26
  5. package/dist/src/lib/aws/construct/api-to-eventbridge-target/main.js +85 -103
  6. package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.js +94 -120
  7. package/dist/src/lib/aws/construct/api-to-lambda-target/main.js +8 -10
  8. package/dist/src/lib/aws/construct/graphql-api-lambda/main.js +7 -3
  9. package/dist/src/lib/aws/construct/graphql-api-lambda-with-cache/main.js +5 -1
  10. package/dist/src/lib/aws/construct/lambda-with-iam-access/main.js +5 -1
  11. package/dist/src/lib/aws/construct/rest-api-lambda/main.js +7 -3
  12. package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/main.js +5 -1
  13. package/dist/src/lib/aws/construct/site-with-ecs-backend/main.js +8 -6
  14. package/dist/src/lib/aws/construct/static-asset-deployment/main.js +5 -1
  15. package/dist/src/lib/aws/services/api-gateway/main.js +18 -10
  16. package/dist/src/lib/aws/services/cloudfront/main.js +11 -7
  17. package/dist/src/lib/aws/services/cloudwatch/logs.js +8 -4
  18. package/dist/src/lib/aws/services/cloudwatch/main.js +36 -78
  19. package/dist/src/lib/aws/services/dynamodb/main.js +6 -2
  20. package/dist/src/lib/aws/services/elastic-container-service/main.js +8 -4
  21. package/dist/src/lib/aws/services/elastic-file-system/main.js +5 -1
  22. package/dist/src/lib/aws/services/elasticache/main.js +6 -2
  23. package/dist/src/lib/aws/services/eventbridge/main.js +8 -4
  24. package/dist/src/lib/aws/services/lambda/main.js +7 -3
  25. package/dist/src/lib/aws/services/simple-notification-service/main.js +6 -2
  26. package/dist/src/lib/aws/services/simple-queue-service/main.js +6 -2
  27. package/dist/src/lib/aws/services/simple-storage-service/main.js +8 -4
  28. package/dist/src/lib/aws/services/step-function/main.js +52 -32
  29. package/dist/src/lib/aws/services/virtual-private-cloud/main.js +8 -4
  30. package/dist/src/lib/azure/common/stack.js +5 -7
  31. package/dist/src/lib/common/index.js +7 -3
  32. package/package.json +16 -16
  33. package/src/lib/aws/common/stack.ts +5 -7
  34. package/src/lib/aws/construct/api-to-any-target/main.ts +25 -27
  35. package/src/lib/aws/construct/api-to-eventbridge-target/main.ts +85 -103
  36. package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.ts +94 -120
  37. package/src/lib/aws/construct/api-to-lambda-target/main.ts +8 -10
  38. package/src/lib/aws/construct/graphql-api-lambda/main.ts +4 -3
  39. package/src/lib/aws/construct/graphql-api-lambda-with-cache/main.ts +2 -1
  40. package/src/lib/aws/construct/lambda-with-iam-access/main.ts +2 -1
  41. package/src/lib/aws/construct/rest-api-lambda/main.ts +4 -3
  42. package/src/lib/aws/construct/rest-api-lambda-with-cache/main.ts +2 -1
  43. package/src/lib/aws/construct/site-with-ecs-backend/main.ts +8 -9
  44. package/src/lib/aws/construct/static-asset-deployment/main.ts +2 -1
  45. package/src/lib/aws/services/api-gateway/main.ts +9 -6
  46. package/src/lib/aws/services/cloudfront/main.ts +8 -7
  47. package/src/lib/aws/services/cloudwatch/logs.ts +6 -5
  48. package/src/lib/aws/services/cloudwatch/main.ts +35 -81
  49. package/src/lib/aws/services/dynamodb/main.ts +3 -2
  50. package/src/lib/aws/services/elastic-container-service/main.ts +5 -4
  51. package/src/lib/aws/services/elastic-file-system/main.ts +2 -1
  52. package/src/lib/aws/services/elasticache/main.ts +3 -2
  53. package/src/lib/aws/services/eventbridge/main.ts +5 -4
  54. package/src/lib/aws/services/lambda/main.ts +4 -3
  55. package/src/lib/aws/services/simple-notification-service/main.ts +3 -2
  56. package/src/lib/aws/services/simple-queue-service/main.ts +3 -2
  57. package/src/lib/aws/services/simple-storage-service/main.ts +5 -4
  58. package/src/lib/aws/services/step-function/main.ts +17 -16
  59. package/src/lib/aws/services/virtual-private-cloud/main.ts +5 -4
  60. package/src/lib/azure/common/stack.ts +7 -9
  61. package/src/lib/common/index.ts +5 -3
@@ -22,10 +22,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.LogManager = void 0;
27
30
  const cdk = __importStar(require("aws-cdk-lib"));
28
31
  const logs = __importStar(require("aws-cdk-lib/aws-logs"));
32
+ const lodash_1 = __importDefault(require("lodash"));
29
33
  const utils = __importStar(require("../../utils"));
30
34
  /**
31
35
  * @classdesc Provides operations on AWS CloudWatch.
@@ -85,8 +89,8 @@ class LogManager {
85
89
  logGroupName: `${props.logGroupName}-${scope.props.stage}`,
86
90
  retentionInDays: props.retention,
87
91
  });
88
- if (props.tags && props.tags.length > 0) {
89
- props.tags.forEach(tag => {
92
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
93
+ lodash_1.default.forEach(props.tags, tag => {
90
94
  cdk.Tags.of(logGroup).add(tag.key, tag.value);
91
95
  });
92
96
  }
@@ -108,8 +112,8 @@ class LogManager {
108
112
  removalPolicy: props.removalPolicy ?? cdk.RemovalPolicy.DESTROY,
109
113
  retention: props.retention,
110
114
  });
111
- if (props.tags && props.tags.length > 0) {
112
- props.tags.forEach(tag => {
115
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
116
+ lodash_1.default.forEach(props.tags, tag => {
113
117
  cdk.Tags.of(logGroup).add(tag.key, tag.value);
114
118
  });
115
119
  }
@@ -22,10 +22,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  exports.CloudWatchManager = void 0;
27
30
  const cdk = __importStar(require("aws-cdk-lib"));
28
31
  const watch = __importStar(require("aws-cdk-lib/aws-cloudwatch"));
32
+ const lodash_1 = __importDefault(require("lodash"));
29
33
  const utils = __importStar(require("../../utils"));
30
34
  /**
31
35
  */
@@ -69,7 +73,9 @@ class CloudWatchManager {
69
73
  if (!props.metricProps)
70
74
  throw `Could not find metricProps for Alarm props for id:${id}`;
71
75
  const metrics = {};
72
- this.determineMetrics(scope, props.metricProps).map((metric, index) => (metrics[`m${index}`] = metric));
76
+ lodash_1.default.map(this.determineMetrics(scope, props.metricProps), (metric, index) => {
77
+ metrics[`m${index}`] = metric;
78
+ });
73
79
  const expression = new watch.MathExpression({
74
80
  expression: props.expression,
75
81
  period: props.periodInSecs ? cdk.Duration.seconds(props.periodInSecs) : cdk.Duration.minutes(5),
@@ -140,7 +146,9 @@ class CloudWatchManager {
140
146
  if (!props || props.length == 0)
141
147
  throw `Widget props undefined`;
142
148
  const widgets = [];
143
- props.forEach((widgetProps) => widgets.push(this.createWidget(widgetProps.id, scope, widgetProps)));
149
+ lodash_1.default.forEach(props, (widgetProps) => {
150
+ widgets.push(this.createWidget(widgetProps.id, scope, widgetProps));
151
+ });
144
152
  return widgets;
145
153
  }
146
154
  /**
@@ -186,9 +194,7 @@ class CloudWatchManager {
186
194
  const metricProps = props.metricProps;
187
195
  return this.createWidget(id, scope, {
188
196
  ...props,
189
- ...{
190
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ distributionId: distributionId } })),
191
- },
197
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, distributionId }),
192
198
  });
193
199
  }
194
200
  /**
@@ -204,9 +210,7 @@ class CloudWatchManager {
204
210
  const metricProps = props.metricProps;
205
211
  return this.createWidget(id, scope, {
206
212
  ...props,
207
- ...{
208
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ stateMachineArn: stateMachineArn } })),
209
- },
213
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, stateMachineArn }),
210
214
  });
211
215
  }
212
216
  /**
@@ -223,12 +227,7 @@ class CloudWatchManager {
223
227
  const metricProps = props.metricProps;
224
228
  return this.createWidget(id, scope, {
225
229
  ...props,
226
- ...{
227
- metricProps: metricProps.map(metricProp => ({
228
- ...metricProp,
229
- ...{ eventBusName: eventBusName, ruleName: ruleName },
230
- })),
231
- },
230
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, eventBusName, ruleName }),
232
231
  });
233
232
  }
234
233
  /**
@@ -244,9 +243,7 @@ class CloudWatchManager {
244
243
  const metricProps = props.metricProps;
245
244
  return this.createWidget(id, scope, {
246
245
  ...props,
247
- ...{
248
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ apiName: apiName } })),
249
- },
246
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, apiName }),
250
247
  });
251
248
  }
252
249
  /**
@@ -262,9 +259,7 @@ class CloudWatchManager {
262
259
  const metricProps = props.metricProps;
263
260
  return this.createWidget(id, scope, {
264
261
  ...props,
265
- ...{
266
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ functionName: functionName } })),
267
- },
262
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, functionName }),
268
263
  });
269
264
  }
270
265
  /**
@@ -280,9 +275,7 @@ class CloudWatchManager {
280
275
  const metricProps = props.metricProps;
281
276
  return this.createWidget(id, scope, {
282
277
  ...props,
283
- ...{
284
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ service: service } })),
285
- },
278
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, service }),
286
279
  });
287
280
  }
288
281
  /**
@@ -298,9 +291,7 @@ class CloudWatchManager {
298
291
  const metricProps = props.metricProps;
299
292
  return this.createWidget(id, scope, {
300
293
  ...props,
301
- ...{
302
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ clusterName: clusterName } })),
303
- },
294
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, clusterName }),
304
295
  });
305
296
  }
306
297
  /**
@@ -317,12 +308,7 @@ class CloudWatchManager {
317
308
  const metricProps = props.metricProps;
318
309
  return this.createWidget(id, scope, {
319
310
  ...props,
320
- ...{
321
- metricProps: metricProps.map(metricProp => ({
322
- ...metricProp,
323
- ...{ clusterName: clusterName, serviceName: serviceName },
324
- })),
325
- },
311
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, clusterName, serviceName }),
326
312
  });
327
313
  }
328
314
  /**
@@ -338,9 +324,7 @@ class CloudWatchManager {
338
324
  const metricProps = props.metricProps;
339
325
  return this.createWidget(id, scope, {
340
326
  ...props,
341
- ...{
342
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ loadBalancer: loadBalancer } })),
343
- },
327
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, loadBalancer }),
344
328
  });
345
329
  }
346
330
  /**
@@ -356,9 +340,7 @@ class CloudWatchManager {
356
340
  const metricProps = props.metricProps;
357
341
  return this.createWidget(id, scope, {
358
342
  ...props,
359
- ...{
360
- metricProps: metricProps.map(metricProp => ({ ...metricProp, ...{ cacheClusterId: cacheClusterId } })),
361
- },
343
+ metricProps: lodash_1.default.map(metricProps, { ...lodash_1.default, cacheClusterId }),
362
344
  });
363
345
  }
364
346
  /**
@@ -515,100 +497,76 @@ class CloudWatchManager {
515
497
  if (metricProp.functionName) {
516
498
  metricDimensions = {
517
499
  ...metricProp.dimensionsMap,
518
- ...{
519
- FunctionName: `${metricProp.functionName}`,
520
- },
500
+ FunctionName: `${metricProp.functionName}`,
521
501
  };
522
502
  }
523
503
  if (metricProp.serviceName && metricProp.clusterName) {
524
504
  metricDimensions = {
525
505
  ...metricProp.dimensionsMap,
526
- ...{
527
- ClusterName: `${metricProp.clusterName}`,
528
- ServiceName: `${metricProp.serviceName}`,
529
- },
506
+ ClusterName: `${metricProp.clusterName}`,
507
+ ServiceName: `${metricProp.serviceName}`,
530
508
  };
531
509
  }
532
510
  if (!metricProp.serviceName && metricProp.clusterName) {
533
511
  metricDimensions = {
534
512
  ...metricProp.dimensionsMap,
535
- ...{
536
- ClusterName: `${metricProp.clusterName}`,
537
- },
513
+ ClusterName: `${metricProp.clusterName}`,
538
514
  };
539
515
  }
540
516
  if (metricProp.serviceName && !metricProp.clusterName) {
541
517
  metricDimensions = {
542
518
  ...metricProp.dimensionsMap,
543
- ...{
544
- ServiceName: `${metricProp.serviceName}`,
545
- },
519
+ ServiceName: `${metricProp.serviceName}`,
546
520
  };
547
521
  }
548
522
  if (metricProp.loadBalancer) {
549
523
  metricDimensions = {
550
524
  ...metricProp.dimensionsMap,
551
- ...{
552
- LoadBalancer: `${metricProp.loadBalancer}`,
553
- },
525
+ LoadBalancer: `${metricProp.loadBalancer}`,
554
526
  };
555
527
  }
556
528
  if (metricProp.service) {
557
529
  metricDimensions = {
558
530
  ...metricProp.dimensionsMap,
559
- ...{
560
- service: `${metricProp.service}`,
561
- },
531
+ service: `${metricProp.service}`,
562
532
  };
563
533
  }
564
534
  if (metricProp.distributionId) {
565
535
  metricDimensions = {
566
536
  ...metricProp.dimensionsMap,
567
- ...{
568
- DistributionId: `${metricProp.distributionId}`,
569
- Region: `Global`,
570
- },
537
+ DistributionId: `${metricProp.distributionId}`,
538
+ Region: `Global`,
571
539
  };
572
540
  }
573
541
  if (metricProp.apiName) {
574
542
  metricDimensions = {
575
543
  ...metricProp.dimensionsMap,
576
- ...{
577
- ApiName: `${metricProp.apiName}`,
578
- },
544
+ ApiName: `${metricProp.apiName}`,
579
545
  };
580
546
  }
581
547
  if (metricProp.cacheClusterId) {
582
548
  metricDimensions = {
583
549
  ...metricProp.dimensionsMap,
584
- ...{
585
- CacheClusterId: `${metricProp.cacheClusterId}`,
586
- },
550
+ CacheClusterId: `${metricProp.cacheClusterId}`,
587
551
  };
588
552
  }
589
553
  if (metricProp.dbClusterIdentifier) {
590
554
  metricDimensions = {
591
555
  ...metricProp.dimensionsMap,
592
- ...{
593
- DBClusterIdentifier: `${metricProp.dbClusterIdentifier}`,
594
- },
556
+ DBClusterIdentifier: `${metricProp.dbClusterIdentifier}`,
595
557
  };
596
558
  }
597
559
  if (metricProp.stateMachineArn) {
598
560
  metricDimensions = {
599
561
  ...metricProp.dimensionsMap,
600
- ...{
601
- StateMachineArn: `${metricProp.stateMachineArn}`,
602
- },
562
+ StateMachineArn: `${metricProp.stateMachineArn}`,
603
563
  };
604
564
  }
605
565
  if (metricProp.eventBusName && metricProp.ruleName) {
606
566
  metricDimensions = {
607
567
  ...metricProp.dimensionsMap,
608
- ...{
609
- EventBusName: `${metricProp.eventBusName}`,
610
- RuleName: `${metricProp.ruleName}`,
611
- },
568
+ EventBusName: `${metricProp.eventBusName}`,
569
+ RuleName: `${metricProp.ruleName}`,
612
570
  };
613
571
  }
614
572
  const metric = new watch.Metric({
@@ -648,7 +606,7 @@ class CloudWatchManager {
648
606
  determineAlarms(id, scope, alarmProps) {
649
607
  const alarms = [];
650
608
  if (alarmProps) {
651
- alarmProps.forEach((alarmProp) => {
609
+ lodash_1.default.forEach(alarmProps, (alarmProp) => {
652
610
  if (!alarmProp.alarmName)
653
611
  throw `Alarm name undefined for ${id}`;
654
612
  const alarmArn = `arn:aws:cloudwatch:${cdk.Stack.of(scope).region}:${cdk.Stack.of(scope).account}:alarm:${alarmProp.alarmName}`;
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.DynamodbManager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
9
+ const lodash_1 = __importDefault(require("lodash"));
6
10
  const utils_1 = require("../../utils");
7
11
  /**
8
12
  * @classdesc Provides operations on AWS DynamoDB
@@ -49,8 +53,8 @@ class DynamodbManager {
49
53
  waitForReplicationToFinish: props.waitForReplicationToFinish,
50
54
  writeCapacity: props.writeCapacity,
51
55
  });
52
- if (props.tags && props.tags.length > 0) {
53
- props.tags.forEach(tag => {
56
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
57
+ lodash_1.default.forEach(props.tags, tag => {
54
58
  aws_cdk_lib_1.Tags.of(table).add(tag.key, tag.value);
55
59
  });
56
60
  }
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.EcsManager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_ecs_1 = require("aws-cdk-lib/aws-ecs");
6
9
  const aws_ecs_patterns_1 = require("aws-cdk-lib/aws-ecs-patterns");
10
+ const lodash_1 = __importDefault(require("lodash"));
7
11
  const utils_1 = require("../../utils");
8
12
  /**
9
13
  * @classdesc Provides operations on AWS Elastic Container Service.
@@ -41,8 +45,8 @@ class EcsManager {
41
45
  executeCommandConfiguration: props.executeCommandConfiguration,
42
46
  vpc: vpc,
43
47
  });
44
- if (props.tags && props.tags.length > 0) {
45
- props.tags.forEach(tag => {
48
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
49
+ lodash_1.default.forEach(props.tags, tag => {
46
50
  aws_cdk_lib_1.Tags.of(ecsCluster).add(tag.key, tag.value);
47
51
  });
48
52
  }
@@ -102,8 +106,8 @@ class EcsManager {
102
106
  privileged: false,
103
107
  secrets: secrets,
104
108
  });
105
- if (props.tags && props.tags.length > 0) {
106
- props.tags.forEach(tag => {
109
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
110
+ lodash_1.default.forEach(props.tags, tag => {
107
111
  aws_cdk_lib_1.Tags.of(ecsTask).add(tag.key, tag.value);
108
112
  });
109
113
  }
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.EfsManager = exports.DEFAULT_POSIX_USER = exports.DEFAULT_CREATE_ACL = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_efs_1 = require("aws-cdk-lib/aws-efs");
9
+ const lodash_1 = __importDefault(require("lodash"));
6
10
  const utils_1 = require("../../utils");
7
11
  exports.DEFAULT_CREATE_ACL = {
8
12
  ownerGid: '1000',
@@ -58,7 +62,7 @@ class EfsManager {
58
62
  (0, utils_1.createCfnOutput)(`${id}-fileSystemArn`, scope, fileSystem.fileSystemArn);
59
63
  (0, utils_1.createCfnOutput)(`${id}-fileSystemId`, scope, fileSystem.fileSystemId);
60
64
  /* provision access points if specified */
61
- if (accessPointOptions && accessPointOptions.length > 0) {
65
+ if (accessPointOptions && !lodash_1.default.isEmpty(accessPointOptions)) {
62
66
  for (const [index, accessPointOption] of accessPointOptions.entries()) {
63
67
  if (!accessPointOption.path)
64
68
  throw `Undefined access point path for option: [${accessPointOption}], id: [${id}]`;
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.ElastiCacheManager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_elasticache_1 = require("aws-cdk-lib/aws-elasticache");
9
+ const lodash_1 = __importDefault(require("lodash"));
6
10
  const utils_1 = require("../../utils");
7
11
  /**
8
12
  * @summary Provides operations on AWS ElastiCache Service.
@@ -69,8 +73,8 @@ class ElastiCacheManager {
69
73
  vpcSecurityGroupIds: securityGroupIds,
70
74
  });
71
75
  elasticacheCluster.addDependency(subnetGroup);
72
- if (props.tags && props.tags.length > 0) {
73
- props.tags.forEach(tag => {
76
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
77
+ lodash_1.default.forEach(props.tags, tag => {
74
78
  aws_cdk_lib_1.Tags.of(elasticacheCluster).add(tag.key, tag.value);
75
79
  });
76
80
  }
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.EventManager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
@@ -6,6 +9,7 @@ const aws_events_1 = require("aws-cdk-lib/aws-events");
6
9
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
7
10
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
8
11
  const aws_pipes_1 = require("aws-cdk-lib/aws-pipes");
12
+ const lodash_1 = __importDefault(require("lodash"));
9
13
  const utils_1 = require("../../utils");
10
14
  /**
11
15
  * @classdesc Provides operations on AWS EventBridge.
@@ -59,13 +63,13 @@ class EventManager {
59
63
  ruleName: `${props.ruleName}-${scope.props.stage}`,
60
64
  schedule: props.schedule,
61
65
  });
62
- if (targets && targets.length > 0) {
63
- targets.forEach(target => {
66
+ if (targets && !lodash_1.default.isEmpty(targets)) {
67
+ lodash_1.default.forEach(targets, target => {
64
68
  rule.addTarget(target);
65
69
  });
66
70
  }
67
- if (props.tags && props.tags.length > 0) {
68
- props.tags.forEach(tag => {
71
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
72
+ lodash_1.default.forEach(props.tags, tag => {
69
73
  aws_cdk_lib_1.Tags.of(rule).add(tag.key, tag.value);
70
74
  });
71
75
  }
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.LambdaManager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
6
9
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
7
10
  const aws_lambda_event_sources_1 = require("aws-cdk-lib/aws-lambda-event-sources");
11
+ const lodash_1 = __importDefault(require("lodash"));
8
12
  const common_1 = require("../../common");
9
13
  const utils_1 = require("../../utils");
10
14
  const cloudfront_1 = require("../cloudfront");
@@ -104,7 +108,7 @@ class LambdaManager {
104
108
  reportBatchItemFailures: true,
105
109
  }));
106
110
  }
107
- if (props.lambdaAliases && props.lambdaAliases.length > 0) {
111
+ if (props.lambdaAliases && !lodash_1.default.isEmpty(props.lambdaAliases)) {
108
112
  props.lambdaAliases.forEach(alias => {
109
113
  const aliasId = alias.id ?? `${id}-${alias.aliasName}`;
110
114
  const functionAlias = this.createLambdaFunctionAlias(`${aliasId}`, scope, alias, lambdaFunction.currentVersion);
@@ -118,8 +122,8 @@ class LambdaManager {
118
122
  }
119
123
  });
120
124
  }
121
- if (props.tags && props.tags.length > 0) {
122
- props.tags.forEach(tag => {
125
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
126
+ lodash_1.default.forEach(props.tags, tag => {
123
127
  aws_cdk_lib_1.Tags.of(lambdaFunction).add(tag.key, tag.value);
124
128
  });
125
129
  }
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.SnsManager = void 0;
4
7
  const aws_sns_1 = require("aws-cdk-lib/aws-sns");
5
8
  const aws_sns_subscriptions_1 = require("aws-cdk-lib/aws-sns-subscriptions");
9
+ const lodash_1 = __importDefault(require("lodash"));
6
10
  const utils_1 = require("../../utils");
7
11
  /**
8
12
  * @classdesc Provides operations on AWS Simple Notification Service.
@@ -36,8 +40,8 @@ class SnsManager {
36
40
  fifo: props.fifo,
37
41
  topicName: `${props.topicName}-${scope.props.stage}`,
38
42
  });
39
- if (emails && emails.length > 0) {
40
- emails.forEach((email) => topic.addSubscription(new aws_sns_subscriptions_1.EmailSubscription(email)));
43
+ if (emails && !lodash_1.default.isEmpty(emails)) {
44
+ lodash_1.default.forEach(emails, (email) => topic.addSubscription(new aws_sns_subscriptions_1.EmailSubscription(email)));
41
45
  }
42
46
  (0, utils_1.createCfnOutput)(`${id}-subscriptionArn`, scope, topic.topicArn);
43
47
  (0, utils_1.createCfnOutput)(`${id}-subscriptionName`, scope, topic.topicName);
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.SqsManager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_sqs_1 = require("aws-cdk-lib/aws-sqs");
9
+ const lodash_1 = __importDefault(require("lodash"));
6
10
  const utils_1 = require("../../utils");
7
11
  /**
8
12
  * @classdesc Provides operations on AWS Simple Queue Service.
@@ -57,8 +61,8 @@ class SqsManager {
57
61
  ? aws_cdk_lib_1.Duration.seconds(props.visibilityTimeoutInSecs)
58
62
  : props.visibilityTimeout,
59
63
  });
60
- if (props.tags && props.tags.length > 0) {
61
- props.tags.forEach(tag => {
64
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
65
+ lodash_1.default.forEach(props.tags, tag => {
62
66
  aws_cdk_lib_1.Tags.of(queue).add(tag.key, tag.value);
63
67
  });
64
68
  }
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.S3Manager = void 0;
4
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
8
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
6
9
  const aws_s3_1 = require("aws-cdk-lib/aws-s3");
7
10
  const aws_s3_deployment_1 = require("aws-cdk-lib/aws-s3-deployment");
11
+ const lodash_1 = __importDefault(require("lodash"));
8
12
  const utils_1 = require("../../utils");
9
13
  /**
10
14
  * @classdesc Provides operations on AWS S3
@@ -31,7 +35,7 @@ class S3Manager {
31
35
  if (!props.lifecycleRules)
32
36
  return undefined;
33
37
  const bucketLifecycleRules = [];
34
- props.lifecycleRules.forEach(lifecycleRule => {
38
+ lodash_1.default.forEach(props.lifecycleRules, lifecycleRule => {
35
39
  bucketLifecycleRules.push({
36
40
  abortIncompleteMultipartUploadAfter: lifecycleRule.abortIncompleteMultipartUploadAfter,
37
41
  enabled: lifecycleRule.enabled,
@@ -125,8 +129,8 @@ class S3Manager {
125
129
  },
126
130
  };
127
131
  }
128
- if (props.tags && props.tags.length > 0) {
129
- props.tags.forEach(tag => {
132
+ if (props.tags && !lodash_1.default.isEmpty(props.tags)) {
133
+ lodash_1.default.forEach(props.tags, tag => {
130
134
  aws_cdk_lib_1.Tags.of(bucket).add(tag.key, tag.value);
131
135
  });
132
136
  }
@@ -197,7 +201,7 @@ class S3Manager {
197
201
  if (!folders || folders.length == 0) {
198
202
  throw `Folder unspecified for ${id}`;
199
203
  }
200
- folders.forEach(folder => {
204
+ lodash_1.default.forEach(folders, folder => {
201
205
  new aws_s3_deployment_1.BucketDeployment(scope, `${id}-${folder}`, {
202
206
  destinationBucket: bucket,
203
207
  destinationKeyPrefix: folder,