@gradientedge/cdk-utils 8.59.0 → 8.60.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.
|
@@ -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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
-
|
|
185
|
-
|
|
186
|
-
|
|
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
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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
|
-
|
|
303
|
-
|
|
304
|
-
|
|
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
|
-
|
|
328
|
-
|
|
329
|
-
|
|
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
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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
|
/**
|
package/package.json
CHANGED
|
@@ -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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
-
|
|
230
|
-
|
|
231
|
-
|
|
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
|
-
|
|
280
|
-
|
|
281
|
-
|
|
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
|
-
|
|
326
|
-
|
|
327
|
-
|
|
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
|
-
|
|
360
|
-
|
|
361
|
-
|
|
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
|
-
|
|
395
|
-
|
|
396
|
-
|
|
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
|
|