1# -------------------------------------------------------------------------------------------- 2# Copyright (c) Microsoft Corporation. All rights reserved. 3# Licensed under the MIT License. See License.txt in the project root for license information. 4# -------------------------------------------------------------------------------------------- 5 6from ._client_factory import web_client_factory 7 8 9MSI_LOCAL_ID = '[system]' 10 11 12def _generic_site_operation(cli_ctx, resource_group_name, name, operation_name, slot=None, 13 extra_parameter=None, client=None, api_version=None): 14 # api_version was added to support targeting a specific API 15 # Based on get_appconfig_service_client example 16 client = client or web_client_factory(cli_ctx, api_version=api_version) 17 operation = getattr(client.web_apps, 18 operation_name if slot is None else operation_name + '_slot') 19 if slot is None: 20 return (operation(resource_group_name, name) 21 if extra_parameter is None else operation(resource_group_name, 22 name, extra_parameter)) 23 return (operation(resource_group_name, name, slot) 24 if extra_parameter is None else operation(resource_group_name, 25 name, slot, extra_parameter)) 26 27 28def _generic_settings_operation(cli_ctx, resource_group_name, name, operation_name, 29 setting_properties, slot=None, client=None, api_version=None): 30 client = client or web_client_factory(cli_ctx, api_version=api_version) 31 operation = getattr(client.web_apps, operation_name if slot is None else operation_name + '_slot') 32 if slot is None: 33 return operation(resource_group_name, name, setting_properties) 34 35 return operation(resource_group_name, name, slot, setting_properties) 36