@gradientedge/cdk-utils 8.121.0 → 8.123.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.
- package/README.md +2 -1
- package/dist/src/lib/aws/common/construct.d.ts +0 -1
- package/dist/src/lib/aws/common/construct.js +6 -13
- package/dist/src/lib/aws/common/stack.js +7 -9
- package/dist/src/lib/aws/common/types.d.ts +2 -8
- package/dist/src/lib/aws/construct/api-to-any-target/main.js +24 -26
- package/dist/src/lib/aws/construct/api-to-eventbridge-target/main.js +85 -103
- package/dist/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.js +94 -120
- package/dist/src/lib/aws/construct/api-to-lambda-target/main.js +8 -10
- package/dist/src/lib/aws/construct/graphql-api-lambda/main.js +7 -3
- package/dist/src/lib/aws/construct/graphql-api-lambda-with-cache/main.js +5 -1
- package/dist/src/lib/aws/construct/lambda-with-iam-access/main.js +5 -1
- package/dist/src/lib/aws/construct/rest-api-lambda/main.js +7 -3
- package/dist/src/lib/aws/construct/rest-api-lambda-with-cache/main.js +5 -1
- package/dist/src/lib/aws/construct/site-with-ecs-backend/main.js +8 -6
- package/dist/src/lib/aws/construct/static-asset-deployment/main.js +5 -1
- package/dist/src/lib/aws/services/api-gateway/main.js +18 -10
- package/dist/src/lib/aws/services/cloudfront/main.js +11 -7
- package/dist/src/lib/aws/services/cloudwatch/logs.js +8 -4
- package/dist/src/lib/aws/services/cloudwatch/main.js +36 -78
- package/dist/src/lib/aws/services/dynamodb/main.js +6 -2
- package/dist/src/lib/aws/services/elastic-container-service/main.js +8 -4
- package/dist/src/lib/aws/services/elastic-file-system/main.js +5 -1
- package/dist/src/lib/aws/services/elasticache/main.js +6 -2
- package/dist/src/lib/aws/services/eventbridge/main.js +8 -4
- package/dist/src/lib/aws/services/lambda/main.js +7 -3
- package/dist/src/lib/aws/services/simple-notification-service/main.js +6 -2
- package/dist/src/lib/aws/services/simple-queue-service/main.js +6 -2
- package/dist/src/lib/aws/services/simple-storage-service/main.js +8 -4
- package/dist/src/lib/aws/services/step-function/main.js +52 -32
- package/dist/src/lib/aws/services/virtual-private-cloud/main.js +8 -4
- package/dist/src/lib/aws/types/index.d.ts +6 -1
- package/dist/src/lib/aws/types/index.js +0 -15
- package/dist/src/lib/aws/utils/index.d.ts +13 -23
- package/dist/src/lib/aws/utils/index.js +37 -46
- package/dist/src/lib/azure/common/construct.d.ts +35 -0
- package/dist/src/lib/azure/common/construct.js +49 -0
- package/dist/src/lib/azure/common/index.d.ts +3 -0
- package/dist/src/lib/azure/common/index.js +19 -0
- package/dist/src/lib/azure/common/stack.d.ts +52 -0
- package/dist/src/lib/azure/common/stack.js +134 -0
- package/dist/src/lib/azure/common/types.d.ts +7 -0
- package/dist/src/lib/azure/index.d.ts +4 -0
- package/dist/src/lib/azure/index.js +20 -0
- package/dist/src/lib/azure/services/index.d.ts +1 -0
- package/dist/src/lib/azure/services/index.js +17 -0
- package/dist/src/lib/azure/services/storage/index.d.ts +2 -0
- package/dist/src/lib/azure/services/storage/index.js +18 -0
- package/dist/src/lib/azure/services/storage/main.d.ts +43 -0
- package/dist/src/lib/azure/services/storage/main.js +124 -0
- package/dist/src/lib/azure/services/storage/types.d.ts +10 -0
- package/dist/src/lib/azure/services/storage/types.js +2 -0
- package/dist/src/lib/azure/types/index.d.ts +3 -0
- package/dist/src/lib/azure/types/index.js +2 -0
- package/dist/src/lib/azure/utils/index.d.ts +3 -0
- package/dist/src/lib/azure/utils/index.js +20 -0
- package/dist/src/lib/common/construct.d.ts +29 -0
- package/dist/src/lib/common/construct.js +8 -0
- package/dist/src/lib/common/index.d.ts +5 -0
- package/dist/src/lib/common/index.js +33 -0
- package/dist/src/lib/common/stack.d.ts +21 -0
- package/dist/src/lib/common/stack.js +8 -0
- package/dist/src/lib/common/types.d.ts +9 -0
- package/dist/src/lib/common/types.js +2 -0
- package/dist/src/lib/common/utils.d.ts +26 -0
- package/dist/src/lib/common/utils.js +34 -0
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/index.js +2 -0
- package/package.json +9 -7
- package/setup.js +2 -0
- package/src/lib/aws/common/construct.ts +2 -13
- package/src/lib/aws/common/stack.ts +6 -8
- package/src/lib/aws/common/types.ts +2 -8
- package/src/lib/aws/construct/api-to-any-target/main.ts +25 -27
- package/src/lib/aws/construct/api-to-eventbridge-target/main.ts +85 -103
- package/src/lib/aws/construct/api-to-eventbridge-target-with-sns/main.ts +94 -120
- package/src/lib/aws/construct/api-to-lambda-target/main.ts +8 -10
- package/src/lib/aws/construct/graphql-api-lambda/main.ts +4 -3
- package/src/lib/aws/construct/graphql-api-lambda-with-cache/main.ts +2 -1
- package/src/lib/aws/construct/lambda-with-iam-access/main.ts +2 -1
- package/src/lib/aws/construct/rest-api-lambda/main.ts +4 -3
- package/src/lib/aws/construct/rest-api-lambda-with-cache/main.ts +2 -1
- package/src/lib/aws/construct/site-with-ecs-backend/main.ts +8 -9
- package/src/lib/aws/construct/static-asset-deployment/main.ts +2 -1
- package/src/lib/aws/services/api-gateway/main.ts +9 -6
- package/src/lib/aws/services/cloudfront/main.ts +8 -7
- package/src/lib/aws/services/cloudwatch/logs.ts +6 -5
- package/src/lib/aws/services/cloudwatch/main.ts +35 -81
- package/src/lib/aws/services/dynamodb/main.ts +3 -2
- package/src/lib/aws/services/elastic-container-service/main.ts +5 -4
- package/src/lib/aws/services/elastic-file-system/main.ts +2 -1
- package/src/lib/aws/services/elasticache/main.ts +3 -2
- package/src/lib/aws/services/eventbridge/main.ts +5 -4
- package/src/lib/aws/services/lambda/main.ts +4 -3
- package/src/lib/aws/services/simple-notification-service/main.ts +3 -2
- package/src/lib/aws/services/simple-queue-service/main.ts +3 -2
- package/src/lib/aws/services/simple-storage-service/main.ts +5 -4
- package/src/lib/aws/services/step-function/main.ts +17 -16
- package/src/lib/aws/services/virtual-private-cloud/main.ts +5 -4
- package/src/lib/aws/types/index.ts +6 -1
- package/src/lib/aws/utils/index.ts +41 -29
- package/src/lib/azure/common/construct.ts +57 -0
- package/src/lib/azure/common/index.ts +3 -0
- package/src/lib/azure/common/stack.ts +143 -0
- package/src/lib/azure/common/types.ts +8 -0
- package/src/lib/azure/index.ts +4 -0
- package/src/lib/azure/services/index.ts +1 -0
- package/src/lib/azure/services/storage/index.ts +2 -0
- package/src/lib/azure/services/storage/main.ts +134 -0
- package/src/lib/azure/services/storage/types.ts +10 -0
- package/src/lib/azure/types/index.ts +3 -0
- package/src/lib/azure/utils/index.ts +23 -0
- package/src/lib/common/construct.ts +35 -0
- package/src/lib/common/index.ts +18 -0
- package/src/lib/common/stack.ts +26 -0
- package/src/lib/common/types.ts +9 -0
- package/src/lib/common/utils.ts +27 -0
- package/src/lib/index.ts +2 -0
- package/dist/src/lib/aws/types/aws/index.d.ts +0 -6
- package/dist/src/lib/aws/utils/aws/index.d.ts +0 -17
- package/dist/src/lib/aws/utils/aws/index.js +0 -40
- package/src/lib/aws/types/aws/index.ts +0 -6
- package/src/lib/aws/utils/aws/index.ts +0 -41
- /package/dist/src/lib/{aws/types/aws/index.js → azure/common/types.js} +0 -0
|
@@ -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
|
|
89
|
-
|
|
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
|
|
112
|
-
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
53
|
-
|
|
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
|
|
45
|
-
|
|
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
|
|
106
|
-
|
|
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
|
|
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
|
|
73
|
-
|
|
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
|
|
63
|
-
|
|
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
|
|
68
|
-
|
|
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
|
|
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
|
|
122
|
-
|
|
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
|
|
40
|
-
|
|
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
|
|
61
|
-
|
|
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
|
-
|
|
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
|
|
129
|
-
|
|
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
|
-
|
|
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,
|