def deploy_dedicated_function_app(parameters): function_app_unit = FunctionAppDeploymentUnit() function_app_params = \ {'name': parameters.function_app_name, 'resource_group_name': parameters.function_app_resource_group_name} function_app = function_app_unit.get(function_app_params) if function_app: return function_app sp_unit = AppServicePlanUnit() app_service_plan = sp_unit.provision_if_not_exists(parameters.service_plan) ai_unit = AppInsightsUnit() app_insights = ai_unit.provision_if_not_exists(parameters.app_insights) sa_unit = StorageAccountUnit() storage_account_id = sa_unit.provision_if_not_exists(parameters.storage_account).id con_string = FunctionAppUtilities.get_storage_account_connection_string(storage_account_id) function_app_params.update({'location': app_service_plan.location, 'app_service_plan_id': app_service_plan.id, 'app_insights_key': app_insights.instrumentation_key, 'storage_account_connection_string': con_string}) return function_app_unit.provision(function_app_params)
def deploy_dedicated_function_app(self, parameters): function_app_unit = FunctionAppDeploymentUnit() function_app_params = \ {'name': parameters.functionapp_name, 'resource_group_name': parameters.service_plan['resource_group_name']} function_app = function_app_unit.get(function_app_params) if function_app: return function_app sp_unit = AppServicePlanUnit() app_service_plan = sp_unit.provision_if_not_exists( parameters.service_plan) ai_unit = AppInsightsUnit() app_insights = ai_unit.provision_if_not_exists(parameters.app_insights) sa_unit = StorageAccountUnit() storage_account_id = sa_unit.provision_if_not_exists( parameters.storage_account).id con_string = FunctionAppUtilities.get_storage_account_connection_string( storage_account_id) function_app_params.update({ 'location': app_service_plan.location, 'app_service_plan_id': app_service_plan.id, 'app_insights_key': app_insights.instrumentation_key, 'storage_account_connection_string': con_string }) return function_app_unit.provision(function_app_params)
def deploy_function_app(parameters): function_app_unit = FunctionAppDeploymentUnit() function_app_params = \ {'name': parameters.function_app_name, 'resource_group_name': parameters.function_app_resource_group_name} function_app = function_app_unit.get(function_app_params) if function_app: # retrieve the type of app service plan hosting the existing function app session = local_session(Session) web_client = session.client( 'azure.mgmt.web.WebSiteManagementClient') app_id = function_app.server_farm_id app_name = ResourceIdParser.get_resource_name(app_id) app_resource_group_name = ResourceIdParser.get_resource_group( app_id) app_service_plan = web_client.app_service_plans.get( app_resource_group_name, app_name) # update the sku tier to properly reflect what is provisioned in Azure parameters.service_plan['sku_tier'] = app_service_plan.sku.tier return function_app sp_unit = AppServicePlanUnit() app_service_plan = sp_unit.provision_if_not_exists( parameters.service_plan) # if only resource_id is provided, retrieve existing app plan sku tier parameters.service_plan['sku_tier'] = app_service_plan.sku.tier ai_unit = AppInsightsUnit() app_insights = ai_unit.provision_if_not_exists(parameters.app_insights) sa_unit = StorageAccountUnit() storage_account_id = sa_unit.provision_if_not_exists( parameters.storage_account).id con_string = FunctionAppUtilities.get_storage_account_connection_string( storage_account_id) function_app_params.update({ 'location': app_service_plan.location, 'app_service_plan_id': app_service_plan.id, 'app_insights_key': app_insights.instrumentation_key, 'is_consumption_plan': FunctionAppUtilities.is_consumption_plan(parameters), 'storage_account_connection_string': con_string }) return function_app_unit.provision(function_app_params)
def deploy_function_app(parameters): function_app_unit = FunctionAppDeploymentUnit() function_app_params = \ {'name': parameters.function_app_name, 'resource_group_name': parameters.function_app_resource_group_name} function_app = function_app_unit.get(function_app_params) if function_app: # retrieve the type of app service plan hosting the existing function app session = local_session(Session) web_client = session.client('azure.mgmt.web.WebSiteManagementClient') app_id = function_app.server_farm_id app_name = ResourceIdParser.get_resource_name(app_id) app_resource_group_name = ResourceIdParser.get_resource_group(app_id) app_service_plan = web_client.app_service_plans.get(app_resource_group_name, app_name) # update the sku tier to properly reflect what is provisioned in Azure parameters.service_plan['sku_tier'] = app_service_plan.sku.tier return function_app sp_unit = AppServicePlanUnit() app_service_plan = sp_unit.provision_if_not_exists(parameters.service_plan) # if only resource_id is provided, retrieve existing app plan sku tier parameters.service_plan['sku_tier'] = app_service_plan.sku.tier ai_unit = AppInsightsUnit() app_insights = ai_unit.provision_if_not_exists(parameters.app_insights) sa_unit = StorageAccountUnit() storage_account_id = sa_unit.provision_if_not_exists(parameters.storage_account).id con_string = FunctionAppUtilities.get_storage_account_connection_string(storage_account_id) function_app_params.update( {'location': app_service_plan.location, 'app_service_plan_id': app_service_plan.id, 'app_insights_key': app_insights.instrumentation_key, 'is_consumption_plan': FunctionAppUtilities.is_consumption_plan(parameters), 'storage_account_connection_string': con_string}) return function_app_unit.provision(function_app_params)