@gradientedge/cdk-utils 8.59.0 → 8.61.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.
@@ -6,12 +6,12 @@ case `uname` in
6
6
  esac
7
7
 
8
8
  if [ -z "$NODE_PATH" ]; then
9
- export NODE_PATH="/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/node_modules"
9
+ export NODE_PATH="/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/cjs/src/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/cjs/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/node_modules"
10
10
  else
11
- export NODE_PATH="/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.0/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/node_modules:$NODE_PATH"
11
+ export NODE_PATH="/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/cjs/src/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/cjs/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/rimraf@5.0.1/node_modules:/home/runner/work/cdk-utils/cdk-utils/node_modules/.pnpm/node_modules:$NODE_PATH"
12
12
  fi
13
13
  if [ -x "$basedir/node" ]; then
14
- exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/bin.js" "$@"
14
+ exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/cjs/src/bin.js" "$@"
15
15
  else
16
- exec node "$basedir/../../../../node_modules/.pnpm/rimraf@5.0.0/node_modules/rimraf/dist/cjs/src/bin.js" "$@"
16
+ exec node "$basedir/../../../../node_modules/.pnpm/rimraf@5.0.1/node_modules/rimraf/dist/cjs/src/bin.js" "$@"
17
17
  fi
@@ -21,6 +21,6 @@
21
21
  },
22
22
  "devDependencies": {
23
23
  "mkdirp": "^3.0.1",
24
- "rimraf": "^5.0.0"
24
+ "rimraf": "^5.0.1"
25
25
  }
26
26
  }
