Skip to content

Commit 6ab7711

Browse files
flaviompFlavio Peralta
and
Flavio Peralta
authored
feat: Support retry failure policy for event based functions (#247)
Co-authored-by: Flavio Peralta <flaperalta8@google.com>
1 parent 4a1aed7 commit 6ab7711

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

package/googlePackage.js

+9
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,15 @@ class GooglePackage {
3131
resource: {
3232
type: 'string',
3333
},
34+
failurePolicy: {
35+
type: 'object',
36+
properties: {
37+
retry: {
38+
type: 'object',
39+
},
40+
},
41+
additionalProperties: false,
42+
},
3443
},
3544
required: ['eventType', 'resource'],
3645
additionalProperties: false,

package/lib/compileFunctions.js

+6
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,17 @@ module.exports = {
8383
const type = funcObject.events[0].event.eventType;
8484
const path = funcObject.events[0].event.path; //eslint-disable-line
8585
const resource = funcObject.events[0].event.resource;
86+
const failurePolicy = funcObject.events[0].event.failurePolicy;
87+
const retry = _.get(funcObject.events[0].event, 'failurePolicy.retry');
8688

8789
funcTemplate.properties.eventTrigger = {};
8890
funcTemplate.properties.eventTrigger.eventType = type;
8991
if (path) funcTemplate.properties.eventTrigger.path = path;
9092
funcTemplate.properties.eventTrigger.resource = resource;
93+
if (failurePolicy) {
94+
funcTemplate.properties.eventTrigger.failurePolicy = {};
95+
funcTemplate.properties.eventTrigger.failurePolicy.retry = retry;
96+
}
9197
}
9298

9399
this.serverless.service.provider.compiledConfigurationTemplate.resources.push(funcTemplate);

0 commit comments

Comments
 (0)