From efc3ecb966df76a69c265f1dabc56e53f82a9caf Mon Sep 17 00:00:00 2001 From: Paul Topley Date: Wed, 27 Sep 2023 13:38:30 +0100 Subject: [PATCH 1/2] Allow vars to be passed to Service via custom variable. --- serverless/service/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/serverless/service/__init__.py b/serverless/service/__init__.py index 18ee77f..bd11659 100644 --- a/serverless/service/__init__.py +++ b/serverless/service/__init__.py @@ -57,7 +57,13 @@ def __init__( self.service = Identifier(name) self.package = Package(["!./**/**", f"{self.service.snake}/**"]) self.variablesResolutionMode = 20210326 - self.custom = YamlOrderedDict(vars="${file(./variables.yml):${sls:stage}}", **(custom or {})) + if "vars" not in custom: + self.custom = YamlOrderedDict( + vars="${file(./variables.yml):${sls:stage}}", + **(custom or {}) + ) + else: + self.custom = YamlOrderedDict(**(custom or {})) self.config = config or Configuration() self.regions = regions From cc805330483f707f866daeaabdab0320cda0bd20 Mon Sep 17 00:00:00 2001 From: Paul Topley Date: Wed, 27 Sep 2023 13:41:18 +0100 Subject: [PATCH 2/2] Better impl. --- serverless/service/__init__.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/serverless/service/__init__.py b/serverless/service/__init__.py index bd11659..e876d18 100644 --- a/serverless/service/__init__.py +++ b/serverless/service/__init__.py @@ -57,13 +57,11 @@ def __init__( self.service = Identifier(name) self.package = Package(["!./**/**", f"{self.service.snake}/**"]) self.variablesResolutionMode = 20210326 - if "vars" not in custom: - self.custom = YamlOrderedDict( - vars="${file(./variables.yml):${sls:stage}}", - **(custom or {}) - ) - else: - self.custom = YamlOrderedDict(**(custom or {})) + self.custom = YamlOrderedDict(**(custom or {})) + + if "vars" not in custom.keys(): + custom["vars"] = "${file(./variables.yml):${sls:stage}}" + self.config = config or Configuration() self.regions = regions