@@ -184,7 +184,7 @@ class EventManager {
184
184
  const pipe = new pipes.CfnPipe(scope, `${id}`, {
185
185
  ...props,
186
186
  name: `${props.name}-${scope.props.stage}`,
187
- description: '',
187
+ description: props.description,
188
188
  source: sourceQueue.queueArn,
189
189
  sourceParameters: {
190
190
  filterCriteria: props.pipeFilterPattern
@@ -122,7 +122,7 @@ class LambdaManager {
122
122
  timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(15),
123
123
  vpc: vpc,
124
124
  vpcSubnets: vpcSubnets,
125
- tracing: props.tracing,
125
+ tracing: scope.props.defaultTracing ?? props.tracing,
126
126
  insightsVersion: props.insightsVersion,
127
127
  },
128
128
  });
@@ -28,6 +28,14 @@ const cdk = __importStar(require("aws-cdk-lib"));
28
28
  const sfn = __importStar(require("aws-cdk-lib/aws-stepfunctions"));
29
29
  const tasks = __importStar(require("aws-cdk-lib/aws-stepfunctions-tasks"));
30
30
  const utils = __importStar(require("../../utils"));
31
+ const DEFAULT_RETRY_CONFIG = [
32
+ {
33
+ errors: ['States.ALL'],
34
+ intervalInSecs: 30,
35
+ maxAttempts: 6,
36
+ backoffRate: 2,
37
+ },
38
+ ];
31
39
  /**
32
40
  * @stability stable
33
41
  * @category cdk-utils.step-functions-manager
@@ -112,12 +120,14 @@ class SfnManager {
112
120
  comment: `Parallel step for ${props.name} - ${scope.props.stage} stage`,
113
121
  },
114
122
  });
115
- if (props.retries && props.retries.length > 0) {
116
- props.retries.forEach(retry => step.addRetry({
117
- ...retry,
118
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
119
- }));
123
+ let retries = props.retries;
124
+ if (!retries || retries.length === 0) {
125
+ retries = DEFAULT_RETRY_CONFIG;
120
126
  }
127
+ retries.forEach(retry => step.addRetry({
128
+ ...retry,
129
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
130
+ }));
121
131
  return step;
122
132
  }
123
133
  /**
@@ -181,12 +191,14 @@ class SfnManager {
181
191
  comment: `DynamoDB GetItem step for ${props.name} - ${scope.props.stage} stage`,
182
192
  },
183
193
  });
184
- if (props.retries && props.retries.length > 0) {
185
- props.retries.forEach(retry => step.addRetry({
186
- ...retry,
187
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
188
- }));
194
+ let retries = props.retries;
195
+ if (!retries || retries.length === 0) {
196
+ retries = DEFAULT_RETRY_CONFIG;
189
197
  }
198
+ retries.forEach(retry => step.addRetry({
199
+ ...retry,
200
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
201
+ }));
190
202
  return step;
191
203
  }
192
204
  /**
@@ -221,12 +233,14 @@ class SfnManager {
221
233
  comment: `DynamoDB PutItem step for ${props.name} - ${scope.props.stage} stage`,
222
234
  },
223
235
  });
224
- if (props.retries && props.retries.length > 0) {
225
- props.retries.forEach(retry => step.addRetry({
226
- ...retry,
227
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
228
- }));
236
+ let retries = props.retries;
237
+ if (!retries || retries.length === 0) {
238
+ retries = DEFAULT_RETRY_CONFIG;
229
239
  }
240
+ retries.forEach(retry => step.addRetry({
241
+ ...retry,
242
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
243
+ }));
230
244
  return step;
231
245
  }
232
246
  /**
@@ -261,12 +275,14 @@ class SfnManager {
261
275
  comment: `DynamoDB DeleteItem step for ${props.name} - ${scope.props.stage} stage`,
262
276
  },
263
277
  });
264
- if (props.retries && props.retries.length > 0) {
265
- props.retries.forEach(retry => step.addRetry({
266
- ...retry,
267
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
268
- }));
278
+ let retries = props.retries;
279
+ if (!retries || retries.length === 0) {
280
+ retries = DEFAULT_RETRY_CONFIG;
269
281
  }
282
+ retries.forEach(retry => step.addRetry({
283
+ ...retry,
284
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
285
+ }));
270
286
  return step;
271
287
  }
272
288
  /**
@@ -299,12 +315,14 @@ class SfnManager {
299
315
  comment: `DynamoDB PutItem step for ${props.name} - ${scope.props.stage} stage`,
300
316
  },
301
317
  });
302
- if (props.retries && props.retries.length > 0) {
303
- props.retries.forEach(retry => step.addRetry({
304
- ...retry,
305
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
306
- }));
318
+ let retries = props.retries;
319
+ if (!retries || retries.length === 0) {
320
+ retries = DEFAULT_RETRY_CONFIG;
307
321
  }
322
+ retries.forEach(retry => step.addRetry({
323
+ ...retry,
324
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
325
+ }));
308
326
  return step;
309
327
  }
310
328
  /**
@@ -324,12 +342,14 @@ class SfnManager {
324
342
  comment: `Lambda step for ${props.name} - ${scope.props.stage} stage`,
325
343
  },
326
344
  });
327
- if (props.retries && props.retries.length > 0) {
328
- props.retries.forEach(retry => step.addRetry({
329
- ...retry,
330
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
331
- }));
345
+ let retries = props.retries;
346
+ if (!retries || retries.length === 0) {
347
+ retries = DEFAULT_RETRY_CONFIG;
332
348
  }
349
+ retries.forEach(retry => step.addRetry({
350
+ ...retry,
351
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
352
+ }));
333
353
  return step;
334
354
  }
335
355
  /**
@@ -350,12 +370,14 @@ class SfnManager {
350
370
  comment: `API step for ${props.name} - ${scope.props.stage} stage`,
351
371
  },
352
372
  });
353
- if (props.retries && props.retries.length > 0) {
354
- props.retries.forEach(retry => step.addRetry({
355
- ...retry,
356
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
357
- }));
373
+ let retries = props.retries;
374
+ if (!retries || retries.length === 0) {
375
+ retries = DEFAULT_RETRY_CONFIG;
358
376
  }
377
+ retries.forEach(retry => step.addRetry({
378
+ ...retry,
379
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
380
+ }));
359
381
  return step;
360
382
  }
361
383
  /**
@@ -57,6 +57,7 @@ export interface CommonStackProps extends cdk.StackProps {
57
57
  skipStageForARecords: boolean;
58
58
  logRetention?: logs.RetentionDays;
59
59
  defaultReservedLambdaConcurrentExecutions?: number;
60
+ defaultTracing?: lambda.Tracing;
60
61
  excludeDomainNameForBuckets?: boolean;
61
62
  nodejsRuntime?: lambda.Runtime;
62
63
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils",
3
- "version": "8.59.0",
3
+ "version": "8.61.0",
4
4
  "description": "Utilities for AWS CDK provisioning",
5
5
  "main": "dist/index.js",
6
6
  "engines": {
@@ -46,11 +46,11 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@types/lodash": "^4.14.194",
49
- "@types/node": "^20.1.3",
49
+ "@types/node": "^20.2.0",
50
50
  "app-root-path": "^3.1.0",
51
51
  "aws-cdk-lib": "^2.79.1",
52
- "@aws-sdk/client-secrets-manager": "^3.332.0",
53
- "constructs": "^10.2.21",
52
+ "@aws-sdk/client-secrets-manager": "^3.334.0",
53
+ "constructs": "^10.2.27",
54
54
  "lodash": "^4.17.21",
55
55
  "moment": "^2.29.4",
56
56
  "nconf": "^0.12.0",
@@ -62,8 +62,8 @@
62
62
  "@babel/eslint-parser": "^7.21.8",
63
63
  "@babel/plugin-proposal-class-properties": "^7.18.6",
64
64
  "@types/jest": "^29.5.1",
65
- "@typescript-eslint/eslint-plugin": "^5.59.5",
66
- "@typescript-eslint/parser": "^5.59.5",
65
+ "@typescript-eslint/eslint-plugin": "^5.59.6",
66
+ "@typescript-eslint/parser": "^5.59.6",
67
67
  "aws-cdk": "^2.79.1",
68
68
  "better-docs": "^2.7.2",
69
69
  "codecov": "^3.8.3",
@@ -81,7 +81,7 @@
81
81
  "jsdoc-mermaid": "^1.0.0",
82
82
  "prettier": "^2.8.8",
83
83
  "prettier-plugin-organize-imports": "^3.2.2",
84
- "rimraf": "^5.0.0",
84
+ "rimraf": "^5.0.1",
85
85
  "semantic-release": "^21.0.2",
86
86
  "taffydb": "^2.7.3",
87
87
  "ts-jest": "^29.1.0",
@@ -214,7 +214,7 @@ export class EventManager {
214
214
  const pipe = new pipes.CfnPipe(scope, `${id}`, {
215
215
  ...props,
216
216
  name: `${props.name}-${scope.props.stage}`,
217
- description: '',
217
+ description: props.description,
218
218
  source: sourceQueue.queueArn,
219
219
  sourceParameters: {
220
220
  filterCriteria: props.pipeFilterPattern
@@ -125,7 +125,7 @@ export class LambdaManager {
125
125
  timeout: props.timeoutInSecs ? cdk.Duration.seconds(props.timeoutInSecs) : cdk.Duration.minutes(15),
126
126
  vpc: vpc,
127
127
  vpcSubnets: vpcSubnets,
128
- tracing: props.tracing,
128
+ tracing: scope.props.defaultTracing ?? props.tracing,
129
129
  insightsVersion: props.insightsVersion,
130
130
  },
131
131
  })
@@ -12,6 +12,15 @@ import * as types from '../../types'
12
12
  import * as utils from '../../utils'
13
13
  import { SfnMapProps } from '../../types'
14
14
 
15
+ const DEFAULT_RETRY_CONFIG = [
16
+ {
17
+ errors: ['States.ALL'],
18
+ intervalInSecs: 30,
19
+ maxAttempts: 6,
20
+ backoffRate: 2,
21
+ },
22
+ ]
23
+
15
24
  /**
16
25
  * @stability stable
17
26
  * @category cdk-utils.step-functions-manager
@@ -96,15 +105,18 @@ export class SfnManager {
96
105
  },
97
106
  })
98
107
 
99
- if (props.retries && props.retries.length > 0) {
100
- props.retries.forEach(retry =>
101
- step.addRetry({
102
- ...retry,
103
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
104
- })
105
- )
108
+ let retries = props.retries
109
+ if (!retries || retries.length === 0) {
110
+ retries = DEFAULT_RETRY_CONFIG
106
111
  }
107
112
 
113
+ retries.forEach(retry =>
114
+ step.addRetry({
115
+ ...retry,
116
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
117
+ })
118
+ )
119
+
108
120
  return step
109
121
  }
110
122
 
@@ -176,15 +188,18 @@ export class SfnManager {
176
188
  },
177
189
  })
178
190
 
179
- if (props.retries && props.retries.length > 0) {
180
- props.retries.forEach(retry =>
181
- step.addRetry({
182
- ...retry,
183
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
184
- })
185
- )
191
+ let retries = props.retries
192
+ if (!retries || retries.length === 0) {
193
+ retries = DEFAULT_RETRY_CONFIG
186
194
  }
187
195
 
196
+ retries.forEach(retry =>
197
+ step.addRetry({
198
+ ...retry,
199
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
200
+ })
201
+ )
202
+
188
203
  return step
189
204
  }
190
205
 
@@ -226,15 +241,18 @@ export class SfnManager {
226
241
  },
227
242
  })
228
243
 
229
- if (props.retries && props.retries.length > 0) {
230
- props.retries.forEach(retry =>
231
- step.addRetry({
232
- ...retry,
233
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
234
- })
235
- )
244
+ let retries = props.retries
245
+ if (!retries || retries.length === 0) {
246
+ retries = DEFAULT_RETRY_CONFIG
236
247
  }
237
248
 
249
+ retries.forEach(retry =>
250
+ step.addRetry({
251
+ ...retry,
252
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
253
+ })
254
+ )
255
+
238
256
  return step
239
257
  }
240
258
 
@@ -276,15 +294,18 @@ export class SfnManager {
276
294
  },
277
295
  })
278
296
 
279
- if (props.retries && props.retries.length > 0) {
280
- props.retries.forEach(retry =>
281
- step.addRetry({
282
- ...retry,
283
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
284
- })
285
- )
297
+ let retries = props.retries
298
+ if (!retries || retries.length === 0) {
299
+ retries = DEFAULT_RETRY_CONFIG
286
300
  }
287
301
 
302
+ retries.forEach(retry =>
303
+ step.addRetry({
304
+ ...retry,
305
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
306
+ })
307
+ )
308
+
288
309
  return step
289
310
  }
290
311
 
@@ -322,15 +343,18 @@ export class SfnManager {
322
343
  },
323
344
  })
324
345
 
325
- if (props.retries && props.retries.length > 0) {
326
- props.retries.forEach(retry =>
327
- step.addRetry({
328
- ...retry,
329
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
330
- })
331
- )
346
+ let retries = props.retries
347
+ if (!retries || retries.length === 0) {
348
+ retries = DEFAULT_RETRY_CONFIG
332
349
  }
333
350
 
351
+ retries.forEach(retry =>
352
+ step.addRetry({
353
+ ...retry,
354
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
355
+ })
356
+ )
357
+
334
358
  return step
335
359
  }
336
360
 
@@ -356,15 +380,18 @@ export class SfnManager {
356
380
  },
357
381
  })
358
382
 
359
- if (props.retries && props.retries.length > 0) {
360
- props.retries.forEach(retry =>
361
- step.addRetry({
362
- ...retry,
363
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
364
- })
365
- )
383
+ let retries = props.retries
384
+ if (!retries || retries.length === 0) {
385
+ retries = DEFAULT_RETRY_CONFIG
366
386
  }
367
387
 
388
+ retries.forEach(retry =>
389
+ step.addRetry({
390
+ ...retry,
391
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
392
+ })
393
+ )
394
+
368
395
  return step
369
396
  }
370
397
 
@@ -391,15 +418,18 @@ export class SfnManager {
391
418
  },
392
419
  })
393
420
 
394
- if (props.retries && props.retries.length > 0) {
395
- props.retries.forEach(retry =>
396
- step.addRetry({
397
- ...retry,
398
- ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
399
- })
400
- )
421
+ let retries = props.retries
422
+ if (!retries || retries.length === 0) {
423
+ retries = DEFAULT_RETRY_CONFIG
401
424
  }
402
425
 
426
+ retries.forEach(retry =>
427
+ step.addRetry({
428
+ ...retry,
429
+ ...{ interval: retry.intervalInSecs ? cdk.Duration.seconds(retry.intervalInSecs) : retry.interval },
430
+ })
431
+ )
432
+
403
433
  return step
404
434
  }
405
435
 
@@ -59,6 +59,7 @@ export interface CommonStackProps extends cdk.StackProps {
59
59
  skipStageForARecords: boolean
60
60
  logRetention?: logs.RetentionDays
61
61
  defaultReservedLambdaConcurrentExecutions?: number
62
+ defaultTracing?: lambda.Tracing
62
63
  excludeDomainNameForBuckets?: boolean
63
64
  nodejsRuntime?: lambda.Runtime
64
65
  }