diff --git a/lib/ansible/modules/cloud/azure/azure_rm_functionapp.py b/lib/ansible/modules/cloud/azure/azure_rm_functionapp.py index 233b890214..6e99030ff9 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 027feb7e86..19349495f5 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