Skip to content
3 changes: 3 additions & 0 deletions sdk/ml/azure-ai-ml/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

### Features Added

- Added support for `default_deployment_template` property in Model entity, allowing models to specify a default deployment template for online deployments.
- Online deployments now display informational messages when deploying models with configured default deployment templates.

### Bugs Fixed

### Other Changes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,22 @@
from copy import deepcopy
from typing import TYPE_CHECKING

from azure.mgmt.core import ARMPipelineClient
from msrest import Deserializer, Serializer

from azure.mgmt.core import ARMPipelineClient

from . import models
from ._configuration import AzureMachineLearningWorkspacesConfiguration
from .operations import (
CodeContainersOperations,
CodeVersionsOperations,
ComponentContainersOperations,
ComponentVersionsOperations,
DataContainersOperations,
DataReferencesOperations,
DataVersionsOperations,
EnvironmentContainersOperations,
EnvironmentVersionsOperations,
ModelContainersOperations,
ModelVersionsOperations,
ResourceManagementAssetReferenceOperations,
TemporaryDataReferencesOperations,
)
from .operations import CodeContainersOperations, CodeVersionsOperations, ComponentContainersOperations, ComponentVersionsOperations, DataContainersOperations, DataReferencesOperations, DataVersionsOperations, EnvironmentContainersOperations, EnvironmentVersionsOperations, ModelContainersOperations, ModelVersionsOperations, ResourceManagementAssetReferenceOperations, TemporaryDataReferencesOperations

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from typing import Any, Optional
from typing import Any

from azure.core.credentials import TokenCredential
from azure.core.rest import HttpRequest, HttpResponse


class AzureMachineLearningWorkspaces(object):
class AzureMachineLearningWorkspaces(object): # pylint: disable=too-many-instance-attributes
"""AzureMachineLearningWorkspaces.

:ivar code_containers: CodeContainersOperations operations
Expand Down Expand Up @@ -99,9 +85,7 @@ def __init__(
**kwargs # type: Any
):
# type: (...) -> None
self._config = AzureMachineLearningWorkspacesConfiguration(
credential=credential, subscription_id=subscription_id, **kwargs
)
self._config = AzureMachineLearningWorkspacesConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
Expand All @@ -110,31 +94,18 @@ def __init__(
self._serialize.client_side_validation = False
self.code_containers = CodeContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.code_versions = CodeVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.component_containers = ComponentContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.component_versions = ComponentVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.component_containers = ComponentContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.component_versions = ComponentVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.data_containers = DataContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.data_versions = DataVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.data_references = DataReferencesOperations(self._client, self._config, self._serialize, self._deserialize)
self.environment_containers = EnvironmentContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.environment_versions = EnvironmentVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.resource_management_asset_reference = ResourceManagementAssetReferenceOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.model_containers = ModelContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.environment_containers = EnvironmentContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.environment_versions = EnvironmentVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.resource_management_asset_reference = ResourceManagementAssetReferenceOperations(self._client, self._config, self._serialize, self._deserialize)
self.model_containers = ModelContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.model_versions = ModelVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.temporary_data_references = TemporaryDataReferencesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.temporary_data_references = TemporaryDataReferencesOperations(self._client, self._config, self._serialize, self._deserialize)


def _send_request(
self,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from azure.core.credentials import TokenCredential


class AzureMachineLearningWorkspacesConfiguration(Configuration):
class AzureMachineLearningWorkspacesConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
"""Configuration for AzureMachineLearningWorkspaces.

Note that all parameters used to create this instance are saved as instance
Expand All @@ -31,7 +31,8 @@ class AzureMachineLearningWorkspacesConfiguration(Configuration):
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The ID of the target subscription.
:type subscription_id: str
:keyword api_version: Api Version. The default value is "2021-10-01-dataplanepreview". Note that overriding this default value may result in unsupported behavior.
:keyword api_version: Api Version. The default value is "2021-10-01-dataplanepreview". Note
that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
"""

Expand All @@ -43,7 +44,7 @@ def __init__(
):
# type: (...) -> None
super(AzureMachineLearningWorkspacesConfiguration, self).__init__(**kwargs)
api_version = kwargs.pop("api_version", "2021-10-01-dataplanepreview") # type: str
api_version = kwargs.pop('api_version', "2021-10-01-dataplanepreview") # type: str

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand All @@ -53,24 +54,23 @@ def __init__(
self.credential = credential
self.subscription_id = subscription_id
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-machinelearningservices/{}".format(VERSION))
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-machinelearningservices/{}'.format(VERSION))
self._configure(**kwargs)

def _configure(
self, **kwargs # type: Any
self,
**kwargs # type: Any
):
# type: (...) -> None
self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = ARMChallengeAuthenticationPolicy(
self.credential, *self.credential_scopes, **kwargs
)
self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,22 @@
# --------------------------------------------------------------------------

from copy import deepcopy
from typing import Any, Awaitable, Optional, TYPE_CHECKING
from typing import Any, Awaitable, TYPE_CHECKING

from msrest import Deserializer, Serializer

from azure.core.rest import AsyncHttpResponse, HttpRequest
from azure.mgmt.core import AsyncARMPipelineClient
from msrest import Deserializer, Serializer

from .. import models
from ._configuration import AzureMachineLearningWorkspacesConfiguration
from .operations import (
CodeContainersOperations,
CodeVersionsOperations,
ComponentContainersOperations,
ComponentVersionsOperations,
DataContainersOperations,
DataReferencesOperations,
DataVersionsOperations,
EnvironmentContainersOperations,
EnvironmentVersionsOperations,
ModelContainersOperations,
ModelVersionsOperations,
ResourceManagementAssetReferenceOperations,
TemporaryDataReferencesOperations,
)
from .operations import CodeContainersOperations, CodeVersionsOperations, ComponentContainersOperations, ComponentVersionsOperations, DataContainersOperations, DataReferencesOperations, DataVersionsOperations, EnvironmentContainersOperations, EnvironmentVersionsOperations, ModelContainersOperations, ModelVersionsOperations, ResourceManagementAssetReferenceOperations, TemporaryDataReferencesOperations

if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from azure.core.credentials_async import AsyncTokenCredential


class AzureMachineLearningWorkspaces:
class AzureMachineLearningWorkspaces: # pylint: disable=too-many-instance-attributes
"""AzureMachineLearningWorkspaces.

