From 6404a470e688d5ad6edf135cd3399364346d3b36 Mon Sep 17 00:00:00 2001 From: EthanChou Date: Wed, 22 Jul 2020 13:18:51 +0800 Subject: [PATCH] feat: adding support for failure policy following https://github.com/serverless/serverless-google-cloudfunctions/pull/132 --- package/lib/compileFunctions.js | 2 ++ package/lib/compileFunctions.test.js | 35 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/package/lib/compileFunctions.js b/package/lib/compileFunctions.js index d24afbf..37ff4d7 100644 --- a/package/lib/compileFunctions.js +++ b/package/lib/compileFunctions.js @@ -88,11 +88,13 @@ module.exports = { const type = funcObject.events[0].event.eventType; const path = funcObject.events[0].event.path; //eslint-disable-line const resource = funcObject.events[0].event.resource; + const failurePolicy = funcObject.events[0].event.failurePolicy; funcTemplate.properties.eventTrigger = {}; funcTemplate.properties.eventTrigger.eventType = type; if (path) funcTemplate.properties.eventTrigger.path = path; funcTemplate.properties.eventTrigger.resource = resource; + if (failurePolicy) funcTemplate.properties.eventTrigger.failurePolicy = failurePolicy; } this.serverless.service.provider.compiledConfigurationTemplate.resources.push(funcTemplate); diff --git a/package/lib/compileFunctions.test.js b/package/lib/compileFunctions.test.js index cfdc6f4..9ee810f 100644 --- a/package/lib/compileFunctions.test.js +++ b/package/lib/compileFunctions.test.js @@ -568,6 +568,20 @@ describe('CompileFunctions', () => { }, ], }, + func3: { + handler: 'func3', + events: [ + { + event: { + eventType: 'foo', + resource: 'some-resource', + failurePolicy: { + retry: {}, + }, + }, + }, + ], + }, }; const compiledResources = [ @@ -608,6 +622,27 @@ describe('CompileFunctions', () => { labels: {}, }, }, + { + type: 'gcp-types/cloudfunctions-v1:projects.locations.functions', + name: 'my-service-dev-func3', + properties: { + entryPoint: 'func3', + parent: 'projects/myProject/locations/us-central1', + runtime: 'nodejs8', + function: 'my-service-dev-func3', + availableMemoryMb: 256, + timeout: '60s', + sourceArchiveUrl: 'gs://sls-my-service-dev-12345678/some-path/artifact.zip', + eventTrigger: { + eventType: 'foo', + resource: 'some-resource', + failurePolicy: { + retry: {}, + }, + }, + labels: {}, + }, + }, ]; return googlePackage.compileFunctions().then(() => {