From c85e3e07942dd5a1d2f9b74a281d901574eb6804 Mon Sep 17 00:00:00 2001 From: Zim Kalinowski Date: Mon, 1 Apr 2019 16:50:08 +0800 Subject: [PATCH] Fix for function app settings (#54662) --- .../modules/cloud/azure/azure_rm_functionapp.py | 16 ++++++++++++---- .../targets/azure_rm_functionapp/tasks/main.yml | 2 ++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_functionapp.py b/lib/ansible/modules/cloud/azure/azure_rm_functionapp.py index 233b8902143..6e99030ff9d 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_functionapp.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_functionapp.py @@ -280,10 +280,18 @@ class AzureRMFunctionApp(AzureRMModuleBase): function_app_settings = self.necessary_functionapp_settings() for app_setting_key in self.app_settings: - function_app_settings.append(NameValuePair( - name=app_setting_key, - value=self.app_settings[app_setting_key] - )) + found_setting = None + for s in function_app_settings: + if s.name == app_setting_key: + found_setting = s + break + if found_setting: + found_setting.value = self.app_settings[app_setting_key] + else: + function_app_settings.append(NameValuePair( + name=app_setting_key, + value=self.app_settings[app_setting_key] + )) return function_app_settings @property diff --git a/test/integration/targets/azure_rm_functionapp/tasks/main.yml b/test/integration/targets/azure_rm_functionapp/tasks/main.yml index 027feb7e865..19349495f5a 100644 --- a/test/integration/targets/azure_rm_functionapp/tasks/main.yml +++ b/test/integration/targets/azure_rm_functionapp/tasks/main.yml @@ -50,6 +50,7 @@ app_settings: hello: world things: more stuff + FUNCTIONS_EXTENSION_VERSION: "~2" register: output - name: assert the function with app settings was created @@ -64,6 +65,7 @@ app_settings: hello: world things: more stuff + FUNCTIONS_EXTENSION_VERSION: "~2" another: one register: output