Source code for azure.ai.resources.entities.single_deployment

# ---------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# ---------------------------------------------------------

from dataclasses import dataclass
from typing import Dict, Union, Optional

from azure.ai.ml.entities import OnlineEndpoint, OnlineDeployment

from .models import Model, PromptflowModel


[docs]@dataclass class SingleDeployment: """ A model deployment. :param name: The name of the deployment. :type name: str :param model: The model to be deployed. This can be a model ID, a Model object, or a promptflow model. :type model: Union[str, ~azure.ai.resources.entities.models.Model, ~azure.ai.resources.entities.models.PromptflowModel] :param app_insights_enabled: Whether to enable application insights. Defaults to True. :type app_insights_enabled: bool :param data_collector_enabled: Whether to enable data collection. Defaults to True. :type data_collector_enabled: bool :param endpoint_name: The name of the endpoint to deploy to. :type endpoint_name: Optional[str] :param environment_variables: The environment variables for the deployment. :type environment_variables: Optional[Dict[str, str]] :param instance_type: The instance type for the deployment. :type instance_type: Optional[str] :param instance_count: The number of instances for the deployment. Defaults to "1". :type instance_count: str :param scoring_uri: The scoring URI for the deployment. :type scoring_uri: Optional[str] :param properties: The properties of the deployment. :type properties: Optional[Dict[str, str]] :param tags: The tags of the deployment. :type tags: Optional[Dict[str, str]] """ name: str model: Union[str, Model, PromptflowModel] app_insights_enabled: bool = True data_collector_enabled: bool = True endpoint_name: Optional[str] = None environment_variables: Optional[Dict[str, str]] = None instance_type: Optional[str] = None instance_count: str = "1" scoring_uri: Optional[str] = None properties: Optional[Dict[str, str]] = None tags: Optional[Dict[str, str]] = None @classmethod def _from_v2_endpoint_deployment(cls, endpoint: OnlineEndpoint, deployment: OnlineDeployment) -> "SingleDeployment": return cls( name=deployment.name, model=deployment.model, endpoint_name=deployment.endpoint_name, environment_variables=deployment.environment_variables, instance_type=deployment.instance_type, instance_count=deployment.instance_count, app_insights_enabled=deployment.app_insights_enabled, tags=deployment.tags, properties=deployment.properties, scoring_uri=endpoint.scoring_uri, )