:ivar code_containers: CodeContainersOperations operations
Expand Down Expand Up @@ -99,9 +85,7 @@ def __init__(
base_url: str = "https://management.azure.com",
**kwargs: Any
) -> None:
self._config = AzureMachineLearningWorkspacesConfiguration(
credential=credential, subscription_id=subscription_id, **kwargs
)
self._config = AzureMachineLearningWorkspacesConfiguration(credential=credential, subscription_id=subscription_id, **kwargs)
self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
Expand All @@ -110,33 +94,24 @@ def __init__(
self._serialize.client_side_validation = False
self.code_containers = CodeContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.code_versions = CodeVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.component_containers = ComponentContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.component_versions = ComponentVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.component_containers = ComponentContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.component_versions = ComponentVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.data_containers = DataContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.data_versions = DataVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.data_references = DataReferencesOperations(self._client, self._config, self._serialize, self._deserialize)
self.environment_containers = EnvironmentContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.environment_versions = EnvironmentVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.resource_management_asset_reference = ResourceManagementAssetReferenceOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.model_containers = ModelContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.environment_containers = EnvironmentContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.environment_versions = EnvironmentVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.resource_management_asset_reference = ResourceManagementAssetReferenceOperations(self._client, self._config, self._serialize, self._deserialize)
self.model_containers = ModelContainersOperations(self._client, self._config, self._serialize, self._deserialize)
self.model_versions = ModelVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.temporary_data_references = TemporaryDataReferencesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.temporary_data_references = TemporaryDataReferencesOperations(self._client, self._config, self._serialize, self._deserialize)

def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]:

def _send_request(
self,
request: HttpRequest,
**kwargs: Any
) -> Awaitable[AsyncHttpResponse]:
"""Runs the network request through the client's chained policies.

>>> from azure.core.rest import HttpRequest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from azure.core.credentials_async import AsyncTokenCredential


class AzureMachineLearningWorkspacesConfiguration(Configuration):
class AzureMachineLearningWorkspacesConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
"""Configuration for AzureMachineLearningWorkspaces.

Note that all parameters used to create this instance are saved as instance
Expand All @@ -29,13 +29,19 @@ class AzureMachineLearningWorkspacesConfiguration(Configuration):
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
:param subscription_id: The ID of the target subscription.
:type subscription_id: str
:keyword api_version: Api Version. The default value is "2021-10-01-dataplanepreview". Note that overriding this default value may result in unsupported behavior.
:keyword api_version: Api Version. The default value is "2021-10-01-dataplanepreview". Note
that overriding this default value may result in unsupported behavior.
:paramtype api_version: str
"""

def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any) -> None:
def __init__(
self,
credential: "AsyncTokenCredential",
subscription_id: str,
**kwargs: Any
) -> None:
super(AzureMachineLearningWorkspacesConfiguration, self).__init__(**kwargs)
api_version = kwargs.pop("api_version", "2021-10-01-dataplanepreview") # type: str
api_version = kwargs.pop('api_version', "2021-10-01-dataplanepreview") # type: str

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand All @@ -45,21 +51,22 @@ def __init__(self, credential: "AsyncTokenCredential", subscription_id: str, **k
self.credential = credential
self.subscription_id = subscription_id
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "mgmt-machinelearningservices/{}".format(VERSION))
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
kwargs.setdefault('sdk_moniker', 'mgmt-machinelearningservices/{}'.format(VERSION))
self._configure(**kwargs)

def _configure(self, **kwargs: Any) -> None:
self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
def _configure(
self,
**kwargs: Any
) -> None:
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs)
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs)
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs)
self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs)
self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs)
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs)
self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs)
self.authentication_policy = kwargs.get('authentication_policy')
if self.credential and not self.authentication_policy:
self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(
self.credential, *self.credential_scopes, **kwargs
)
self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
Loading