aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01')
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/__init__.py18
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_azure_machine_learning_workspaces.py195
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_configuration.py76
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_patch.py31
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_vendor.py27
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_version.py9
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/__init__.py15
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_azure_machine_learning_workspaces.py191
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_configuration.py72
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_patch.py31
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/__init__.py65
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_deployments_operations.py642
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_endpoints_operations.py675
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_containers_operations.py339
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_versions_operations.py366
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_containers_operations.py344
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_versions_operations.py371
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_compute_operations.py1077
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_containers_operations.py344
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_versions_operations.py380
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_datastores_operations.py438
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_containers_operations.py344
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_versions_operations.py371
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_jobs_operations.py532
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_containers_operations.py349
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_versions_operations.py403
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_deployments_operations.py823
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_endpoints_operations.py897
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_operations.py117
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_endpoint_connections_operations.py325
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_link_resources_operations.py103
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_quotas_operations.py186
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_schedules_operations.py467
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_usages_operations.py124
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_virtual_machine_sizes_operations.py99
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_connections_operations.py333
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_features_operations.py129
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspaces_operations.py1281
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/__init__.py1328
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_azure_machine_learning_workspaces_enums.py1344
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models.py19694
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models_py3.py21370
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/__init__.py65
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_deployments_operations.py876
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_endpoints_operations.py934
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_containers_operations.py511
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_versions_operations.py552
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_containers_operations.py519
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_versions_operations.py560
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_compute_operations.py1500
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_containers_operations.py519
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_versions_operations.py572
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_datastores_operations.py671
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_containers_operations.py519
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_versions_operations.py560
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_jobs_operations.py755
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_containers_operations.py527
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_versions_operations.py610
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_deployments_operations.py1150
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_endpoints_operations.py1257
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_operations.py154
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_endpoint_connections_operations.py494
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_link_resources_operations.py150
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_quotas_operations.py269
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_schedules_operations.py643
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_usages_operations.py169
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_virtual_machine_sizes_operations.py144
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_connections_operations.py508
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_features_operations.py176
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspaces_operations.py1832
-rw-r--r--.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/py.typed1
71 files changed, 73522 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/__init__.py
new file mode 100644
index 00000000..da466144
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/__init__.py
@@ -0,0 +1,18 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._azure_machine_learning_workspaces import AzureMachineLearningWorkspaces
+from ._version import VERSION
+
+__version__ = VERSION
+__all__ = ['AzureMachineLearningWorkspaces']
+
+# `._patch.py` is used for handwritten extensions to the generated code
+# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+from ._patch import patch_sdk
+patch_sdk()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_azure_machine_learning_workspaces.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_azure_machine_learning_workspaces.py
new file mode 100644
index 00000000..3feecd1d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_azure_machine_learning_workspaces.py
@@ -0,0 +1,195 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from copy import deepcopy
+from typing import TYPE_CHECKING
+
+from msrest import Deserializer, Serializer
+
+from azure.mgmt.core import ARMPipelineClient
+
+from . import models
+from ._configuration import AzureMachineLearningWorkspacesConfiguration
+from .operations import BatchDeploymentsOperations, BatchEndpointsOperations, CodeContainersOperations, CodeVersionsOperations, ComponentContainersOperations, ComponentVersionsOperations, ComputeOperations, DataContainersOperations, DataVersionsOperations, DatastoresOperations, EnvironmentContainersOperations, EnvironmentVersionsOperations, JobsOperations, ModelContainersOperations, ModelVersionsOperations, OnlineDeploymentsOperations, OnlineEndpointsOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, QuotasOperations, SchedulesOperations, UsagesOperations, VirtualMachineSizesOperations, WorkspaceConnectionsOperations, WorkspaceFeaturesOperations, WorkspacesOperations
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any
+
+ from azure.core.credentials import TokenCredential
+ from azure.core.rest import HttpRequest, HttpResponse
+
+class AzureMachineLearningWorkspaces(object): # pylint: disable=too-many-instance-attributes
+ """These APIs allow end users to operate on Azure Machine Learning Workspace resources.
+
+ :ivar batch_endpoints: BatchEndpointsOperations operations
+ :vartype batch_endpoints:
+ azure.mgmt.machinelearningservices.operations.BatchEndpointsOperations
+ :ivar batch_deployments: BatchDeploymentsOperations operations
+ :vartype batch_deployments:
+ azure.mgmt.machinelearningservices.operations.BatchDeploymentsOperations
+ :ivar code_containers: CodeContainersOperations operations
+ :vartype code_containers:
+ azure.mgmt.machinelearningservices.operations.CodeContainersOperations
+ :ivar code_versions: CodeVersionsOperations operations
+ :vartype code_versions: azure.mgmt.machinelearningservices.operations.CodeVersionsOperations
+ :ivar component_containers: ComponentContainersOperations operations
+ :vartype component_containers:
+ azure.mgmt.machinelearningservices.operations.ComponentContainersOperations
+ :ivar component_versions: ComponentVersionsOperations operations
+ :vartype component_versions:
+ azure.mgmt.machinelearningservices.operations.ComponentVersionsOperations
+ :ivar data_containers: DataContainersOperations operations
+ :vartype data_containers:
+ azure.mgmt.machinelearningservices.operations.DataContainersOperations
+ :ivar data_versions: DataVersionsOperations operations
+ :vartype data_versions: azure.mgmt.machinelearningservices.operations.DataVersionsOperations
+ :ivar datastores: DatastoresOperations operations
+ :vartype datastores: azure.mgmt.machinelearningservices.operations.DatastoresOperations
+ :ivar environment_containers: EnvironmentContainersOperations operations
+ :vartype environment_containers:
+ azure.mgmt.machinelearningservices.operations.EnvironmentContainersOperations
+ :ivar environment_versions: EnvironmentVersionsOperations operations
+ :vartype environment_versions:
+ azure.mgmt.machinelearningservices.operations.EnvironmentVersionsOperations
+ :ivar jobs: JobsOperations operations
+ :vartype jobs: azure.mgmt.machinelearningservices.operations.JobsOperations
+ :ivar model_containers: ModelContainersOperations operations
+ :vartype model_containers:
+ azure.mgmt.machinelearningservices.operations.ModelContainersOperations
+ :ivar model_versions: ModelVersionsOperations operations
+ :vartype model_versions: azure.mgmt.machinelearningservices.operations.ModelVersionsOperations
+ :ivar online_endpoints: OnlineEndpointsOperations operations
+ :vartype online_endpoints:
+ azure.mgmt.machinelearningservices.operations.OnlineEndpointsOperations
+ :ivar online_deployments: OnlineDeploymentsOperations operations
+ :vartype online_deployments:
+ azure.mgmt.machinelearningservices.operations.OnlineDeploymentsOperations
+ :ivar schedules: SchedulesOperations operations
+ :vartype schedules: azure.mgmt.machinelearningservices.operations.SchedulesOperations
+ :ivar operations: Operations operations
+ :vartype operations: azure.mgmt.machinelearningservices.operations.Operations
+ :ivar workspaces: WorkspacesOperations operations
+ :vartype workspaces: azure.mgmt.machinelearningservices.operations.WorkspacesOperations
+ :ivar usages: UsagesOperations operations
+ :vartype usages: azure.mgmt.machinelearningservices.operations.UsagesOperations
+ :ivar virtual_machine_sizes: VirtualMachineSizesOperations operations
+ :vartype virtual_machine_sizes:
+ azure.mgmt.machinelearningservices.operations.VirtualMachineSizesOperations
+ :ivar quotas: QuotasOperations operations
+ :vartype quotas: azure.mgmt.machinelearningservices.operations.QuotasOperations
+ :ivar compute: ComputeOperations operations
+ :vartype compute: azure.mgmt.machinelearningservices.operations.ComputeOperations
+ :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations
+ :vartype private_endpoint_connections:
+ azure.mgmt.machinelearningservices.operations.PrivateEndpointConnectionsOperations
+ :ivar private_link_resources: PrivateLinkResourcesOperations operations
+ :vartype private_link_resources:
+ azure.mgmt.machinelearningservices.operations.PrivateLinkResourcesOperations
+ :ivar workspace_connections: WorkspaceConnectionsOperations operations
+ :vartype workspace_connections:
+ azure.mgmt.machinelearningservices.operations.WorkspaceConnectionsOperations
+ :ivar workspace_features: WorkspaceFeaturesOperations operations
+ :vartype workspace_features:
+ azure.mgmt.machinelearningservices.operations.WorkspaceFeaturesOperations
+ :param credential: Credential needed for the client to connect to Azure.
+ :type credential: ~azure.core.credentials.TokenCredential
+ :param subscription_id: The ID of the target subscription.
+ :type subscription_id: str
+ :param base_url: Service URL. Default value is 'https://management.azure.com'.
+ :type base_url: str
+ :keyword api_version: Api Version. The default value is "2022-10-01". Note that overriding this
+ default value may result in unsupported behavior.
+ :paramtype api_version: str
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ """
+
+ def __init__(
+ self,
+ credential, # type: "TokenCredential"
+ subscription_id, # type: str
+ base_url="https://management.azure.com", # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ 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)}
+ self._serialize = Serializer(client_models)
+ self._deserialize = Deserializer(client_models)
+ self._serialize.client_side_validation = False
+ self.batch_endpoints = BatchEndpointsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.batch_deployments = BatchDeploymentsOperations(self._client, self._config, self._serialize, self._deserialize)
+ 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.data_containers = DataContainersOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.data_versions = DataVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.datastores = DatastoresOperations(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.jobs = JobsOperations(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.online_endpoints = OnlineEndpointsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.online_deployments = OnlineDeploymentsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
+ self.workspaces = WorkspacesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.usages = UsagesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.virtual_machine_sizes = VirtualMachineSizesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.quotas = QuotasOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.compute = ComputeOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.private_endpoint_connections = PrivateEndpointConnectionsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.private_link_resources = PrivateLinkResourcesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.workspace_connections = WorkspaceConnectionsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.workspace_features = WorkspaceFeaturesOperations(self._client, self._config, self._serialize, self._deserialize)
+
+
+ def _send_request(
+ self,
+ request, # type: HttpRequest
+ **kwargs # type: Any
+ ):
+ # type: (...) -> HttpResponse
+ """Runs the network request through the client's chained policies.
+
+ >>> from azure.core.rest import HttpRequest
+ >>> request = HttpRequest("GET", "https://www.example.org/")
+ <HttpRequest [GET], url: 'https://www.example.org/'>
+ >>> response = client._send_request(request)
+ <HttpResponse: 200 OK>
+
+ For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart
+
+ :param request: The network request you want to make. Required.
+ :type request: ~azure.core.rest.HttpRequest
+ :keyword bool stream: Whether the response payload will be streamed. Defaults to False.
+ :return: The response of your network call. Does not do error handling on your response.
+ :rtype: ~azure.core.rest.HttpResponse
+ """
+
+ request_copy = deepcopy(request)
+ request_copy.url = self._client.format_url(request_copy.url)
+ return self._client.send_request(request_copy, **kwargs)
+
+ def close(self):
+ # type: () -> None
+ self._client.close()
+
+ def __enter__(self):
+ # type: () -> AzureMachineLearningWorkspaces
+ self._client.__enter__()
+ return self
+
+ def __exit__(self, *exc_details):
+ # type: (Any) -> None
+ self._client.__exit__(*exc_details)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_configuration.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_configuration.py
new file mode 100644
index 00000000..853a27ec
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_configuration.py
@@ -0,0 +1,76 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from typing import TYPE_CHECKING
+
+from azure.core.configuration import Configuration
+from azure.core.pipeline import policies
+from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy
+
+from ._version import VERSION
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any
+
+ from azure.core.credentials import TokenCredential
+
+
+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
+ attributes.
+
+ :param credential: Credential needed for the client to connect to Azure.
+ :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 "2022-10-01". Note that overriding this
+ default value may result in unsupported behavior.
+ :paramtype api_version: str
+ """
+
+ def __init__(
+ self,
+ credential, # type: "TokenCredential"
+ subscription_id, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ super(AzureMachineLearningWorkspacesConfiguration, self).__init__(**kwargs)
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ if credential is None:
+ raise ValueError("Parameter 'credential' must not be None.")
+ if subscription_id is None:
+ raise ValueError("Parameter 'subscription_id' must not be None.")
+
+ 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._configure(**kwargs)
+
+ def _configure(
+ 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')
+ if self.credential and not self.authentication_policy:
+ self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_patch.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_patch.py
new file mode 100644
index 00000000..74e48ecd
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_patch.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+#
+# Copyright (c) Microsoft Corporation. All rights reserved.
+#
+# The MIT License (MIT)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the ""Software""), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+# --------------------------------------------------------------------------
+
+# This file is used for handwritten extensions to the generated code. Example:
+# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+def patch_sdk():
+ pass \ No newline at end of file
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_vendor.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_vendor.py
new file mode 100644
index 00000000..138f663c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_vendor.py
@@ -0,0 +1,27 @@
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.core.pipeline.transport import HttpRequest
+
+def _convert_request(request, files=None):
+ data = request.content if not files else None
+ request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data)
+ if files:
+ request.set_formdata_body(files)
+ return request
+
+def _format_url_section(template, **kwargs):
+ components = template.split("/")
+ while components:
+ try:
+ return template.format(**kwargs)
+ except KeyError as key:
+ formatted_components = template.split("/")
+ components = [
+ c for c in formatted_components if "{}".format(key.args[0]) not in c
+ ]
+ template = "/".join(components)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_version.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_version.py
new file mode 100644
index 00000000..eae7c95b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/_version.py
@@ -0,0 +1,9 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+VERSION = "0.1.0"
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/__init__.py
new file mode 100644
index 00000000..f67ccda9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/__init__.py
@@ -0,0 +1,15 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._azure_machine_learning_workspaces import AzureMachineLearningWorkspaces
+__all__ = ['AzureMachineLearningWorkspaces']
+
+# `._patch.py` is used for handwritten extensions to the generated code
+# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+from ._patch import patch_sdk
+patch_sdk()
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_azure_machine_learning_workspaces.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_azure_machine_learning_workspaces.py
new file mode 100644
index 00000000..dc532ff1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_azure_machine_learning_workspaces.py
@@ -0,0 +1,191 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from copy import deepcopy
+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 .. import models
+from ._configuration import AzureMachineLearningWorkspacesConfiguration
+from .operations import BatchDeploymentsOperations, BatchEndpointsOperations, CodeContainersOperations, CodeVersionsOperations, ComponentContainersOperations, ComponentVersionsOperations, ComputeOperations, DataContainersOperations, DataVersionsOperations, DatastoresOperations, EnvironmentContainersOperations, EnvironmentVersionsOperations, JobsOperations, ModelContainersOperations, ModelVersionsOperations, OnlineDeploymentsOperations, OnlineEndpointsOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, QuotasOperations, SchedulesOperations, UsagesOperations, VirtualMachineSizesOperations, WorkspaceConnectionsOperations, WorkspaceFeaturesOperations, WorkspacesOperations
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from azure.core.credentials_async import AsyncTokenCredential
+
+class AzureMachineLearningWorkspaces: # pylint: disable=too-many-instance-attributes
+ """These APIs allow end users to operate on Azure Machine Learning Workspace resources.
+
+ :ivar batch_endpoints: BatchEndpointsOperations operations
+ :vartype batch_endpoints:
+ azure.mgmt.machinelearningservices.aio.operations.BatchEndpointsOperations
+ :ivar batch_deployments: BatchDeploymentsOperations operations
+ :vartype batch_deployments:
+ azure.mgmt.machinelearningservices.aio.operations.BatchDeploymentsOperations
+ :ivar code_containers: CodeContainersOperations operations
+ :vartype code_containers:
+ azure.mgmt.machinelearningservices.aio.operations.CodeContainersOperations
+ :ivar code_versions: CodeVersionsOperations operations
+ :vartype code_versions:
+ azure.mgmt.machinelearningservices.aio.operations.CodeVersionsOperations
+ :ivar component_containers: ComponentContainersOperations operations
+ :vartype component_containers:
+ azure.mgmt.machinelearningservices.aio.operations.ComponentContainersOperations
+ :ivar component_versions: ComponentVersionsOperations operations
+ :vartype component_versions:
+ azure.mgmt.machinelearningservices.aio.operations.ComponentVersionsOperations
+ :ivar data_containers: DataContainersOperations operations
+ :vartype data_containers:
+ azure.mgmt.machinelearningservices.aio.operations.DataContainersOperations
+ :ivar data_versions: DataVersionsOperations operations
+ :vartype data_versions:
+ azure.mgmt.machinelearningservices.aio.operations.DataVersionsOperations
+ :ivar datastores: DatastoresOperations operations
+ :vartype datastores: azure.mgmt.machinelearningservices.aio.operations.DatastoresOperations
+ :ivar environment_containers: EnvironmentContainersOperations operations
+ :vartype environment_containers:
+ azure.mgmt.machinelearningservices.aio.operations.EnvironmentContainersOperations
+ :ivar environment_versions: EnvironmentVersionsOperations operations
+ :vartype environment_versions:
+ azure.mgmt.machinelearningservices.aio.operations.EnvironmentVersionsOperations
+ :ivar jobs: JobsOperations operations
+ :vartype jobs: azure.mgmt.machinelearningservices.aio.operations.JobsOperations
+ :ivar model_containers: ModelContainersOperations operations
+ :vartype model_containers:
+ azure.mgmt.machinelearningservices.aio.operations.ModelContainersOperations
+ :ivar model_versions: ModelVersionsOperations operations
+ :vartype model_versions:
+ azure.mgmt.machinelearningservices.aio.operations.ModelVersionsOperations
+ :ivar online_endpoints: OnlineEndpointsOperations operations
+ :vartype online_endpoints:
+ azure.mgmt.machinelearningservices.aio.operations.OnlineEndpointsOperations
+ :ivar online_deployments: OnlineDeploymentsOperations operations
+ :vartype online_deployments:
+ azure.mgmt.machinelearningservices.aio.operations.OnlineDeploymentsOperations
+ :ivar schedules: SchedulesOperations operations
+ :vartype schedules: azure.mgmt.machinelearningservices.aio.operations.SchedulesOperations
+ :ivar operations: Operations operations
+ :vartype operations: azure.mgmt.machinelearningservices.aio.operations.Operations
+ :ivar workspaces: WorkspacesOperations operations
+ :vartype workspaces: azure.mgmt.machinelearningservices.aio.operations.WorkspacesOperations
+ :ivar usages: UsagesOperations operations
+ :vartype usages: azure.mgmt.machinelearningservices.aio.operations.UsagesOperations
+ :ivar virtual_machine_sizes: VirtualMachineSizesOperations operations
+ :vartype virtual_machine_sizes:
+ azure.mgmt.machinelearningservices.aio.operations.VirtualMachineSizesOperations
+ :ivar quotas: QuotasOperations operations
+ :vartype quotas: azure.mgmt.machinelearningservices.aio.operations.QuotasOperations
+ :ivar compute: ComputeOperations operations
+ :vartype compute: azure.mgmt.machinelearningservices.aio.operations.ComputeOperations
+ :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations
+ :vartype private_endpoint_connections:
+ azure.mgmt.machinelearningservices.aio.operations.PrivateEndpointConnectionsOperations
+ :ivar private_link_resources: PrivateLinkResourcesOperations operations
+ :vartype private_link_resources:
+ azure.mgmt.machinelearningservices.aio.operations.PrivateLinkResourcesOperations
+ :ivar workspace_connections: WorkspaceConnectionsOperations operations
+ :vartype workspace_connections:
+ azure.mgmt.machinelearningservices.aio.operations.WorkspaceConnectionsOperations
+ :ivar workspace_features: WorkspaceFeaturesOperations operations
+ :vartype workspace_features:
+ azure.mgmt.machinelearningservices.aio.operations.WorkspaceFeaturesOperations
+ :param credential: Credential needed for the client to connect to Azure.
+ :type credential: ~azure.core.credentials_async.AsyncTokenCredential
+ :param subscription_id: The ID of the target subscription.
+ :type subscription_id: str
+ :param base_url: Service URL. Default value is 'https://management.azure.com'.
+ :type base_url: str
+ :keyword api_version: Api Version. The default value is "2022-10-01". Note that overriding this
+ default value may result in unsupported behavior.
+ :paramtype api_version: str
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ """
+
+ def __init__(
+ self,
+ credential: "AsyncTokenCredential",
+ subscription_id: str,
+ base_url: str = "https://management.azure.com",
+ **kwargs: Any
+ ) -> None:
+ 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)}
+ self._serialize = Serializer(client_models)
+ self._deserialize = Deserializer(client_models)
+ self._serialize.client_side_validation = False
+ self.batch_endpoints = BatchEndpointsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.batch_deployments = BatchDeploymentsOperations(self._client, self._config, self._serialize, self._deserialize)
+ 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.data_containers = DataContainersOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.data_versions = DataVersionsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.datastores = DatastoresOperations(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.jobs = JobsOperations(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.online_endpoints = OnlineEndpointsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.online_deployments = OnlineDeploymentsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
+ self.workspaces = WorkspacesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.usages = UsagesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.virtual_machine_sizes = VirtualMachineSizesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.quotas = QuotasOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.compute = ComputeOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.private_endpoint_connections = PrivateEndpointConnectionsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.private_link_resources = PrivateLinkResourcesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.workspace_connections = WorkspaceConnectionsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.workspace_features = WorkspaceFeaturesOperations(self._client, self._config, self._serialize, self._deserialize)
+
+
+ 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
+ >>> request = HttpRequest("GET", "https://www.example.org/")
+ <HttpRequest [GET], url: 'https://www.example.org/'>
+ >>> response = await client._send_request(request)
+ <AsyncHttpResponse: 200 OK>
+
+ For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart
+
+ :param request: The network request you want to make. Required.
+ :type request: ~azure.core.rest.HttpRequest
+ :keyword bool stream: Whether the response payload will be streamed. Defaults to False.
+ :return: The response of your network call. Does not do error handling on your response.
+ :rtype: ~azure.core.rest.AsyncHttpResponse
+ """
+
+ request_copy = deepcopy(request)
+ request_copy.url = self._client.format_url(request_copy.url)
+ return self._client.send_request(request_copy, **kwargs)
+
+ async def close(self) -> None:
+ await self._client.close()
+
+ async def __aenter__(self) -> "AzureMachineLearningWorkspaces":
+ await self._client.__aenter__()
+ return self
+
+ async def __aexit__(self, *exc_details) -> None:
+ await self._client.__aexit__(*exc_details)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_configuration.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_configuration.py
new file mode 100644
index 00000000..aaac6cd4
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_configuration.py
@@ -0,0 +1,72 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from typing import Any, TYPE_CHECKING
+
+from azure.core.configuration import Configuration
+from azure.core.pipeline import policies
+from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy
+
+from .._version import VERSION
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from azure.core.credentials_async import AsyncTokenCredential
+
+
+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
+ attributes.
+
+ :param credential: Credential needed for the client to connect to Azure.
+ :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 "2022-10-01". 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:
+ super(AzureMachineLearningWorkspacesConfiguration, self).__init__(**kwargs)
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ if credential is None:
+ raise ValueError("Parameter 'credential' must not be None.")
+ if subscription_id is None:
+ raise ValueError("Parameter 'subscription_id' must not be None.")
+
+ 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._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')
+ if self.credential and not self.authentication_policy:
+ self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_patch.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_patch.py
new file mode 100644
index 00000000..74e48ecd
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/_patch.py
@@ -0,0 +1,31 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+#
+# Copyright (c) Microsoft Corporation. All rights reserved.
+#
+# The MIT License (MIT)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the ""Software""), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+# --------------------------------------------------------------------------
+
+# This file is used for handwritten extensions to the generated code. Example:
+# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md
+def patch_sdk():
+ pass \ No newline at end of file
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/__init__.py
new file mode 100644
index 00000000..96b72908
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/__init__.py
@@ -0,0 +1,65 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._batch_endpoints_operations import BatchEndpointsOperations
+from ._batch_deployments_operations import BatchDeploymentsOperations
+from ._code_containers_operations import CodeContainersOperations
+from ._code_versions_operations import CodeVersionsOperations
+from ._component_containers_operations import ComponentContainersOperations
+from ._component_versions_operations import ComponentVersionsOperations
+from ._data_containers_operations import DataContainersOperations
+from ._data_versions_operations import DataVersionsOperations
+from ._datastores_operations import DatastoresOperations
+from ._environment_containers_operations import EnvironmentContainersOperations
+from ._environment_versions_operations import EnvironmentVersionsOperations
+from ._jobs_operations import JobsOperations
+from ._model_containers_operations import ModelContainersOperations
+from ._model_versions_operations import ModelVersionsOperations
+from ._online_endpoints_operations import OnlineEndpointsOperations
+from ._online_deployments_operations import OnlineDeploymentsOperations
+from ._schedules_operations import SchedulesOperations
+from ._operations import Operations
+from ._workspaces_operations import WorkspacesOperations
+from ._usages_operations import UsagesOperations
+from ._virtual_machine_sizes_operations import VirtualMachineSizesOperations
+from ._quotas_operations import QuotasOperations
+from ._compute_operations import ComputeOperations
+from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations
+from ._private_link_resources_operations import PrivateLinkResourcesOperations
+from ._workspace_connections_operations import WorkspaceConnectionsOperations
+from ._workspace_features_operations import WorkspaceFeaturesOperations
+
+__all__ = [
+ 'BatchEndpointsOperations',
+ 'BatchDeploymentsOperations',
+ 'CodeContainersOperations',
+ 'CodeVersionsOperations',
+ 'ComponentContainersOperations',
+ 'ComponentVersionsOperations',
+ 'DataContainersOperations',
+ 'DataVersionsOperations',
+ 'DatastoresOperations',
+ 'EnvironmentContainersOperations',
+ 'EnvironmentVersionsOperations',
+ 'JobsOperations',
+ 'ModelContainersOperations',
+ 'ModelVersionsOperations',
+ 'OnlineEndpointsOperations',
+ 'OnlineDeploymentsOperations',
+ 'SchedulesOperations',
+ 'Operations',
+ 'WorkspacesOperations',
+ 'UsagesOperations',
+ 'VirtualMachineSizesOperations',
+ 'QuotasOperations',
+ 'ComputeOperations',
+ 'PrivateEndpointConnectionsOperations',
+ 'PrivateLinkResourcesOperations',
+ 'WorkspaceConnectionsOperations',
+ 'WorkspaceFeaturesOperations',
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_deployments_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_deployments_operations.py
new file mode 100644
index 00000000..08103260
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_deployments_operations.py
@@ -0,0 +1,642 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._batch_deployments_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class BatchDeploymentsOperations:
+ """BatchDeploymentsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.BatchDeploymentTrackedResourceArmPaginatedResult"]:
+ """Lists Batch inference deployments in the workspace.
+
+ Lists Batch inference deployments in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Endpoint name.
+ :type endpoint_name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Top of list.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either BatchDeploymentTrackedResourceArmPaginatedResult
+ or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.BatchDeploymentTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeploymentTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("BatchDeploymentTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete Batch Inference deployment (asynchronous).
+
+ Delete Batch Inference deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference deployment identifier.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ **kwargs: Any
+ ) -> "_models.BatchDeployment":
+ """Gets a batch inference deployment by id.
+
+ Gets a batch inference deployment by id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The identifier for the Batch deployments.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: BatchDeployment, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.BatchDeployment
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties",
+ **kwargs: Any
+ ) -> Optional["_models.BatchDeployment"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BatchDeployment"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.BatchDeployment"]:
+ """Update a batch inference deployment (asynchronous).
+
+ Update a batch inference deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The identifier for the Batch inference deployment.
+ :type deployment_name: str
+ :param body: Batch inference deployment definition object.
+ :type body:
+ ~azure.mgmt.machinelearningservices.models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either BatchDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.BatchDeployment",
+ **kwargs: Any
+ ) -> "_models.BatchDeployment":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'BatchDeployment')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.BatchDeployment",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.BatchDeployment"]:
+ """Creates/updates a batch inference deployment (asynchronous).
+
+ Creates/updates a batch inference deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The identifier for the Batch inference deployment.
+ :type deployment_name: str
+ :param body: Batch inference deployment definition object.
+ :type body: ~azure.mgmt.machinelearningservices.models.BatchDeployment
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either BatchDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_endpoints_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_endpoints_operations.py
new file mode 100644
index 00000000..6c944b29
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_batch_endpoints_operations.py
@@ -0,0 +1,675 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._batch_endpoints_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_keys_request, build_list_request, build_update_request_initial
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class BatchEndpointsOperations:
+ """BatchEndpointsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ count: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.BatchEndpointTrackedResourceArmPaginatedResult"]:
+ """Lists Batch inference endpoint in the workspace.
+
+ Lists Batch inference endpoint in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param count: Number of endpoints to be retrieved in a page of results.
+ :type count: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either BatchEndpointTrackedResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.BatchEndpointTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpointTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("BatchEndpointTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete Batch Inference Endpoint (asynchronous).
+
+ Delete Batch Inference Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> "_models.BatchEndpoint":
+ """Gets a batch inference endpoint by name.
+
+ Gets a batch inference endpoint by name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Name for the Batch Endpoint.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: BatchEndpoint, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.BatchEndpoint
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.PartialMinimalTrackedResourceWithIdentity",
+ **kwargs: Any
+ ) -> Optional["_models.BatchEndpoint"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BatchEndpoint"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialMinimalTrackedResourceWithIdentity')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.PartialMinimalTrackedResourceWithIdentity",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.BatchEndpoint"]:
+ """Update a batch inference endpoint (asynchronous).
+
+ Update a batch inference endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Name for the Batch inference endpoint.
+ :type endpoint_name: str
+ :param body: Mutable batch inference endpoint definition object.
+ :type body:
+ ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either BatchEndpoint or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.BatchEndpoint",
+ **kwargs: Any
+ ) -> "_models.BatchEndpoint":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'BatchEndpoint')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.BatchEndpoint",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.BatchEndpoint"]:
+ """Creates a batch inference endpoint (asynchronous).
+
+ Creates a batch inference endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Name for the Batch inference endpoint.
+ :type endpoint_name: str
+ :param body: Batch inference endpoint definition object.
+ :type body: ~azure.mgmt.machinelearningservices.models.BatchEndpoint
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either BatchEndpoint or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace_async
+ async def list_keys(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> "_models.EndpointAuthKeys":
+ """Lists batch Inference Endpoint keys.
+
+ Lists batch Inference Endpoint keys.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EndpointAuthKeys, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EndpointAuthKeys"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EndpointAuthKeys', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/listkeys"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_containers_operations.py
new file mode 100644
index 00000000..9936d55e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_containers_operations.py
@@ -0,0 +1,339 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._code_containers_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class CodeContainersOperations:
+ """CodeContainersOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.CodeContainerResourceArmPaginatedResult"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either CodeContainerResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.CodeContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("CodeContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.CodeContainer":
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('CodeContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.CodeContainer",
+ **kwargs: Any
+ ) -> "_models.CodeContainer":
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'CodeContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('CodeContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('CodeContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_versions_operations.py
new file mode 100644
index 00000000..eb13b0c6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_code_versions_operations.py
@@ -0,0 +1,366 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._code_versions_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class CodeVersionsOperations:
+ """CodeVersionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.CodeVersionResourceArmPaginatedResult"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either CodeVersionResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.CodeVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("CodeVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> "_models.CodeVersion":
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('CodeVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: "_models.CodeVersion",
+ **kwargs: Any
+ ) -> "_models.CodeVersion":
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'CodeVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('CodeVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('CodeVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_containers_operations.py
new file mode 100644
index 00000000..d685edaf
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_containers_operations.py
@@ -0,0 +1,344 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._component_containers_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class ComponentContainersOperations:
+ """ComponentContainersOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ComponentContainerResourceArmPaginatedResult"]:
+ """List component containers.
+
+ List component containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ComponentContainerResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ComponentContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ComponentContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.ComponentContainer":
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComponentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.ComponentContainer",
+ **kwargs: Any
+ ) -> "_models.ComponentContainer":
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ComponentContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ComponentContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ComponentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_versions_operations.py
new file mode 100644
index 00000000..488b2f9b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_component_versions_operations.py
@@ -0,0 +1,371 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._component_versions_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class ComponentVersionsOperations:
+ """ComponentVersionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ComponentVersionResourceArmPaginatedResult"]:
+ """List component versions.
+
+ List component versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Component name.
+ :type name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ComponentVersionResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ComponentVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ComponentVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> "_models.ComponentVersion":
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComponentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: "_models.ComponentVersion",
+ **kwargs: Any
+ ) -> "_models.ComponentVersion":
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ComponentVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ComponentVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ComponentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_compute_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_compute_operations.py
new file mode 100644
index 00000000..450657b6
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_compute_operations.py
@@ -0,0 +1,1077 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._compute_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_keys_request, build_list_nodes_request, build_list_request, build_restart_request_initial, build_start_request_initial, build_stop_request_initial, build_update_request_initial
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class ComputeOperations:
+ """ComputeOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.PaginatedComputeResourcesList"]:
+ """Gets computes in specified workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either PaginatedComputeResourcesList or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.PaginatedComputeResourcesList]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PaginatedComputeResourcesList"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("PaginatedComputeResourcesList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> "_models.ComputeResource":
+ """Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are
+ not returned - use 'keys' nested resource to get them.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComputeResource, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComputeResource
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: "_models.ComputeResource",
+ **kwargs: Any
+ ) -> "_models.ComputeResource":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'ComputeResource')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: "_models.ComputeResource",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.ComputeResource"]:
+ """Creates or updates compute. This call will overwrite a compute if it exists. This is a
+ nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify
+ that it does not exist yet.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :param parameters: Payload with Machine Learning compute definition.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.ComputeResource
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either ComputeResource or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: "_models.ClusterUpdateParameters",
+ **kwargs: Any
+ ) -> "_models.ComputeResource":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'ClusterUpdateParameters')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: "_models.ClusterUpdateParameters",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.ComputeResource"]:
+ """Updates properties of a compute. This call will overwrite a compute if it exists. This is a
+ nonrecoverable operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :param parameters: Additional parameters for cluster update.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.ClusterUpdateParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either ComputeResource or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ underlying_resource_action: Union[str, "_models.UnderlyingResourceAction"],
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ underlying_resource_action=underlying_resource_action,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ underlying_resource_action: Union[str, "_models.UnderlyingResourceAction"],
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Deletes specified Machine Learning compute.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :param underlying_resource_action: Delete the underlying compute if 'Delete', or detach the
+ underlying compute from workspace if 'Detach'.
+ :type underlying_resource_action: str or
+ ~azure.mgmt.machinelearningservices.models.UnderlyingResourceAction
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ underlying_resource_action=underlying_resource_action,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+ @distributed_trace
+ def list_nodes(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.AmlComputeNodesInformation"]:
+ """Get the details (e.g IP address, port etc) of all the compute nodes in the compute.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either AmlComputeNodesInformation or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.AmlComputeNodesInformation]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.AmlComputeNodesInformation"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_nodes_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self.list_nodes.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_nodes_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("AmlComputeNodesInformation", pipeline_response)
+ list_of_elem = deserialized.nodes
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list_nodes.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes"} # type: ignore
+
+ @distributed_trace_async
+ async def list_keys(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> "_models.ComputeSecrets":
+ """Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComputeSecrets, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComputeSecrets
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeSecrets"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComputeSecrets', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys"} # type: ignore
+
+
+ async def _start_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_start_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self._start_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _start_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_start( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Posts a start action to a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._start_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_start.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start"} # type: ignore
+
+ async def _stop_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_stop_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self._stop_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _stop_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_stop( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Posts a stop action to a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._stop_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_stop.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop"} # type: ignore
+
+ async def _restart_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_restart_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self._restart_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _restart_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_restart( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Posts a restart action to a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._restart_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_restart.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_containers_operations.py
new file mode 100644
index 00000000..f28716d9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_containers_operations.py
@@ -0,0 +1,344 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._data_containers_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class DataContainersOperations:
+ """DataContainersOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.DataContainerResourceArmPaginatedResult"]:
+ """List data containers.
+
+ List data containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either DataContainerResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.DataContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("DataContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.DataContainer":
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DataContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.DataContainer",
+ **kwargs: Any
+ ) -> "_models.DataContainer":
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'DataContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('DataContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('DataContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_versions_operations.py
new file mode 100644
index 00000000..a231f467
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_data_versions_operations.py
@@ -0,0 +1,380 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._data_versions_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class DataVersionsOperations:
+ """DataVersionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.DataVersionBaseResourceArmPaginatedResult"]:
+ """List data versions in the data container.
+
+ List data versions in the data container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Data container's name.
+ :type name: str
+ :param order_by: Please choose OrderBy value from ['createdtime', 'modifiedtime'].
+ :type order_by: str
+ :param top: Top count of results, top count cannot be greater than the page size.
+ If topCount > page size, results with be default page size count
+ will be returned.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either DataVersionBaseResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.DataVersionBaseResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataVersionBaseResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("DataVersionBaseResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> "_models.DataVersionBase":
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataVersionBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataVersionBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DataVersionBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: "_models.DataVersionBase",
+ **kwargs: Any
+ ) -> "_models.DataVersionBase":
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataVersionBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataVersionBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'DataVersionBase')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('DataVersionBase', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('DataVersionBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_datastores_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_datastores_operations.py
new file mode 100644
index 00000000..7e539cf1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_datastores_operations.py
@@ -0,0 +1,438 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, List, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._datastores_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request, build_list_secrets_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class DatastoresOperations:
+ """DatastoresOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ count: Optional[int] = 30,
+ is_default: Optional[bool] = None,
+ names: Optional[List[str]] = None,
+ search_text: Optional[str] = None,
+ order_by: Optional[str] = None,
+ order_by_asc: Optional[bool] = False,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.DatastoreResourceArmPaginatedResult"]:
+ """List datastores.
+
+ List datastores.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param count: Maximum number of results to return.
+ :type count: int
+ :param is_default: Filter down to the workspace default datastore.
+ :type is_default: bool
+ :param names: Names of datastores to return.
+ :type names: list[str]
+ :param search_text: Text to search for in the datastore names.
+ :type search_text: str
+ :param order_by: Order by property (createdtime | modifiedtime | name).
+ :type order_by: str
+ :param order_by_asc: Order by property in ascending order.
+ :type order_by_asc: bool
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either DatastoreResourceArmPaginatedResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.DatastoreResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DatastoreResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ is_default=is_default,
+ names=names,
+ search_text=search_text,
+ order_by=order_by,
+ order_by_asc=order_by_asc,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ is_default=is_default,
+ names=names,
+ search_text=search_text,
+ order_by=order_by,
+ order_by_asc=order_by_asc,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("DatastoreResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete datastore.
+
+ Delete datastore.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.Datastore":
+ """Get datastore.
+
+ Get datastore.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Datastore, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Datastore
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Datastore"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('Datastore', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.Datastore",
+ skip_validation: Optional[bool] = False,
+ **kwargs: Any
+ ) -> "_models.Datastore":
+ """Create or update datastore.
+
+ Create or update datastore.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :param body: Datastore entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.Datastore
+ :param skip_validation: Flag to skip validation.
+ :type skip_validation: bool
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Datastore, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Datastore
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Datastore"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'Datastore')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ skip_validation=skip_validation,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('Datastore', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('Datastore', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def list_secrets(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.DatastoreSecrets":
+ """Get datastore secrets.
+
+ Get datastore secrets.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DatastoreSecrets, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DatastoreSecrets
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DatastoreSecrets"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_secrets_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.list_secrets.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DatastoreSecrets', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_secrets.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}/listSecrets"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_containers_operations.py
new file mode 100644
index 00000000..ff98446f
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_containers_operations.py
@@ -0,0 +1,344 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._environment_containers_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class EnvironmentContainersOperations:
+ """EnvironmentContainersOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.EnvironmentContainerResourceArmPaginatedResult"]:
+ """List environment containers.
+
+ List environment containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either EnvironmentContainerResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("EnvironmentContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.EnvironmentContainer":
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EnvironmentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.EnvironmentContainer",
+ **kwargs: Any
+ ) -> "_models.EnvironmentContainer":
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'EnvironmentContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('EnvironmentContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('EnvironmentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_versions_operations.py
new file mode 100644
index 00000000..93a89dcc
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_environment_versions_operations.py
@@ -0,0 +1,371 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._environment_versions_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class EnvironmentVersionsOperations:
+ """EnvironmentVersionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.EnvironmentVersionResourceArmPaginatedResult"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either EnvironmentVersionResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("EnvironmentVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> "_models.EnvironmentVersion":
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EnvironmentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: "_models.EnvironmentVersion",
+ **kwargs: Any
+ ) -> "_models.EnvironmentVersion":
+ """Creates or updates an EnvironmentVersion.
+
+ Creates or updates an EnvironmentVersion.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Name of EnvironmentVersion. This is case-sensitive.
+ :type name: str
+ :param version: Version of EnvironmentVersion.
+ :type version: str
+ :param body: Definition of EnvironmentVersion.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'EnvironmentVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('EnvironmentVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('EnvironmentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_jobs_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_jobs_operations.py
new file mode 100644
index 00000000..699989cb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_jobs_operations.py
@@ -0,0 +1,532 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._jobs_operations import build_cancel_request_initial, build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class JobsOperations:
+ """JobsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ job_type: Optional[str] = None,
+ tag: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.JobBaseResourceArmPaginatedResult"]:
+ """Lists Jobs in the workspace.
+
+ Lists Jobs in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param job_type: Type of job to be returned.
+ :type job_type: str
+ :param tag: Jobs returned will have this tag key.
+ :type tag: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either JobBaseResourceArmPaginatedResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.JobBaseResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobBaseResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ job_type=job_type,
+ tag=tag,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ job_type=job_type,
+ tag=tag,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("JobBaseResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Deletes a Job (asynchronous).
+
+ Deletes a Job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ **kwargs: Any
+ ) -> "_models.JobBase":
+ """Gets a Job by name/id.
+
+ Gets a Job by name/id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: JobBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.JobBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('JobBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: "_models.JobBase",
+ **kwargs: Any
+ ) -> "_models.JobBase":
+ """Creates and executes a Job.
+
+ Creates and executes a Job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :param body: Job definition object.
+ :type body: ~azure.mgmt.machinelearningservices.models.JobBase
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: JobBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.JobBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'JobBase')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('JobBase', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('JobBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+
+ async def _cancel_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_cancel_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ template_url=self._cancel_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _cancel_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}/cancel"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_cancel( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Cancels a Job (asynchronous).
+
+ Cancels a Job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._cancel_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_cancel.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}/cancel"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_containers_operations.py
new file mode 100644
index 00000000..38e3c197
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_containers_operations.py
@@ -0,0 +1,349 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._model_containers_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class ModelContainersOperations:
+ """ModelContainersOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ count: Optional[int] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ModelContainerResourceArmPaginatedResult"]:
+ """List model containers.
+
+ List model containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param count: Maximum number of results to return.
+ :type count: int
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ModelContainerResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ModelContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ModelContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.ModelContainer":
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ModelContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.ModelContainer",
+ **kwargs: Any
+ ) -> "_models.ModelContainer":
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ModelContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ModelContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ModelContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_versions_operations.py
new file mode 100644
index 00000000..5b2084f2
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_model_versions_operations.py
@@ -0,0 +1,403 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._model_versions_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class ModelVersionsOperations:
+ """ModelVersionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ skip: Optional[str] = None,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ version: Optional[str] = None,
+ description: Optional[str] = None,
+ offset: Optional[int] = None,
+ tags: Optional[str] = None,
+ properties: Optional[str] = None,
+ feed: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ModelVersionResourceArmPaginatedResult"]:
+ """List model versions.
+
+ List model versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Model name. This is case-sensitive.
+ :type name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param version: Model version.
+ :type version: str
+ :param description: Model description.
+ :type description: str
+ :param offset: Number of initial results to skip.
+ :type offset: int
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2.
+ :type tags: str
+ :param properties: Comma-separated list of property names (and optionally values). Example:
+ prop1,prop2=value2.
+ :type properties: str
+ :param feed: Name of the feed.
+ :type feed: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ModelVersionResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ModelVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ skip=skip,
+ order_by=order_by,
+ top=top,
+ version=version,
+ description=description,
+ offset=offset,
+ tags=tags,
+ properties=properties,
+ feed=feed,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ skip=skip,
+ order_by=order_by,
+ top=top,
+ version=version,
+ description=description,
+ offset=offset,
+ tags=tags,
+ properties=properties,
+ feed=feed,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ModelVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions"} # type: ignore
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> None:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ **kwargs: Any
+ ) -> "_models.ModelVersion":
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ModelVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: "_models.ModelVersion",
+ **kwargs: Any
+ ) -> "_models.ModelVersion":
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ModelVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ModelVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ModelVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_deployments_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_deployments_operations.py
new file mode 100644
index 00000000..96e90855
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_deployments_operations.py
@@ -0,0 +1,823 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._online_deployments_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_logs_request, build_get_request, build_list_request, build_list_skus_request, build_update_request_initial
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class OnlineDeploymentsOperations:
+ """OnlineDeploymentsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.OnlineDeploymentTrackedResourceArmPaginatedResult"]:
+ """List Inference Endpoint Deployments.
+
+ List Inference Endpoint Deployments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Top of list.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either OnlineDeploymentTrackedResourceArmPaginatedResult
+ or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.OnlineDeploymentTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeploymentTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("OnlineDeploymentTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete Inference Endpoint Deployment (asynchronous).
+
+ Delete Inference Endpoint Deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ **kwargs: Any
+ ) -> "_models.OnlineDeployment":
+ """Get Inference Deployment Deployment.
+
+ Get Inference Deployment Deployment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: OnlineDeployment, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.OnlineDeployment
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.PartialMinimalTrackedResourceWithSku",
+ **kwargs: Any
+ ) -> Optional["_models.OnlineDeployment"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.OnlineDeployment"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialMinimalTrackedResourceWithSku')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.PartialMinimalTrackedResourceWithSku",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.OnlineDeployment"]:
+ """Update Online Deployment (asynchronous).
+
+ Update Online Deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :param body: Online Endpoint entity to apply during operation.
+ :type body: ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithSku
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either OnlineDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.OnlineDeployment",
+ **kwargs: Any
+ ) -> "_models.OnlineDeployment":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'OnlineDeployment')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.OnlineDeployment",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.OnlineDeployment"]:
+ """Create or update Inference Endpoint Deployment (asynchronous).
+
+ Create or update Inference Endpoint Deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :param body: Inference Endpoint entity to apply during operation.
+ :type body: ~azure.mgmt.machinelearningservices.models.OnlineDeployment
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either OnlineDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ @distributed_trace_async
+ async def get_logs(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ body: "_models.DeploymentLogsRequest",
+ **kwargs: Any
+ ) -> "_models.DeploymentLogs":
+ """Polls an Endpoint operation.
+
+ Polls an Endpoint operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The name and identifier for the endpoint.
+ :type deployment_name: str
+ :param body: The request containing parameters for retrieving logs.
+ :type body: ~azure.mgmt.machinelearningservices.models.DeploymentLogsRequest
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DeploymentLogs, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DeploymentLogs
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentLogs"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'DeploymentLogsRequest')
+
+ request = build_get_logs_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.get_logs.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DeploymentLogs', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_logs.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/getLogs"} # type: ignore
+
+
+ @distributed_trace
+ def list_skus(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ deployment_name: str,
+ count: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.SkuResourceArmPaginatedResult"]:
+ """List Inference Endpoint Deployment Skus.
+
+ List Inference Endpoint Deployment Skus.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :param count: Number of Skus to be retrieved in a page of results.
+ :type count: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either SkuResourceArmPaginatedResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.SkuResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.SkuResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_skus_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=self.list_skus.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_skus_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("SkuResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list_skus.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/skus"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_endpoints_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_endpoints_operations.py
new file mode 100644
index 00000000..d63f3eba
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_online_endpoints_operations.py
@@ -0,0 +1,897 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._online_endpoints_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_get_token_request, build_list_keys_request, build_list_request, build_regenerate_keys_request_initial, build_update_request_initial
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class OnlineEndpointsOperations:
+ """OnlineEndpointsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: Optional[str] = None,
+ count: Optional[int] = None,
+ compute_type: Optional[Union[str, "_models.EndpointComputeType"]] = None,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ properties: Optional[str] = None,
+ order_by: Optional[Union[str, "_models.OrderString"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.OnlineEndpointTrackedResourceArmPaginatedResult"]:
+ """List Online Endpoints.
+
+ List Online Endpoints.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Name of the endpoint.
+ :type name: str
+ :param count: Number of endpoints to be retrieved in a page of results.
+ :type count: int
+ :param compute_type: EndpointComputeType to be filtered by.
+ :type compute_type: str or ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param tags: A set of tags with which to filter the returned models. It is a comma separated
+ string of tags key or tags key=value. Example: tagKey1,tagKey2,tagKey3=value3 .
+ :type tags: str
+ :param properties: A set of properties with which to filter the returned models. It is a comma
+ separated string of properties key and/or properties key=value Example:
+ propKey1,propKey2,propKey3=value3 .
+ :type properties: str
+ :param order_by: The option to order the response.
+ :type order_by: str or ~azure.mgmt.machinelearningservices.models.OrderString
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either OnlineEndpointTrackedResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.OnlineEndpointTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpointTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ name=name,
+ count=count,
+ compute_type=compute_type,
+ skip=skip,
+ tags=tags,
+ properties=properties,
+ order_by=order_by,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ name=name,
+ count=count,
+ compute_type=compute_type,
+ skip=skip,
+ tags=tags,
+ properties=properties,
+ order_by=order_by,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("OnlineEndpointTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete Online Endpoint (asynchronous).
+
+ Delete Online Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> "_models.OnlineEndpoint":
+ """Get Online Endpoint.
+
+ Get Online Endpoint.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: OnlineEndpoint, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.OnlineEndpoint
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.PartialMinimalTrackedResourceWithIdentity",
+ **kwargs: Any
+ ) -> Optional["_models.OnlineEndpoint"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.OnlineEndpoint"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialMinimalTrackedResourceWithIdentity')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.PartialMinimalTrackedResourceWithIdentity",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.OnlineEndpoint"]:
+ """Update Online Endpoint (asynchronous).
+
+ Update Online Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param body: Online Endpoint entity to apply during operation.
+ :type body:
+ ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either OnlineEndpoint or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.OnlineEndpoint",
+ **kwargs: Any
+ ) -> "_models.OnlineEndpoint":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'OnlineEndpoint')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.OnlineEndpoint",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.OnlineEndpoint"]:
+ """Create or update Online Endpoint (asynchronous).
+
+ Create or update Online Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param body: Online Endpoint entity to apply during operation.
+ :type body: ~azure.mgmt.machinelearningservices.models.OnlineEndpoint
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either OnlineEndpoint or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace_async
+ async def list_keys(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> "_models.EndpointAuthKeys":
+ """List EndpointAuthKeys for an Endpoint using Key-based authentication.
+
+ List EndpointAuthKeys for an Endpoint using Key-based authentication.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EndpointAuthKeys, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EndpointAuthKeys"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EndpointAuthKeys', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/listKeys"} # type: ignore
+
+
+ async def _regenerate_keys_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.RegenerateEndpointKeysRequest",
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'RegenerateEndpointKeysRequest')
+
+ request = build_regenerate_keys_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._regenerate_keys_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _regenerate_keys_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/regenerateKeys"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_regenerate_keys( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ body: "_models.RegenerateEndpointKeysRequest",
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Regenerate EndpointAuthKeys for an Endpoint using Key-based authentication (asynchronous).
+
+ Regenerate EndpointAuthKeys for an Endpoint using Key-based authentication (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param body: RegenerateKeys request .
+ :type body: ~azure.mgmt.machinelearningservices.models.RegenerateEndpointKeysRequest
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._regenerate_keys_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_regenerate_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/regenerateKeys"} # type: ignore
+
+ @distributed_trace_async
+ async def get_token(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ endpoint_name: str,
+ **kwargs: Any
+ ) -> "_models.EndpointAuthToken":
+ """Retrieve a valid AAD token for an Endpoint using AMLToken-based authentication.
+
+ Retrieve a valid AAD token for an Endpoint using AMLToken-based authentication.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EndpointAuthToken, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EndpointAuthToken
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EndpointAuthToken"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_token_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.get_token.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EndpointAuthToken', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_token.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/token"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_operations.py
new file mode 100644
index 00000000..fa5ac123
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_operations.py
@@ -0,0 +1,117 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._operations import build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class Operations:
+ """Operations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.AmlOperationListResult"]:
+ """Lists all of the available Azure Machine Learning Workspaces REST API operations.
+
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either AmlOperationListResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.AmlOperationListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.AmlOperationListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("AmlOperationListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/providers/Microsoft.MachineLearningServices/operations"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_endpoint_connections_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_endpoint_connections_operations.py
new file mode 100644
index 00000000..ef722839
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_endpoint_connections_operations.py
@@ -0,0 +1,325 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._private_endpoint_connections_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class PrivateEndpointConnectionsOperations:
+ """PrivateEndpointConnectionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.PrivateEndpointConnectionListResult"]:
+ """List all the private endpoint connections associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnectionListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("PrivateEndpointConnectionListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ private_endpoint_connection_name: str,
+ **kwargs: Any
+ ) -> "_models.PrivateEndpointConnection":
+ """Gets the specified private endpoint connection associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param private_endpoint_connection_name: The name of the private endpoint connection associated
+ with the workspace.
+ :type private_endpoint_connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: PrivateEndpointConnection, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ private_endpoint_connection_name=private_endpoint_connection_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ private_endpoint_connection_name: str,
+ properties: "_models.PrivateEndpointConnection",
+ **kwargs: Any
+ ) -> "_models.PrivateEndpointConnection":
+ """Update the state of specified private endpoint connection associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param private_endpoint_connection_name: The name of the private endpoint connection associated
+ with the workspace.
+ :type private_endpoint_connection_name: str
+ :param properties: The private endpoint connection properties.
+ :type properties: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: PrivateEndpointConnection, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(properties, 'PrivateEndpointConnection')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ private_endpoint_connection_name=private_endpoint_connection_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ private_endpoint_connection_name: str,
+ **kwargs: Any
+ ) -> None:
+ """Deletes the specified private endpoint connection associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param private_endpoint_connection_name: The name of the private endpoint connection associated
+ with the workspace.
+ :type private_endpoint_connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ private_endpoint_connection_name=private_endpoint_connection_name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_link_resources_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_link_resources_operations.py
new file mode 100644
index 00000000..2764e32b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_private_link_resources_operations.py
@@ -0,0 +1,103 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._private_link_resources_operations import build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class PrivateLinkResourcesOperations:
+ """PrivateLinkResourcesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace_async
+ async def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.PrivateLinkResourceListResult":
+ """Gets the private link resources that need to be created for a workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: PrivateLinkResourceListResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.PrivateLinkResourceListResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('PrivateLinkResourceListResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_quotas_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_quotas_operations.py
new file mode 100644
index 00000000..343c09b1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_quotas_operations.py
@@ -0,0 +1,186 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._quotas_operations import build_list_request, build_update_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class QuotasOperations:
+ """QuotasOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace_async
+ async def update(
+ self,
+ location: str,
+ parameters: "_models.QuotaUpdateParameters",
+ **kwargs: Any
+ ) -> "_models.UpdateWorkspaceQuotasResult":
+ """Update quota for each VM family in workspace.
+
+ :param location: The location for update quota is queried.
+ :type location: str
+ :param parameters: Quota update parameters.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.QuotaUpdateParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: UpdateWorkspaceQuotasResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.UpdateWorkspaceQuotasResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.UpdateWorkspaceQuotasResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'QuotaUpdateParameters')
+
+ request = build_update_request(
+ location=location,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('UpdateWorkspaceQuotasResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ update.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas"} # type: ignore
+
+
+ @distributed_trace
+ def list(
+ self,
+ location: str,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ListWorkspaceQuotas"]:
+ """Gets the currently assigned Workspace Quotas based on VMFamily.
+
+ :param location: The location for which resource usage is queried.
+ :type location: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ListWorkspaceQuotas or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ListWorkspaceQuotas]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListWorkspaceQuotas"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListWorkspaceQuotas", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/quotas"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_schedules_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_schedules_operations.py
new file mode 100644
index 00000000..b22e9282
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_schedules_operations.py
@@ -0,0 +1,467 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._schedules_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class SchedulesOperations:
+ """SchedulesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, "_models.ScheduleListViewType"]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ScheduleResourceArmPaginatedResult"]:
+ """List schedules in specified workspace.
+
+ List schedules in specified workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: Status filter for schedule.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ScheduleResourceArmPaginatedResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ScheduleResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduleResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ScheduleResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete schedule.
+
+ Delete schedule.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Schedule name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ **kwargs: Any
+ ) -> "_models.Schedule":
+ """Get schedule.
+
+ Get schedule.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Schedule name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Schedule, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Schedule
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Schedule"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('Schedule', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.Schedule",
+ **kwargs: Any
+ ) -> "_models.Schedule":
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Schedule"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'Schedule')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('Schedule', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('Schedule', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: "_models.Schedule",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.Schedule"]:
+ """Create or update schedule.
+
+ Create or update schedule.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Schedule name.
+ :type name: str
+ :param body: Schedule definition.
+ :type body: ~azure.mgmt.machinelearningservices.models.Schedule
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either Schedule or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Schedule]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Schedule"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('Schedule', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_usages_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_usages_operations.py
new file mode 100644
index 00000000..4df7cfc3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_usages_operations.py
@@ -0,0 +1,124 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._usages_operations import build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class UsagesOperations:
+ """UsagesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ location: str,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ListUsagesResult"]:
+ """Gets the current usage information as well as limits for AML resources for given subscription
+ and location.
+
+ :param location: The location for which resource usage is queried.
+ :type location: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ListUsagesResult or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ListUsagesResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListUsagesResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListUsagesResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_virtual_machine_sizes_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_virtual_machine_sizes_operations.py
new file mode 100644
index 00000000..d267835e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_virtual_machine_sizes_operations.py
@@ -0,0 +1,99 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, Callable, Dict, Optional, TypeVar
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._virtual_machine_sizes_operations import build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class VirtualMachineSizesOperations:
+ """VirtualMachineSizesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace_async
+ async def list(
+ self,
+ location: str,
+ **kwargs: Any
+ ) -> "_models.VirtualMachineSizeListResult":
+ """Returns supported VM Sizes in a location.
+
+ :param location: The location upon which virtual-machine-sizes is queried.
+ :type location: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: VirtualMachineSizeListResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.VirtualMachineSizeListResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineSizeListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_request(
+ location=location,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('VirtualMachineSizeListResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_connections_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_connections_operations.py
new file mode 100644
index 00000000..5ac9915e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_connections_operations.py
@@ -0,0 +1,333 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._workspace_connections_operations import build_create_request, build_delete_request, build_get_request, build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class WorkspaceConnectionsOperations:
+ """WorkspaceConnectionsOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace_async
+ async def create(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ connection_name: str,
+ parameters: "_models.WorkspaceConnectionPropertiesV2BasicResource",
+ **kwargs: Any
+ ) -> "_models.WorkspaceConnectionPropertiesV2BasicResource":
+ """create.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param connection_name: Friendly name of the workspace connection.
+ :type connection_name: str
+ :param parameters: The object for creating or updating a new workspace connection.
+ :type parameters:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: WorkspaceConnectionPropertiesV2BasicResource, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceConnectionPropertiesV2BasicResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'WorkspaceConnectionPropertiesV2BasicResource')
+
+ request = build_create_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ connection_name=connection_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('WorkspaceConnectionPropertiesV2BasicResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ connection_name: str,
+ **kwargs: Any
+ ) -> "_models.WorkspaceConnectionPropertiesV2BasicResource":
+ """get.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param connection_name: Friendly name of the workspace connection.
+ :type connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: WorkspaceConnectionPropertiesV2BasicResource, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceConnectionPropertiesV2BasicResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ connection_name=connection_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('WorkspaceConnectionPropertiesV2BasicResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ connection_name: str,
+ **kwargs: Any
+ ) -> None:
+ """delete.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param connection_name: Friendly name of the workspace connection.
+ :type connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ connection_name=connection_name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"} # type: ignore
+
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ target: Optional[str] = None,
+ category: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult"]:
+ """list.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param target: Target of the workspace connection.
+ :type target: str
+ :param category: Category of the workspace connection.
+ :type category: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either
+ WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ target=target,
+ category=category,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ target=target,
+ category=category,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_features_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_features_operations.py
new file mode 100644
index 00000000..eb45522c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspace_features_operations.py
@@ -0,0 +1,129 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._workspace_features_operations import build_list_request
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class WorkspaceFeaturesOperations:
+ """WorkspaceFeaturesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ListAmlUserFeatureResult"]:
+ """Lists all enabled features for a workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ListAmlUserFeatureResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ListAmlUserFeatureResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListAmlUserFeatureResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListAmlUserFeatureResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspaces_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspaces_operations.py
new file mode 100644
index 00000000..a388db0d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/aio/operations/_workspaces_operations.py
@@ -0,0 +1,1281 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import AsyncHttpResponse
+from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.core.tracing.decorator_async import distributed_trace_async
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling
+
+from ... import models as _models
+from ..._vendor import _convert_request
+from ...operations._workspaces_operations import build_create_or_update_request_initial, build_delete_request_initial, build_diagnose_request_initial, build_get_request, build_list_by_resource_group_request, build_list_by_subscription_request, build_list_keys_request, build_list_notebook_access_token_request, build_list_notebook_keys_request, build_list_outbound_network_dependencies_endpoints_request, build_list_storage_account_keys_request, build_prepare_notebook_request_initial, build_resync_keys_request_initial, build_update_request_initial
+T = TypeVar('T')
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+class WorkspacesOperations:
+ """WorkspacesOperations async operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer) -> None:
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.Workspace":
+ """Gets the properties of the specified machine learning workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Workspace, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Workspace
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('Workspace', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ parameters: "_models.Workspace",
+ **kwargs: Any
+ ) -> Optional["_models.Workspace"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.Workspace"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'Workspace')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ if response.status_code == 200:
+ deserialized = self._deserialize('Workspace', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ parameters: "_models.Workspace",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.Workspace"]:
+ """Creates or updates a workspace with the specified parameters.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param parameters: The parameters for creating or updating a machine learning workspace.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.Workspace
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either Workspace or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Workspace]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('Workspace', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Deletes a machine learning workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ parameters: "_models.WorkspaceUpdateParameters",
+ **kwargs: Any
+ ) -> Optional["_models.Workspace"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.Workspace"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'WorkspaceUpdateParameters')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ if response.status_code == 200:
+ deserialized = self._deserialize('Workspace', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ parameters: "_models.WorkspaceUpdateParameters",
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.Workspace"]:
+ """Updates a machine learning workspace with the specified parameters.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param parameters: The parameters for updating a machine learning workspace.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.WorkspaceUpdateParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either Workspace or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Workspace]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('Workspace', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+ @distributed_trace
+ def list_by_resource_group(
+ self,
+ resource_group_name: str,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceListResult"]:
+ """Lists all the available machine learning workspaces under the specified resource group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either WorkspaceListResult or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.WorkspaceListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_by_resource_group_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list_by_resource_group.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_by_resource_group_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list_by_resource_group.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces"} # type: ignore
+
+ async def _diagnose_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ parameters: Optional["_models.DiagnoseWorkspaceParameters"] = None,
+ **kwargs: Any
+ ) -> Optional["_models.DiagnoseResponseResult"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.DiagnoseResponseResult"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ if parameters is not None:
+ _json = self._serialize.body(parameters, 'DiagnoseWorkspaceParameters')
+ else:
+ _json = None
+
+ request = build_diagnose_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._diagnose_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('DiagnoseResponseResult', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _diagnose_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/diagnose"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_diagnose(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ parameters: Optional["_models.DiagnoseWorkspaceParameters"] = None,
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.DiagnoseResponseResult"]:
+ """Diagnose workspace setup issue.
+
+ Diagnose workspace setup issue.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param parameters: The parameter of diagnosing workspace health.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.DiagnoseWorkspaceParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either DiagnoseResponseResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DiagnoseResponseResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DiagnoseResponseResult"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._diagnose_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('DiagnoseResponseResult', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_diagnose.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/diagnose"} # type: ignore
+
+ @distributed_trace_async
+ async def list_keys(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.ListWorkspaceKeysResult":
+ """Lists all the keys associated with this workspace. This includes keys for the storage account,
+ app insights and password for container registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ListWorkspaceKeysResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ListWorkspaceKeysResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListWorkspaceKeysResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ListWorkspaceKeysResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys"} # type: ignore
+
+
+ async def _resync_keys_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> None:
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_resync_keys_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self._resync_keys_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _resync_keys_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_resync_keys( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Resync all the keys associated with this workspace. This includes keys for the storage account,
+ app insights and password for container registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._resync_keys_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_resync_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"} # type: ignore
+
+ @distributed_trace
+ def list_by_subscription(
+ self,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.WorkspaceListResult"]:
+ """Lists all the available machine learning workspaces under the specified subscription.
+
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either WorkspaceListResult or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.WorkspaceListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_by_subscription_request(
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list_by_subscription.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_by_subscription_request(
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ async def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return AsyncItemPaged(
+ get_next, extract_data
+ )
+ list_by_subscription.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces"} # type: ignore
+
+ @distributed_trace_async
+ async def list_notebook_access_token(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.NotebookAccessTokenResult":
+ """return notebook access token and refresh token.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: NotebookAccessTokenResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.NotebookAccessTokenResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookAccessTokenResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_notebook_access_token_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_notebook_access_token.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('NotebookAccessTokenResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_notebook_access_token.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookAccessToken"} # type: ignore
+
+
+ async def _prepare_notebook_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> Optional["_models.NotebookResourceInfo"]:
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.NotebookResourceInfo"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_prepare_notebook_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self._prepare_notebook_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ if response.status_code == 200:
+ deserialized = self._deserialize('NotebookResourceInfo', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _prepare_notebook_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook"} # type: ignore
+
+
+ @distributed_trace_async
+ async def begin_prepare_notebook(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> AsyncLROPoller["_models.NotebookResourceInfo"]:
+ """Prepare a notebook.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for
+ this operation to not poll, or pass in your own initialized polling object for a personal
+ polling strategy.
+ :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of AsyncLROPoller that returns either NotebookResourceInfo or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.NotebookResourceInfo]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookResourceInfo"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = await self._prepare_notebook_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('NotebookResourceInfo', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = AsyncNoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return AsyncLROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_prepare_notebook.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook"} # type: ignore
+
+ @distributed_trace_async
+ async def list_storage_account_keys(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.ListStorageAccountKeysResult":
+ """List storage account keys of a workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ListStorageAccountKeysResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ListStorageAccountKeysResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListStorageAccountKeysResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_storage_account_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_storage_account_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ListStorageAccountKeysResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_storage_account_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listStorageAccountKeys"} # type: ignore
+
+
+ @distributed_trace_async
+ async def list_notebook_keys(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.ListNotebookKeysResult":
+ """List keys of a notebook.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ListNotebookKeysResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ListNotebookKeysResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListNotebookKeysResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_notebook_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_notebook_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ListNotebookKeysResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_notebook_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookKeys"} # type: ignore
+
+
+ @distributed_trace_async
+ async def list_outbound_network_dependencies_endpoints(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ **kwargs: Any
+ ) -> "_models.ExternalFQDNResponse":
+ """Called by Client (Portal, CLI, etc) to get a list of all external outbound dependencies (FQDNs)
+ programmatically.
+
+ Called by Client (Portal, CLI, etc) to get a list of all external outbound dependencies (FQDNs)
+ programmatically.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ExternalFQDNResponse, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ExternalFQDNResponse
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExternalFQDNResponse"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_outbound_network_dependencies_endpoints_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_outbound_network_dependencies_endpoints.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ExternalFQDNResponse', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_outbound_network_dependencies_endpoints.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/__init__.py
new file mode 100644
index 00000000..02fca55b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/__init__.py
@@ -0,0 +1,1328 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+try:
+ from ._models_py3 import AKS
+ from ._models_py3 import AKSSchema
+ from ._models_py3 import AKSSchemaProperties
+ from ._models_py3 import AccountKeyDatastoreCredentials
+ from ._models_py3 import AccountKeyDatastoreSecrets
+ from ._models_py3 import AksComputeSecrets
+ from ._models_py3 import AksComputeSecretsProperties
+ from ._models_py3 import AksNetworkingConfiguration
+ from ._models_py3 import AmlCompute
+ from ._models_py3 import AmlComputeNodeInformation
+ from ._models_py3 import AmlComputeNodesInformation
+ from ._models_py3 import AmlComputeProperties
+ from ._models_py3 import AmlComputeSchema
+ from ._models_py3 import AmlOperation
+ from ._models_py3 import AmlOperationDisplay
+ from ._models_py3 import AmlOperationListResult
+ from ._models_py3 import AmlToken
+ from ._models_py3 import AmlUserFeature
+ from ._models_py3 import AssetBase
+ from ._models_py3 import AssetContainer
+ from ._models_py3 import AssetJobInput
+ from ._models_py3 import AssetJobOutput
+ from ._models_py3 import AssetReferenceBase
+ from ._models_py3 import AssignedUser
+ from ._models_py3 import AutoForecastHorizon
+ from ._models_py3 import AutoMLJob
+ from ._models_py3 import AutoMLVertical
+ from ._models_py3 import AutoNCrossValidations
+ from ._models_py3 import AutoPauseProperties
+ from ._models_py3 import AutoScaleProperties
+ from ._models_py3 import AutoSeasonality
+ from ._models_py3 import AutoTargetLags
+ from ._models_py3 import AutoTargetRollingWindowSize
+ from ._models_py3 import AzureBlobDatastore
+ from ._models_py3 import AzureDataLakeGen1Datastore
+ from ._models_py3 import AzureDataLakeGen2Datastore
+ from ._models_py3 import AzureFileDatastore
+ from ._models_py3 import BanditPolicy
+ from ._models_py3 import BatchDeployment
+ from ._models_py3 import BatchDeploymentProperties
+ from ._models_py3 import BatchDeploymentTrackedResourceArmPaginatedResult
+ from ._models_py3 import BatchEndpoint
+ from ._models_py3 import BatchEndpointDefaults
+ from ._models_py3 import BatchEndpointProperties
+ from ._models_py3 import BatchEndpointTrackedResourceArmPaginatedResult
+ from ._models_py3 import BatchRetrySettings
+ from ._models_py3 import BayesianSamplingAlgorithm
+ from ._models_py3 import BuildContext
+ from ._models_py3 import CertificateDatastoreCredentials
+ from ._models_py3 import CertificateDatastoreSecrets
+ from ._models_py3 import Classification
+ from ._models_py3 import ClassificationTrainingSettings
+ from ._models_py3 import ClusterUpdateParameters
+ from ._models_py3 import CodeConfiguration
+ from ._models_py3 import CodeContainer
+ from ._models_py3 import CodeContainerProperties
+ from ._models_py3 import CodeContainerResourceArmPaginatedResult
+ from ._models_py3 import CodeVersion
+ from ._models_py3 import CodeVersionProperties
+ from ._models_py3 import CodeVersionResourceArmPaginatedResult
+ from ._models_py3 import ColumnTransformer
+ from ._models_py3 import CommandJob
+ from ._models_py3 import CommandJobLimits
+ from ._models_py3 import ComponentContainer
+ from ._models_py3 import ComponentContainerProperties
+ from ._models_py3 import ComponentContainerResourceArmPaginatedResult
+ from ._models_py3 import ComponentVersion
+ from ._models_py3 import ComponentVersionProperties
+ from ._models_py3 import ComponentVersionResourceArmPaginatedResult
+ from ._models_py3 import Compute
+ from ._models_py3 import ComputeInstance
+ from ._models_py3 import ComputeInstanceApplication
+ from ._models_py3 import ComputeInstanceConnectivityEndpoints
+ from ._models_py3 import ComputeInstanceContainer
+ from ._models_py3 import ComputeInstanceCreatedBy
+ from ._models_py3 import ComputeInstanceDataDisk
+ from ._models_py3 import ComputeInstanceDataMount
+ from ._models_py3 import ComputeInstanceEnvironmentInfo
+ from ._models_py3 import ComputeInstanceLastOperation
+ from ._models_py3 import ComputeInstanceProperties
+ from ._models_py3 import ComputeInstanceSchema
+ from ._models_py3 import ComputeInstanceSshSettings
+ from ._models_py3 import ComputeInstanceVersion
+ from ._models_py3 import ComputeResource
+ from ._models_py3 import ComputeResourceSchema
+ from ._models_py3 import ComputeSchedules
+ from ._models_py3 import ComputeSecrets
+ from ._models_py3 import ComputeStartStopSchedule
+ from ._models_py3 import ContainerResourceRequirements
+ from ._models_py3 import ContainerResourceSettings
+ from ._models_py3 import CosmosDbSettings
+ from ._models_py3 import CronTrigger
+ from ._models_py3 import CustomForecastHorizon
+ from ._models_py3 import CustomModelJobInput
+ from ._models_py3 import CustomModelJobOutput
+ from ._models_py3 import CustomNCrossValidations
+ from ._models_py3 import CustomSeasonality
+ from ._models_py3 import CustomTargetLags
+ from ._models_py3 import CustomTargetRollingWindowSize
+ from ._models_py3 import DataContainer
+ from ._models_py3 import DataContainerProperties
+ from ._models_py3 import DataContainerResourceArmPaginatedResult
+ from ._models_py3 import DataFactory
+ from ._models_py3 import DataLakeAnalytics
+ from ._models_py3 import DataLakeAnalyticsSchema
+ from ._models_py3 import DataLakeAnalyticsSchemaProperties
+ from ._models_py3 import DataPathAssetReference
+ from ._models_py3 import DataVersionBase
+ from ._models_py3 import DataVersionBaseProperties
+ from ._models_py3 import DataVersionBaseResourceArmPaginatedResult
+ from ._models_py3 import Databricks
+ from ._models_py3 import DatabricksComputeSecrets
+ from ._models_py3 import DatabricksComputeSecretsProperties
+ from ._models_py3 import DatabricksProperties
+ from ._models_py3 import DatabricksSchema
+ from ._models_py3 import Datastore
+ from ._models_py3 import DatastoreCredentials
+ from ._models_py3 import DatastoreProperties
+ from ._models_py3 import DatastoreResourceArmPaginatedResult
+ from ._models_py3 import DatastoreSecrets
+ from ._models_py3 import DefaultScaleSettings
+ from ._models_py3 import DeploymentLogs
+ from ._models_py3 import DeploymentLogsRequest
+ from ._models_py3 import DeploymentResourceConfiguration
+ from ._models_py3 import DiagnoseRequestProperties
+ from ._models_py3 import DiagnoseResponseResult
+ from ._models_py3 import DiagnoseResponseResultValue
+ from ._models_py3 import DiagnoseResult
+ from ._models_py3 import DiagnoseWorkspaceParameters
+ from ._models_py3 import DistributionConfiguration
+ from ._models_py3 import EarlyTerminationPolicy
+ from ._models_py3 import EncryptionKeyVaultProperties
+ from ._models_py3 import EncryptionProperty
+ from ._models_py3 import EndpointAuthKeys
+ from ._models_py3 import EndpointAuthToken
+ from ._models_py3 import EndpointDeploymentPropertiesBase
+ from ._models_py3 import EndpointPropertiesBase
+ from ._models_py3 import EndpointScheduleAction
+ from ._models_py3 import EnvironmentContainer
+ from ._models_py3 import EnvironmentContainerProperties
+ from ._models_py3 import EnvironmentContainerResourceArmPaginatedResult
+ from ._models_py3 import EnvironmentVersion
+ from ._models_py3 import EnvironmentVersionProperties
+ from ._models_py3 import EnvironmentVersionResourceArmPaginatedResult
+ from ._models_py3 import ErrorAdditionalInfo
+ from ._models_py3 import ErrorDetail
+ from ._models_py3 import ErrorResponse
+ from ._models_py3 import EstimatedVMPrice
+ from ._models_py3 import EstimatedVMPrices
+ from ._models_py3 import ExternalFQDNResponse
+ from ._models_py3 import FQDNEndpoint
+ from ._models_py3 import FQDNEndpointDetail
+ from ._models_py3 import FQDNEndpoints
+ from ._models_py3 import FQDNEndpointsProperties
+ from ._models_py3 import FeaturizationSettings
+ from ._models_py3 import FlavorData
+ from ._models_py3 import ForecastHorizon
+ from ._models_py3 import Forecasting
+ from ._models_py3 import ForecastingSettings
+ from ._models_py3 import ForecastingTrainingSettings
+ from ._models_py3 import GridSamplingAlgorithm
+ from ._models_py3 import HDInsight
+ from ._models_py3 import HDInsightProperties
+ from ._models_py3 import HDInsightSchema
+ from ._models_py3 import IdAssetReference
+ from ._models_py3 import IdentityConfiguration
+ from ._models_py3 import IdentityForCmk
+ from ._models_py3 import ImageClassification
+ from ._models_py3 import ImageClassificationBase
+ from ._models_py3 import ImageClassificationMultilabel
+ from ._models_py3 import ImageInstanceSegmentation
+ from ._models_py3 import ImageLimitSettings
+ from ._models_py3 import ImageModelDistributionSettings
+ from ._models_py3 import ImageModelDistributionSettingsClassification
+ from ._models_py3 import ImageModelDistributionSettingsObjectDetection
+ from ._models_py3 import ImageModelSettings
+ from ._models_py3 import ImageModelSettingsClassification
+ from ._models_py3 import ImageModelSettingsObjectDetection
+ from ._models_py3 import ImageObjectDetection
+ from ._models_py3 import ImageObjectDetectionBase
+ from ._models_py3 import ImageSweepSettings
+ from ._models_py3 import ImageVertical
+ from ._models_py3 import InferenceContainerProperties
+ from ._models_py3 import InstanceTypeSchema
+ from ._models_py3 import InstanceTypeSchemaResources
+ from ._models_py3 import JobBase
+ from ._models_py3 import JobBaseProperties
+ from ._models_py3 import JobBaseResourceArmPaginatedResult
+ from ._models_py3 import JobInput
+ from ._models_py3 import JobLimits
+ from ._models_py3 import JobOutput
+ from ._models_py3 import JobResourceConfiguration
+ from ._models_py3 import JobScheduleAction
+ from ._models_py3 import JobService
+ from ._models_py3 import Kubernetes
+ from ._models_py3 import KubernetesOnlineDeployment
+ from ._models_py3 import KubernetesProperties
+ from ._models_py3 import KubernetesSchema
+ from ._models_py3 import ListAmlUserFeatureResult
+ from ._models_py3 import ListNotebookKeysResult
+ from ._models_py3 import ListStorageAccountKeysResult
+ from ._models_py3 import ListUsagesResult
+ from ._models_py3 import ListWorkspaceKeysResult
+ from ._models_py3 import ListWorkspaceQuotas
+ from ._models_py3 import LiteralJobInput
+ from ._models_py3 import MLFlowModelJobInput
+ from ._models_py3 import MLFlowModelJobOutput
+ from ._models_py3 import MLTableData
+ from ._models_py3 import MLTableJobInput
+ from ._models_py3 import MLTableJobOutput
+ from ._models_py3 import ManagedIdentity
+ from ._models_py3 import ManagedIdentityAuthTypeWorkspaceConnectionProperties
+ from ._models_py3 import ManagedOnlineDeployment
+ from ._models_py3 import ManagedServiceIdentity
+ from ._models_py3 import MedianStoppingPolicy
+ from ._models_py3 import ModelContainer
+ from ._models_py3 import ModelContainerProperties
+ from ._models_py3 import ModelContainerResourceArmPaginatedResult
+ from ._models_py3 import ModelVersion
+ from ._models_py3 import ModelVersionProperties
+ from ._models_py3 import ModelVersionResourceArmPaginatedResult
+ from ._models_py3 import Mpi
+ from ._models_py3 import NCrossValidations
+ from ._models_py3 import NlpVertical
+ from ._models_py3 import NlpVerticalFeaturizationSettings
+ from ._models_py3 import NlpVerticalLimitSettings
+ from ._models_py3 import NodeStateCounts
+ from ._models_py3 import NoneAuthTypeWorkspaceConnectionProperties
+ from ._models_py3 import NoneDatastoreCredentials
+ from ._models_py3 import NotebookAccessTokenResult
+ from ._models_py3 import NotebookPreparationError
+ from ._models_py3 import NotebookResourceInfo
+ from ._models_py3 import Objective
+ from ._models_py3 import OnlineDeployment
+ from ._models_py3 import OnlineDeploymentProperties
+ from ._models_py3 import OnlineDeploymentTrackedResourceArmPaginatedResult
+ from ._models_py3 import OnlineEndpoint
+ from ._models_py3 import OnlineEndpointProperties
+ from ._models_py3 import OnlineEndpointTrackedResourceArmPaginatedResult
+ from ._models_py3 import OnlineRequestSettings
+ from ._models_py3 import OnlineScaleSettings
+ from ._models_py3 import OutputPathAssetReference
+ from ._models_py3 import PATAuthTypeWorkspaceConnectionProperties
+ from ._models_py3 import PaginatedComputeResourcesList
+ from ._models_py3 import PartialBatchDeployment
+ from ._models_py3 import PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties
+ from ._models_py3 import PartialManagedServiceIdentity
+ from ._models_py3 import PartialMinimalTrackedResource
+ from ._models_py3 import PartialMinimalTrackedResourceWithIdentity
+ from ._models_py3 import PartialMinimalTrackedResourceWithSku
+ from ._models_py3 import PartialSku
+ from ._models_py3 import Password
+ from ._models_py3 import PersonalComputeInstanceSettings
+ from ._models_py3 import PipelineJob
+ from ._models_py3 import PrivateEndpoint
+ from ._models_py3 import PrivateEndpointConnection
+ from ._models_py3 import PrivateEndpointConnectionListResult
+ from ._models_py3 import PrivateLinkResource
+ from ._models_py3 import PrivateLinkResourceListResult
+ from ._models_py3 import PrivateLinkServiceConnectionState
+ from ._models_py3 import ProbeSettings
+ from ._models_py3 import PyTorch
+ from ._models_py3 import QuotaBaseProperties
+ from ._models_py3 import QuotaUpdateParameters
+ from ._models_py3 import RandomSamplingAlgorithm
+ from ._models_py3 import RecurrenceSchedule
+ from ._models_py3 import RecurrenceTrigger
+ from ._models_py3 import RegenerateEndpointKeysRequest
+ from ._models_py3 import RegistryListCredentialsResult
+ from ._models_py3 import Regression
+ from ._models_py3 import RegressionTrainingSettings
+ from ._models_py3 import Resource
+ from ._models_py3 import ResourceBase
+ from ._models_py3 import ResourceConfiguration
+ from ._models_py3 import ResourceId
+ from ._models_py3 import ResourceName
+ from ._models_py3 import ResourceQuota
+ from ._models_py3 import Route
+ from ._models_py3 import SASAuthTypeWorkspaceConnectionProperties
+ from ._models_py3 import SamplingAlgorithm
+ from ._models_py3 import SasDatastoreCredentials
+ from ._models_py3 import SasDatastoreSecrets
+ from ._models_py3 import ScaleSettings
+ from ._models_py3 import ScaleSettingsInformation
+ from ._models_py3 import Schedule
+ from ._models_py3 import ScheduleActionBase
+ from ._models_py3 import ScheduleBase
+ from ._models_py3 import ScheduleProperties
+ from ._models_py3 import ScheduleResourceArmPaginatedResult
+ from ._models_py3 import ScriptReference
+ from ._models_py3 import ScriptsToExecute
+ from ._models_py3 import Seasonality
+ from ._models_py3 import ServiceManagedResourcesSettings
+ from ._models_py3 import ServicePrincipalDatastoreCredentials
+ from ._models_py3 import ServicePrincipalDatastoreSecrets
+ from ._models_py3 import SetupScripts
+ from ._models_py3 import SharedPrivateLinkResource
+ from ._models_py3 import Sku
+ from ._models_py3 import SkuCapacity
+ from ._models_py3 import SkuResource
+ from ._models_py3 import SkuResourceArmPaginatedResult
+ from ._models_py3 import SkuSetting
+ from ._models_py3 import SslConfiguration
+ from ._models_py3 import StackEnsembleSettings
+ from ._models_py3 import SweepJob
+ from ._models_py3 import SweepJobLimits
+ from ._models_py3 import SynapseSpark
+ from ._models_py3 import SynapseSparkProperties
+ from ._models_py3 import SystemData
+ from ._models_py3 import SystemService
+ from ._models_py3 import TableVertical
+ from ._models_py3 import TableVerticalFeaturizationSettings
+ from ._models_py3 import TableVerticalLimitSettings
+ from ._models_py3 import TargetLags
+ from ._models_py3 import TargetRollingWindowSize
+ from ._models_py3 import TargetUtilizationScaleSettings
+ from ._models_py3 import TensorFlow
+ from ._models_py3 import TextClassification
+ from ._models_py3 import TextClassificationMultilabel
+ from ._models_py3 import TextNer
+ from ._models_py3 import TrackedResource
+ from ._models_py3 import TrainingSettings
+ from ._models_py3 import TrialComponent
+ from ._models_py3 import TriggerBase
+ from ._models_py3 import TritonModelJobInput
+ from ._models_py3 import TritonModelJobOutput
+ from ._models_py3 import TruncationSelectionPolicy
+ from ._models_py3 import UpdateWorkspaceQuotas
+ from ._models_py3 import UpdateWorkspaceQuotasResult
+ from ._models_py3 import UriFileDataVersion
+ from ._models_py3 import UriFileJobInput
+ from ._models_py3 import UriFileJobOutput
+ from ._models_py3 import UriFolderDataVersion
+ from ._models_py3 import UriFolderJobInput
+ from ._models_py3 import UriFolderJobOutput
+ from ._models_py3 import Usage
+ from ._models_py3 import UsageName
+ from ._models_py3 import UserAccountCredentials
+ from ._models_py3 import UserAssignedIdentity
+ from ._models_py3 import UserIdentity
+ from ._models_py3 import UsernamePasswordAuthTypeWorkspaceConnectionProperties
+ from ._models_py3 import VirtualMachine
+ from ._models_py3 import VirtualMachineImage
+ from ._models_py3 import VirtualMachineSchema
+ from ._models_py3 import VirtualMachineSchemaProperties
+ from ._models_py3 import VirtualMachineSecrets
+ from ._models_py3 import VirtualMachineSecretsSchema
+ from ._models_py3 import VirtualMachineSize
+ from ._models_py3 import VirtualMachineSizeListResult
+ from ._models_py3 import VirtualMachineSshCredentials
+ from ._models_py3 import Workspace
+ from ._models_py3 import WorkspaceConnectionManagedIdentity
+ from ._models_py3 import WorkspaceConnectionPersonalAccessToken
+ from ._models_py3 import WorkspaceConnectionPropertiesV2
+ from ._models_py3 import WorkspaceConnectionPropertiesV2BasicResource
+ from ._models_py3 import WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult
+ from ._models_py3 import WorkspaceConnectionSharedAccessSignature
+ from ._models_py3 import WorkspaceConnectionUsernamePassword
+ from ._models_py3 import WorkspaceListResult
+ from ._models_py3 import WorkspaceUpdateParameters
+except (SyntaxError, ImportError):
+ from ._models import AKS # type: ignore
+ from ._models import AKSSchema # type: ignore
+ from ._models import AKSSchemaProperties # type: ignore
+ from ._models import AccountKeyDatastoreCredentials # type: ignore
+ from ._models import AccountKeyDatastoreSecrets # type: ignore
+ from ._models import AksComputeSecrets # type: ignore
+ from ._models import AksComputeSecretsProperties # type: ignore
+ from ._models import AksNetworkingConfiguration # type: ignore
+ from ._models import AmlCompute # type: ignore
+ from ._models import AmlComputeNodeInformation # type: ignore
+ from ._models import AmlComputeNodesInformation # type: ignore
+ from ._models import AmlComputeProperties # type: ignore
+ from ._models import AmlComputeSchema # type: ignore
+ from ._models import AmlOperation # type: ignore
+ from ._models import AmlOperationDisplay # type: ignore
+ from ._models import AmlOperationListResult # type: ignore
+ from ._models import AmlToken # type: ignore
+ from ._models import AmlUserFeature # type: ignore
+ from ._models import AssetBase # type: ignore
+ from ._models import AssetContainer # type: ignore
+ from ._models import AssetJobInput # type: ignore
+ from ._models import AssetJobOutput # type: ignore
+ from ._models import AssetReferenceBase # type: ignore
+ from ._models import AssignedUser # type: ignore
+ from ._models import AutoForecastHorizon # type: ignore
+ from ._models import AutoMLJob # type: ignore
+ from ._models import AutoMLVertical # type: ignore
+ from ._models import AutoNCrossValidations # type: ignore
+ from ._models import AutoPauseProperties # type: ignore
+ from ._models import AutoScaleProperties # type: ignore
+ from ._models import AutoSeasonality # type: ignore
+ from ._models import AutoTargetLags # type: ignore
+ from ._models import AutoTargetRollingWindowSize # type: ignore
+ from ._models import AzureBlobDatastore # type: ignore
+ from ._models import AzureDataLakeGen1Datastore # type: ignore
+ from ._models import AzureDataLakeGen2Datastore # type: ignore
+ from ._models import AzureFileDatastore # type: ignore
+ from ._models import BanditPolicy # type: ignore
+ from ._models import BatchDeployment # type: ignore
+ from ._models import BatchDeploymentProperties # type: ignore
+ from ._models import BatchDeploymentTrackedResourceArmPaginatedResult # type: ignore
+ from ._models import BatchEndpoint # type: ignore
+ from ._models import BatchEndpointDefaults # type: ignore
+ from ._models import BatchEndpointProperties # type: ignore
+ from ._models import BatchEndpointTrackedResourceArmPaginatedResult # type: ignore
+ from ._models import BatchRetrySettings # type: ignore
+ from ._models import BayesianSamplingAlgorithm # type: ignore
+ from ._models import BuildContext # type: ignore
+ from ._models import CertificateDatastoreCredentials # type: ignore
+ from ._models import CertificateDatastoreSecrets # type: ignore
+ from ._models import Classification # type: ignore
+ from ._models import ClassificationTrainingSettings # type: ignore
+ from ._models import ClusterUpdateParameters # type: ignore
+ from ._models import CodeConfiguration # type: ignore
+ from ._models import CodeContainer # type: ignore
+ from ._models import CodeContainerProperties # type: ignore
+ from ._models import CodeContainerResourceArmPaginatedResult # type: ignore
+ from ._models import CodeVersion # type: ignore
+ from ._models import CodeVersionProperties # type: ignore
+ from ._models import CodeVersionResourceArmPaginatedResult # type: ignore
+ from ._models import ColumnTransformer # type: ignore
+ from ._models import CommandJob # type: ignore
+ from ._models import CommandJobLimits # type: ignore
+ from ._models import ComponentContainer # type: ignore
+ from ._models import ComponentContainerProperties # type: ignore
+ from ._models import ComponentContainerResourceArmPaginatedResult # type: ignore
+ from ._models import ComponentVersion # type: ignore
+ from ._models import ComponentVersionProperties # type: ignore
+ from ._models import ComponentVersionResourceArmPaginatedResult # type: ignore
+ from ._models import Compute # type: ignore
+ from ._models import ComputeInstance # type: ignore
+ from ._models import ComputeInstanceApplication # type: ignore
+ from ._models import ComputeInstanceConnectivityEndpoints # type: ignore
+ from ._models import ComputeInstanceContainer # type: ignore
+ from ._models import ComputeInstanceCreatedBy # type: ignore
+ from ._models import ComputeInstanceDataDisk # type: ignore
+ from ._models import ComputeInstanceDataMount # type: ignore
+ from ._models import ComputeInstanceEnvironmentInfo # type: ignore
+ from ._models import ComputeInstanceLastOperation # type: ignore
+ from ._models import ComputeInstanceProperties # type: ignore
+ from ._models import ComputeInstanceSchema # type: ignore
+ from ._models import ComputeInstanceSshSettings # type: ignore
+ from ._models import ComputeInstanceVersion # type: ignore
+ from ._models import ComputeResource # type: ignore
+ from ._models import ComputeResourceSchema # type: ignore
+ from ._models import ComputeSchedules # type: ignore
+ from ._models import ComputeSecrets # type: ignore
+ from ._models import ComputeStartStopSchedule # type: ignore
+ from ._models import ContainerResourceRequirements # type: ignore
+ from ._models import ContainerResourceSettings # type: ignore
+ from ._models import CosmosDbSettings # type: ignore
+ from ._models import CronTrigger # type: ignore
+ from ._models import CustomForecastHorizon # type: ignore
+ from ._models import CustomModelJobInput # type: ignore
+ from ._models import CustomModelJobOutput # type: ignore
+ from ._models import CustomNCrossValidations # type: ignore
+ from ._models import CustomSeasonality # type: ignore
+ from ._models import CustomTargetLags # type: ignore
+ from ._models import CustomTargetRollingWindowSize # type: ignore
+ from ._models import DataContainer # type: ignore
+ from ._models import DataContainerProperties # type: ignore
+ from ._models import DataContainerResourceArmPaginatedResult # type: ignore
+ from ._models import DataFactory # type: ignore
+ from ._models import DataLakeAnalytics # type: ignore
+ from ._models import DataLakeAnalyticsSchema # type: ignore
+ from ._models import DataLakeAnalyticsSchemaProperties # type: ignore
+ from ._models import DataPathAssetReference # type: ignore
+ from ._models import DataVersionBase # type: ignore
+ from ._models import DataVersionBaseProperties # type: ignore
+ from ._models import DataVersionBaseResourceArmPaginatedResult # type: ignore
+ from ._models import Databricks # type: ignore
+ from ._models import DatabricksComputeSecrets # type: ignore
+ from ._models import DatabricksComputeSecretsProperties # type: ignore
+ from ._models import DatabricksProperties # type: ignore
+ from ._models import DatabricksSchema # type: ignore
+ from ._models import Datastore # type: ignore
+ from ._models import DatastoreCredentials # type: ignore
+ from ._models import DatastoreProperties # type: ignore
+ from ._models import DatastoreResourceArmPaginatedResult # type: ignore
+ from ._models import DatastoreSecrets # type: ignore
+ from ._models import DefaultScaleSettings # type: ignore
+ from ._models import DeploymentLogs # type: ignore
+ from ._models import DeploymentLogsRequest # type: ignore
+ from ._models import DeploymentResourceConfiguration # type: ignore
+ from ._models import DiagnoseRequestProperties # type: ignore
+ from ._models import DiagnoseResponseResult # type: ignore
+ from ._models import DiagnoseResponseResultValue # type: ignore
+ from ._models import DiagnoseResult # type: ignore
+ from ._models import DiagnoseWorkspaceParameters # type: ignore
+ from ._models import DistributionConfiguration # type: ignore
+ from ._models import EarlyTerminationPolicy # type: ignore
+ from ._models import EncryptionKeyVaultProperties # type: ignore
+ from ._models import EncryptionProperty # type: ignore
+ from ._models import EndpointAuthKeys # type: ignore
+ from ._models import EndpointAuthToken # type: ignore
+ from ._models import EndpointDeploymentPropertiesBase # type: ignore
+ from ._models import EndpointPropertiesBase # type: ignore
+ from ._models import EndpointScheduleAction # type: ignore
+ from ._models import EnvironmentContainer # type: ignore
+ from ._models import EnvironmentContainerProperties # type: ignore
+ from ._models import EnvironmentContainerResourceArmPaginatedResult # type: ignore
+ from ._models import EnvironmentVersion # type: ignore
+ from ._models import EnvironmentVersionProperties # type: ignore
+ from ._models import EnvironmentVersionResourceArmPaginatedResult # type: ignore
+ from ._models import ErrorAdditionalInfo # type: ignore
+ from ._models import ErrorDetail # type: ignore
+ from ._models import ErrorResponse # type: ignore
+ from ._models import EstimatedVMPrice # type: ignore
+ from ._models import EstimatedVMPrices # type: ignore
+ from ._models import ExternalFQDNResponse # type: ignore
+ from ._models import FQDNEndpoint # type: ignore
+ from ._models import FQDNEndpointDetail # type: ignore
+ from ._models import FQDNEndpoints # type: ignore
+ from ._models import FQDNEndpointsProperties # type: ignore
+ from ._models import FeaturizationSettings # type: ignore
+ from ._models import FlavorData # type: ignore
+ from ._models import ForecastHorizon # type: ignore
+ from ._models import Forecasting # type: ignore
+ from ._models import ForecastingSettings # type: ignore
+ from ._models import ForecastingTrainingSettings # type: ignore
+ from ._models import GridSamplingAlgorithm # type: ignore
+ from ._models import HDInsight # type: ignore
+ from ._models import HDInsightProperties # type: ignore
+ from ._models import HDInsightSchema # type: ignore
+ from ._models import IdAssetReference # type: ignore
+ from ._models import IdentityConfiguration # type: ignore
+ from ._models import IdentityForCmk # type: ignore
+ from ._models import ImageClassification # type: ignore
+ from ._models import ImageClassificationBase # type: ignore
+ from ._models import ImageClassificationMultilabel # type: ignore
+ from ._models import ImageInstanceSegmentation # type: ignore
+ from ._models import ImageLimitSettings # type: ignore
+ from ._models import ImageModelDistributionSettings # type: ignore
+ from ._models import ImageModelDistributionSettingsClassification # type: ignore
+ from ._models import ImageModelDistributionSettingsObjectDetection # type: ignore
+ from ._models import ImageModelSettings # type: ignore
+ from ._models import ImageModelSettingsClassification # type: ignore
+ from ._models import ImageModelSettingsObjectDetection # type: ignore
+ from ._models import ImageObjectDetection # type: ignore
+ from ._models import ImageObjectDetectionBase # type: ignore
+ from ._models import ImageSweepSettings # type: ignore
+ from ._models import ImageVertical # type: ignore
+ from ._models import InferenceContainerProperties # type: ignore
+ from ._models import InstanceTypeSchema # type: ignore
+ from ._models import InstanceTypeSchemaResources # type: ignore
+ from ._models import JobBase # type: ignore
+ from ._models import JobBaseProperties # type: ignore
+ from ._models import JobBaseResourceArmPaginatedResult # type: ignore
+ from ._models import JobInput # type: ignore
+ from ._models import JobLimits # type: ignore
+ from ._models import JobOutput # type: ignore
+ from ._models import JobResourceConfiguration # type: ignore
+ from ._models import JobScheduleAction # type: ignore
+ from ._models import JobService # type: ignore
+ from ._models import Kubernetes # type: ignore
+ from ._models import KubernetesOnlineDeployment # type: ignore
+ from ._models import KubernetesProperties # type: ignore
+ from ._models import KubernetesSchema # type: ignore
+ from ._models import ListAmlUserFeatureResult # type: ignore
+ from ._models import ListNotebookKeysResult # type: ignore
+ from ._models import ListStorageAccountKeysResult # type: ignore
+ from ._models import ListUsagesResult # type: ignore
+ from ._models import ListWorkspaceKeysResult # type: ignore
+ from ._models import ListWorkspaceQuotas # type: ignore
+ from ._models import LiteralJobInput # type: ignore
+ from ._models import MLFlowModelJobInput # type: ignore
+ from ._models import MLFlowModelJobOutput # type: ignore
+ from ._models import MLTableData # type: ignore
+ from ._models import MLTableJobInput # type: ignore
+ from ._models import MLTableJobOutput # type: ignore
+ from ._models import ManagedIdentity # type: ignore
+ from ._models import ManagedIdentityAuthTypeWorkspaceConnectionProperties # type: ignore
+ from ._models import ManagedOnlineDeployment # type: ignore
+ from ._models import ManagedServiceIdentity # type: ignore
+ from ._models import MedianStoppingPolicy # type: ignore
+ from ._models import ModelContainer # type: ignore
+ from ._models import ModelContainerProperties # type: ignore
+ from ._models import ModelContainerResourceArmPaginatedResult # type: ignore
+ from ._models import ModelVersion # type: ignore
+ from ._models import ModelVersionProperties # type: ignore
+ from ._models import ModelVersionResourceArmPaginatedResult # type: ignore
+ from ._models import Mpi # type: ignore
+ from ._models import NCrossValidations # type: ignore
+ from ._models import NlpVertical # type: ignore
+ from ._models import NlpVerticalFeaturizationSettings # type: ignore
+ from ._models import NlpVerticalLimitSettings # type: ignore
+ from ._models import NodeStateCounts # type: ignore
+ from ._models import NoneAuthTypeWorkspaceConnectionProperties # type: ignore
+ from ._models import NoneDatastoreCredentials # type: ignore
+ from ._models import NotebookAccessTokenResult # type: ignore
+ from ._models import NotebookPreparationError # type: ignore
+ from ._models import NotebookResourceInfo # type: ignore
+ from ._models import Objective # type: ignore
+ from ._models import OnlineDeployment # type: ignore
+ from ._models import OnlineDeploymentProperties # type: ignore
+ from ._models import OnlineDeploymentTrackedResourceArmPaginatedResult # type: ignore
+ from ._models import OnlineEndpoint # type: ignore
+ from ._models import OnlineEndpointProperties # type: ignore
+ from ._models import OnlineEndpointTrackedResourceArmPaginatedResult # type: ignore
+ from ._models import OnlineRequestSettings # type: ignore
+ from ._models import OnlineScaleSettings # type: ignore
+ from ._models import OutputPathAssetReference # type: ignore
+ from ._models import PATAuthTypeWorkspaceConnectionProperties # type: ignore
+ from ._models import PaginatedComputeResourcesList # type: ignore
+ from ._models import PartialBatchDeployment # type: ignore
+ from ._models import PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties # type: ignore
+ from ._models import PartialManagedServiceIdentity # type: ignore
+ from ._models import PartialMinimalTrackedResource # type: ignore
+ from ._models import PartialMinimalTrackedResourceWithIdentity # type: ignore
+ from ._models import PartialMinimalTrackedResourceWithSku # type: ignore
+ from ._models import PartialSku # type: ignore
+ from ._models import Password # type: ignore
+ from ._models import PersonalComputeInstanceSettings # type: ignore
+ from ._models import PipelineJob # type: ignore
+ from ._models import PrivateEndpoint # type: ignore
+ from ._models import PrivateEndpointConnection # type: ignore
+ from ._models import PrivateEndpointConnectionListResult # type: ignore
+ from ._models import PrivateLinkResource # type: ignore
+ from ._models import PrivateLinkResourceListResult # type: ignore
+ from ._models import PrivateLinkServiceConnectionState # type: ignore
+ from ._models import ProbeSettings # type: ignore
+ from ._models import PyTorch # type: ignore
+ from ._models import QuotaBaseProperties # type: ignore
+ from ._models import QuotaUpdateParameters # type: ignore
+ from ._models import RandomSamplingAlgorithm # type: ignore
+ from ._models import RecurrenceSchedule # type: ignore
+ from ._models import RecurrenceTrigger # type: ignore
+ from ._models import RegenerateEndpointKeysRequest # type: ignore
+ from ._models import RegistryListCredentialsResult # type: ignore
+ from ._models import Regression # type: ignore
+ from ._models import RegressionTrainingSettings # type: ignore
+ from ._models import Resource # type: ignore
+ from ._models import ResourceBase # type: ignore
+ from ._models import ResourceConfiguration # type: ignore
+ from ._models import ResourceId # type: ignore
+ from ._models import ResourceName # type: ignore
+ from ._models import ResourceQuota # type: ignore
+ from ._models import Route # type: ignore
+ from ._models import SASAuthTypeWorkspaceConnectionProperties # type: ignore
+ from ._models import SamplingAlgorithm # type: ignore
+ from ._models import SasDatastoreCredentials # type: ignore
+ from ._models import SasDatastoreSecrets # type: ignore
+ from ._models import ScaleSettings # type: ignore
+ from ._models import ScaleSettingsInformation # type: ignore
+ from ._models import Schedule # type: ignore
+ from ._models import ScheduleActionBase # type: ignore
+ from ._models import ScheduleBase # type: ignore
+ from ._models import ScheduleProperties # type: ignore
+ from ._models import ScheduleResourceArmPaginatedResult # type: ignore
+ from ._models import ScriptReference # type: ignore
+ from ._models import ScriptsToExecute # type: ignore
+ from ._models import Seasonality # type: ignore
+ from ._models import ServiceManagedResourcesSettings # type: ignore
+ from ._models import ServicePrincipalDatastoreCredentials # type: ignore
+ from ._models import ServicePrincipalDatastoreSecrets # type: ignore
+ from ._models import SetupScripts # type: ignore
+ from ._models import SharedPrivateLinkResource # type: ignore
+ from ._models import Sku # type: ignore
+ from ._models import SkuCapacity # type: ignore
+ from ._models import SkuResource # type: ignore
+ from ._models import SkuResourceArmPaginatedResult # type: ignore
+ from ._models import SkuSetting # type: ignore
+ from ._models import SslConfiguration # type: ignore
+ from ._models import StackEnsembleSettings # type: ignore
+ from ._models import SweepJob # type: ignore
+ from ._models import SweepJobLimits # type: ignore
+ from ._models import SynapseSpark # type: ignore
+ from ._models import SynapseSparkProperties # type: ignore
+ from ._models import SystemData # type: ignore
+ from ._models import SystemService # type: ignore
+ from ._models import TableVertical # type: ignore
+ from ._models import TableVerticalFeaturizationSettings # type: ignore
+ from ._models import TableVerticalLimitSettings # type: ignore
+ from ._models import TargetLags # type: ignore
+ from ._models import TargetRollingWindowSize # type: ignore
+ from ._models import TargetUtilizationScaleSettings # type: ignore
+ from ._models import TensorFlow # type: ignore
+ from ._models import TextClassification # type: ignore
+ from ._models import TextClassificationMultilabel # type: ignore
+ from ._models import TextNer # type: ignore
+ from ._models import TrackedResource # type: ignore
+ from ._models import TrainingSettings # type: ignore
+ from ._models import TrialComponent # type: ignore
+ from ._models import TriggerBase # type: ignore
+ from ._models import TritonModelJobInput # type: ignore
+ from ._models import TritonModelJobOutput # type: ignore
+ from ._models import TruncationSelectionPolicy # type: ignore
+ from ._models import UpdateWorkspaceQuotas # type: ignore
+ from ._models import UpdateWorkspaceQuotasResult # type: ignore
+ from ._models import UriFileDataVersion # type: ignore
+ from ._models import UriFileJobInput # type: ignore
+ from ._models import UriFileJobOutput # type: ignore
+ from ._models import UriFolderDataVersion # type: ignore
+ from ._models import UriFolderJobInput # type: ignore
+ from ._models import UriFolderJobOutput # type: ignore
+ from ._models import Usage # type: ignore
+ from ._models import UsageName # type: ignore
+ from ._models import UserAccountCredentials # type: ignore
+ from ._models import UserAssignedIdentity # type: ignore
+ from ._models import UserIdentity # type: ignore
+ from ._models import UsernamePasswordAuthTypeWorkspaceConnectionProperties # type: ignore
+ from ._models import VirtualMachine # type: ignore
+ from ._models import VirtualMachineImage # type: ignore
+ from ._models import VirtualMachineSchema # type: ignore
+ from ._models import VirtualMachineSchemaProperties # type: ignore
+ from ._models import VirtualMachineSecrets # type: ignore
+ from ._models import VirtualMachineSecretsSchema # type: ignore
+ from ._models import VirtualMachineSize # type: ignore
+ from ._models import VirtualMachineSizeListResult # type: ignore
+ from ._models import VirtualMachineSshCredentials # type: ignore
+ from ._models import Workspace # type: ignore
+ from ._models import WorkspaceConnectionManagedIdentity # type: ignore
+ from ._models import WorkspaceConnectionPersonalAccessToken # type: ignore
+ from ._models import WorkspaceConnectionPropertiesV2 # type: ignore
+ from ._models import WorkspaceConnectionPropertiesV2BasicResource # type: ignore
+ from ._models import WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult # type: ignore
+ from ._models import WorkspaceConnectionSharedAccessSignature # type: ignore
+ from ._models import WorkspaceConnectionUsernamePassword # type: ignore
+ from ._models import WorkspaceListResult # type: ignore
+ from ._models import WorkspaceUpdateParameters # type: ignore
+
+from ._azure_machine_learning_workspaces_enums import (
+ AllocationState,
+ ApplicationSharingPolicy,
+ AutoRebuildSetting,
+ Autosave,
+ BatchLoggingLevel,
+ BatchOutputAction,
+ BillingCurrency,
+ BlockedTransformers,
+ Caching,
+ ClassificationModels,
+ ClassificationMultilabelPrimaryMetrics,
+ ClassificationPrimaryMetrics,
+ ClusterPurpose,
+ ComputeInstanceAuthorizationType,
+ ComputeInstanceState,
+ ComputePowerAction,
+ ComputeType,
+ ConnectionAuthType,
+ ConnectionCategory,
+ ContainerType,
+ CreatedByType,
+ CredentialsType,
+ DataType,
+ DatastoreType,
+ DeploymentProvisioningState,
+ DiagnoseResultLevel,
+ DistributionType,
+ EarlyTerminationPolicyType,
+ EgressPublicNetworkAccessType,
+ EncryptionStatus,
+ EndpointAuthMode,
+ EndpointComputeType,
+ EndpointProvisioningState,
+ EnvironmentType,
+ FeatureLags,
+ FeaturizationMode,
+ ForecastHorizonMode,
+ ForecastingModels,
+ ForecastingPrimaryMetrics,
+ Goal,
+ IdentityConfigurationType,
+ InputDeliveryMode,
+ InstanceSegmentationPrimaryMetrics,
+ JobInputType,
+ JobLimitsType,
+ JobOutputType,
+ JobStatus,
+ JobType,
+ KeyType,
+ LearningRateScheduler,
+ ListViewType,
+ LoadBalancerType,
+ LogVerbosity,
+ ManagedServiceIdentityType,
+ ModelSize,
+ MountAction,
+ MountState,
+ NCrossValidationsMode,
+ Network,
+ NodeState,
+ ObjectDetectionPrimaryMetrics,
+ OperatingSystemType,
+ OperationName,
+ OperationStatus,
+ OperationTrigger,
+ OrderString,
+ OsType,
+ OutputDeliveryMode,
+ PrivateEndpointConnectionProvisioningState,
+ PrivateEndpointServiceConnectionStatus,
+ ProvisioningState,
+ ProvisioningStatus,
+ PublicNetworkAccess,
+ PublicNetworkAccessType,
+ QuotaUnit,
+ RandomSamplingAlgorithmRule,
+ RecurrenceFrequency,
+ ReferenceType,
+ RegressionModels,
+ RegressionPrimaryMetrics,
+ RemoteLoginPortPublicAccess,
+ SamplingAlgorithmType,
+ ScaleType,
+ ScheduleActionType,
+ ScheduleListViewType,
+ ScheduleProvisioningState,
+ ScheduleProvisioningStatus,
+ ScheduleStatus,
+ SeasonalityMode,
+ SecretsType,
+ ServiceDataAccessAuthIdentity,
+ ShortSeriesHandlingConfiguration,
+ SkuScaleType,
+ SkuTier,
+ SourceType,
+ SshPublicAccess,
+ SslConfigStatus,
+ StackMetaLearnerType,
+ Status,
+ StochasticOptimizer,
+ StorageAccountType,
+ TargetAggregationFunction,
+ TargetLagsMode,
+ TargetRollingWindowSizeMode,
+ TaskType,
+ TriggerType,
+ UnderlyingResourceAction,
+ UnitOfMeasure,
+ UsageUnit,
+ UseStl,
+ VMPriceOSType,
+ VMTier,
+ ValidationMetricType,
+ ValueFormat,
+ VmPriority,
+ WeekDay,
+)
+
+__all__ = [
+ 'AKS',
+ 'AKSSchema',
+ 'AKSSchemaProperties',
+ 'AccountKeyDatastoreCredentials',
+ 'AccountKeyDatastoreSecrets',
+ 'AksComputeSecrets',
+ 'AksComputeSecretsProperties',
+ 'AksNetworkingConfiguration',
+ 'AmlCompute',
+ 'AmlComputeNodeInformation',
+ 'AmlComputeNodesInformation',
+ 'AmlComputeProperties',
+ 'AmlComputeSchema',
+ 'AmlOperation',
+ 'AmlOperationDisplay',
+ 'AmlOperationListResult',
+ 'AmlToken',
+ 'AmlUserFeature',
+ 'AssetBase',
+ 'AssetContainer',
+ 'AssetJobInput',
+ 'AssetJobOutput',
+ 'AssetReferenceBase',
+ 'AssignedUser',
+ 'AutoForecastHorizon',
+ 'AutoMLJob',
+ 'AutoMLVertical',
+ 'AutoNCrossValidations',
+ 'AutoPauseProperties',
+ 'AutoScaleProperties',
+ 'AutoSeasonality',
+ 'AutoTargetLags',
+ 'AutoTargetRollingWindowSize',
+ 'AzureBlobDatastore',
+ 'AzureDataLakeGen1Datastore',
+ 'AzureDataLakeGen2Datastore',
+ 'AzureFileDatastore',
+ 'BanditPolicy',
+ 'BatchDeployment',
+ 'BatchDeploymentProperties',
+ 'BatchDeploymentTrackedResourceArmPaginatedResult',
+ 'BatchEndpoint',
+ 'BatchEndpointDefaults',
+ 'BatchEndpointProperties',
+ 'BatchEndpointTrackedResourceArmPaginatedResult',
+ 'BatchRetrySettings',
+ 'BayesianSamplingAlgorithm',
+ 'BuildContext',
+ 'CertificateDatastoreCredentials',
+ 'CertificateDatastoreSecrets',
+ 'Classification',
+ 'ClassificationTrainingSettings',
+ 'ClusterUpdateParameters',
+ 'CodeConfiguration',
+ 'CodeContainer',
+ 'CodeContainerProperties',
+ 'CodeContainerResourceArmPaginatedResult',
+ 'CodeVersion',
+ 'CodeVersionProperties',
+ 'CodeVersionResourceArmPaginatedResult',
+ 'ColumnTransformer',
+ 'CommandJob',
+ 'CommandJobLimits',
+ 'ComponentContainer',
+ 'ComponentContainerProperties',
+ 'ComponentContainerResourceArmPaginatedResult',
+ 'ComponentVersion',
+ 'ComponentVersionProperties',
+ 'ComponentVersionResourceArmPaginatedResult',
+ 'Compute',
+ 'ComputeInstance',
+ 'ComputeInstanceApplication',
+ 'ComputeInstanceConnectivityEndpoints',
+ 'ComputeInstanceContainer',
+ 'ComputeInstanceCreatedBy',
+ 'ComputeInstanceDataDisk',
+ 'ComputeInstanceDataMount',
+ 'ComputeInstanceEnvironmentInfo',
+ 'ComputeInstanceLastOperation',
+ 'ComputeInstanceProperties',
+ 'ComputeInstanceSchema',
+ 'ComputeInstanceSshSettings',
+ 'ComputeInstanceVersion',
+ 'ComputeResource',
+ 'ComputeResourceSchema',
+ 'ComputeSchedules',
+ 'ComputeSecrets',
+ 'ComputeStartStopSchedule',
+ 'ContainerResourceRequirements',
+ 'ContainerResourceSettings',
+ 'CosmosDbSettings',
+ 'CronTrigger',
+ 'CustomForecastHorizon',
+ 'CustomModelJobInput',
+ 'CustomModelJobOutput',
+ 'CustomNCrossValidations',
+ 'CustomSeasonality',
+ 'CustomTargetLags',
+ 'CustomTargetRollingWindowSize',
+ 'DataContainer',
+ 'DataContainerProperties',
+ 'DataContainerResourceArmPaginatedResult',
+ 'DataFactory',
+ 'DataLakeAnalytics',
+ 'DataLakeAnalyticsSchema',
+ 'DataLakeAnalyticsSchemaProperties',
+ 'DataPathAssetReference',
+ 'DataVersionBase',
+ 'DataVersionBaseProperties',
+ 'DataVersionBaseResourceArmPaginatedResult',
+ 'Databricks',
+ 'DatabricksComputeSecrets',
+ 'DatabricksComputeSecretsProperties',
+ 'DatabricksProperties',
+ 'DatabricksSchema',
+ 'Datastore',
+ 'DatastoreCredentials',
+ 'DatastoreProperties',
+ 'DatastoreResourceArmPaginatedResult',
+ 'DatastoreSecrets',
+ 'DefaultScaleSettings',
+ 'DeploymentLogs',
+ 'DeploymentLogsRequest',
+ 'DeploymentResourceConfiguration',
+ 'DiagnoseRequestProperties',
+ 'DiagnoseResponseResult',
+ 'DiagnoseResponseResultValue',
+ 'DiagnoseResult',
+ 'DiagnoseWorkspaceParameters',
+ 'DistributionConfiguration',
+ 'EarlyTerminationPolicy',
+ 'EncryptionKeyVaultProperties',
+ 'EncryptionProperty',
+ 'EndpointAuthKeys',
+ 'EndpointAuthToken',
+ 'EndpointDeploymentPropertiesBase',
+ 'EndpointPropertiesBase',
+ 'EndpointScheduleAction',
+ 'EnvironmentContainer',
+ 'EnvironmentContainerProperties',
+ 'EnvironmentContainerResourceArmPaginatedResult',
+ 'EnvironmentVersion',
+ 'EnvironmentVersionProperties',
+ 'EnvironmentVersionResourceArmPaginatedResult',
+ 'ErrorAdditionalInfo',
+ 'ErrorDetail',
+ 'ErrorResponse',
+ 'EstimatedVMPrice',
+ 'EstimatedVMPrices',
+ 'ExternalFQDNResponse',
+ 'FQDNEndpoint',
+ 'FQDNEndpointDetail',
+ 'FQDNEndpoints',
+ 'FQDNEndpointsProperties',
+ 'FeaturizationSettings',
+ 'FlavorData',
+ 'ForecastHorizon',
+ 'Forecasting',
+ 'ForecastingSettings',
+ 'ForecastingTrainingSettings',
+ 'GridSamplingAlgorithm',
+ 'HDInsight',
+ 'HDInsightProperties',
+ 'HDInsightSchema',
+ 'IdAssetReference',
+ 'IdentityConfiguration',
+ 'IdentityForCmk',
+ 'ImageClassification',
+ 'ImageClassificationBase',
+ 'ImageClassificationMultilabel',
+ 'ImageInstanceSegmentation',
+ 'ImageLimitSettings',
+ 'ImageModelDistributionSettings',
+ 'ImageModelDistributionSettingsClassification',
+ 'ImageModelDistributionSettingsObjectDetection',
+ 'ImageModelSettings',
+ 'ImageModelSettingsClassification',
+ 'ImageModelSettingsObjectDetection',
+ 'ImageObjectDetection',
+ 'ImageObjectDetectionBase',
+ 'ImageSweepSettings',
+ 'ImageVertical',
+ 'InferenceContainerProperties',
+ 'InstanceTypeSchema',
+ 'InstanceTypeSchemaResources',
+ 'JobBase',
+ 'JobBaseProperties',
+ 'JobBaseResourceArmPaginatedResult',
+ 'JobInput',
+ 'JobLimits',
+ 'JobOutput',
+ 'JobResourceConfiguration',
+ 'JobScheduleAction',
+ 'JobService',
+ 'Kubernetes',
+ 'KubernetesOnlineDeployment',
+ 'KubernetesProperties',
+ 'KubernetesSchema',
+ 'ListAmlUserFeatureResult',
+ 'ListNotebookKeysResult',
+ 'ListStorageAccountKeysResult',
+ 'ListUsagesResult',
+ 'ListWorkspaceKeysResult',
+ 'ListWorkspaceQuotas',
+ 'LiteralJobInput',
+ 'MLFlowModelJobInput',
+ 'MLFlowModelJobOutput',
+ 'MLTableData',
+ 'MLTableJobInput',
+ 'MLTableJobOutput',
+ 'ManagedIdentity',
+ 'ManagedIdentityAuthTypeWorkspaceConnectionProperties',
+ 'ManagedOnlineDeployment',
+ 'ManagedServiceIdentity',
+ 'MedianStoppingPolicy',
+ 'ModelContainer',
+ 'ModelContainerProperties',
+ 'ModelContainerResourceArmPaginatedResult',
+ 'ModelVersion',
+ 'ModelVersionProperties',
+ 'ModelVersionResourceArmPaginatedResult',
+ 'Mpi',
+ 'NCrossValidations',
+ 'NlpVertical',
+ 'NlpVerticalFeaturizationSettings',
+ 'NlpVerticalLimitSettings',
+ 'NodeStateCounts',
+ 'NoneAuthTypeWorkspaceConnectionProperties',
+ 'NoneDatastoreCredentials',
+ 'NotebookAccessTokenResult',
+ 'NotebookPreparationError',
+ 'NotebookResourceInfo',
+ 'Objective',
+ 'OnlineDeployment',
+ 'OnlineDeploymentProperties',
+ 'OnlineDeploymentTrackedResourceArmPaginatedResult',
+ 'OnlineEndpoint',
+ 'OnlineEndpointProperties',
+ 'OnlineEndpointTrackedResourceArmPaginatedResult',
+ 'OnlineRequestSettings',
+ 'OnlineScaleSettings',
+ 'OutputPathAssetReference',
+ 'PATAuthTypeWorkspaceConnectionProperties',
+ 'PaginatedComputeResourcesList',
+ 'PartialBatchDeployment',
+ 'PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties',
+ 'PartialManagedServiceIdentity',
+ 'PartialMinimalTrackedResource',
+ 'PartialMinimalTrackedResourceWithIdentity',
+ 'PartialMinimalTrackedResourceWithSku',
+ 'PartialSku',
+ 'Password',
+ 'PersonalComputeInstanceSettings',
+ 'PipelineJob',
+ 'PrivateEndpoint',
+ 'PrivateEndpointConnection',
+ 'PrivateEndpointConnectionListResult',
+ 'PrivateLinkResource',
+ 'PrivateLinkResourceListResult',
+ 'PrivateLinkServiceConnectionState',
+ 'ProbeSettings',
+ 'PyTorch',
+ 'QuotaBaseProperties',
+ 'QuotaUpdateParameters',
+ 'RandomSamplingAlgorithm',
+ 'RecurrenceSchedule',
+ 'RecurrenceTrigger',
+ 'RegenerateEndpointKeysRequest',
+ 'RegistryListCredentialsResult',
+ 'Regression',
+ 'RegressionTrainingSettings',
+ 'Resource',
+ 'ResourceBase',
+ 'ResourceConfiguration',
+ 'ResourceId',
+ 'ResourceName',
+ 'ResourceQuota',
+ 'Route',
+ 'SASAuthTypeWorkspaceConnectionProperties',
+ 'SamplingAlgorithm',
+ 'SasDatastoreCredentials',
+ 'SasDatastoreSecrets',
+ 'ScaleSettings',
+ 'ScaleSettingsInformation',
+ 'Schedule',
+ 'ScheduleActionBase',
+ 'ScheduleBase',
+ 'ScheduleProperties',
+ 'ScheduleResourceArmPaginatedResult',
+ 'ScriptReference',
+ 'ScriptsToExecute',
+ 'Seasonality',
+ 'ServiceManagedResourcesSettings',
+ 'ServicePrincipalDatastoreCredentials',
+ 'ServicePrincipalDatastoreSecrets',
+ 'SetupScripts',
+ 'SharedPrivateLinkResource',
+ 'Sku',
+ 'SkuCapacity',
+ 'SkuResource',
+ 'SkuResourceArmPaginatedResult',
+ 'SkuSetting',
+ 'SslConfiguration',
+ 'StackEnsembleSettings',
+ 'SweepJob',
+ 'SweepJobLimits',
+ 'SynapseSpark',
+ 'SynapseSparkProperties',
+ 'SystemData',
+ 'SystemService',
+ 'TableVertical',
+ 'TableVerticalFeaturizationSettings',
+ 'TableVerticalLimitSettings',
+ 'TargetLags',
+ 'TargetRollingWindowSize',
+ 'TargetUtilizationScaleSettings',
+ 'TensorFlow',
+ 'TextClassification',
+ 'TextClassificationMultilabel',
+ 'TextNer',
+ 'TrackedResource',
+ 'TrainingSettings',
+ 'TrialComponent',
+ 'TriggerBase',
+ 'TritonModelJobInput',
+ 'TritonModelJobOutput',
+ 'TruncationSelectionPolicy',
+ 'UpdateWorkspaceQuotas',
+ 'UpdateWorkspaceQuotasResult',
+ 'UriFileDataVersion',
+ 'UriFileJobInput',
+ 'UriFileJobOutput',
+ 'UriFolderDataVersion',
+ 'UriFolderJobInput',
+ 'UriFolderJobOutput',
+ 'Usage',
+ 'UsageName',
+ 'UserAccountCredentials',
+ 'UserAssignedIdentity',
+ 'UserIdentity',
+ 'UsernamePasswordAuthTypeWorkspaceConnectionProperties',
+ 'VirtualMachine',
+ 'VirtualMachineImage',
+ 'VirtualMachineSchema',
+ 'VirtualMachineSchemaProperties',
+ 'VirtualMachineSecrets',
+ 'VirtualMachineSecretsSchema',
+ 'VirtualMachineSize',
+ 'VirtualMachineSizeListResult',
+ 'VirtualMachineSshCredentials',
+ 'Workspace',
+ 'WorkspaceConnectionManagedIdentity',
+ 'WorkspaceConnectionPersonalAccessToken',
+ 'WorkspaceConnectionPropertiesV2',
+ 'WorkspaceConnectionPropertiesV2BasicResource',
+ 'WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult',
+ 'WorkspaceConnectionSharedAccessSignature',
+ 'WorkspaceConnectionUsernamePassword',
+ 'WorkspaceListResult',
+ 'WorkspaceUpdateParameters',
+ 'AllocationState',
+ 'ApplicationSharingPolicy',
+ 'AutoRebuildSetting',
+ 'Autosave',
+ 'BatchLoggingLevel',
+ 'BatchOutputAction',
+ 'BillingCurrency',
+ 'BlockedTransformers',
+ 'Caching',
+ 'ClassificationModels',
+ 'ClassificationMultilabelPrimaryMetrics',
+ 'ClassificationPrimaryMetrics',
+ 'ClusterPurpose',
+ 'ComputeInstanceAuthorizationType',
+ 'ComputeInstanceState',
+ 'ComputePowerAction',
+ 'ComputeType',
+ 'ConnectionAuthType',
+ 'ConnectionCategory',
+ 'ContainerType',
+ 'CreatedByType',
+ 'CredentialsType',
+ 'DataType',
+ 'DatastoreType',
+ 'DeploymentProvisioningState',
+ 'DiagnoseResultLevel',
+ 'DistributionType',
+ 'EarlyTerminationPolicyType',
+ 'EgressPublicNetworkAccessType',
+ 'EncryptionStatus',
+ 'EndpointAuthMode',
+ 'EndpointComputeType',
+ 'EndpointProvisioningState',
+ 'EnvironmentType',
+ 'FeatureLags',
+ 'FeaturizationMode',
+ 'ForecastHorizonMode',
+ 'ForecastingModels',
+ 'ForecastingPrimaryMetrics',
+ 'Goal',
+ 'IdentityConfigurationType',
+ 'InputDeliveryMode',
+ 'InstanceSegmentationPrimaryMetrics',
+ 'JobInputType',
+ 'JobLimitsType',
+ 'JobOutputType',
+ 'JobStatus',
+ 'JobType',
+ 'KeyType',
+ 'LearningRateScheduler',
+ 'ListViewType',
+ 'LoadBalancerType',
+ 'LogVerbosity',
+ 'ManagedServiceIdentityType',
+ 'ModelSize',
+ 'MountAction',
+ 'MountState',
+ 'NCrossValidationsMode',
+ 'Network',
+ 'NodeState',
+ 'ObjectDetectionPrimaryMetrics',
+ 'OperatingSystemType',
+ 'OperationName',
+ 'OperationStatus',
+ 'OperationTrigger',
+ 'OrderString',
+ 'OsType',
+ 'OutputDeliveryMode',
+ 'PrivateEndpointConnectionProvisioningState',
+ 'PrivateEndpointServiceConnectionStatus',
+ 'ProvisioningState',
+ 'ProvisioningStatus',
+ 'PublicNetworkAccess',
+ 'PublicNetworkAccessType',
+ 'QuotaUnit',
+ 'RandomSamplingAlgorithmRule',
+ 'RecurrenceFrequency',
+ 'ReferenceType',
+ 'RegressionModels',
+ 'RegressionPrimaryMetrics',
+ 'RemoteLoginPortPublicAccess',
+ 'SamplingAlgorithmType',
+ 'ScaleType',
+ 'ScheduleActionType',
+ 'ScheduleListViewType',
+ 'ScheduleProvisioningState',
+ 'ScheduleProvisioningStatus',
+ 'ScheduleStatus',
+ 'SeasonalityMode',
+ 'SecretsType',
+ 'ServiceDataAccessAuthIdentity',
+ 'ShortSeriesHandlingConfiguration',
+ 'SkuScaleType',
+ 'SkuTier',
+ 'SourceType',
+ 'SshPublicAccess',
+ 'SslConfigStatus',
+ 'StackMetaLearnerType',
+ 'Status',
+ 'StochasticOptimizer',
+ 'StorageAccountType',
+ 'TargetAggregationFunction',
+ 'TargetLagsMode',
+ 'TargetRollingWindowSizeMode',
+ 'TaskType',
+ 'TriggerType',
+ 'UnderlyingResourceAction',
+ 'UnitOfMeasure',
+ 'UsageUnit',
+ 'UseStl',
+ 'VMPriceOSType',
+ 'VMTier',
+ 'ValidationMetricType',
+ 'ValueFormat',
+ 'VmPriority',
+ 'WeekDay',
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_azure_machine_learning_workspaces_enums.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_azure_machine_learning_workspaces_enums.py
new file mode 100644
index 00000000..53ff52db
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_azure_machine_learning_workspaces_enums.py
@@ -0,0 +1,1344 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from enum import Enum
+from azure.core import CaseInsensitiveEnumMeta
+
+
+class AllocationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Allocation state of the compute. Possible values are: steady - Indicates that the compute is
+ not resizing. There are no changes to the number of compute nodes in the compute in progress. A
+ compute enters this state when it is created and when no operations are being performed on the
+ compute to change the number of compute nodes. resizing - Indicates that the compute is
+ resizing; that is, compute nodes are being added to or removed from the compute.
+ """
+
+ STEADY = "Steady"
+ RESIZING = "Resizing"
+
+class ApplicationSharingPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Policy for sharing applications on this compute instance among users of parent workspace. If
+ Personal, only the creator can access applications on this compute instance. When Shared, any
+ workspace user can access applications on this instance depending on his/her assigned role.
+ """
+
+ PERSONAL = "Personal"
+ SHARED = "Shared"
+
+class AutoRebuildSetting(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """AutoRebuild setting for the derived image
+ """
+
+ DISABLED = "Disabled"
+ ON_BASE_IMAGE_UPDATE = "OnBaseImageUpdate"
+
+class Autosave(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Auto save settings.
+ """
+
+ NONE = "None"
+ LOCAL = "Local"
+ REMOTE = "Remote"
+
+class BatchLoggingLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Log verbosity for batch inferencing.
+ Increasing verbosity order for logging is : Warning, Info and Debug.
+ The default value is Info.
+ """
+
+ INFO = "Info"
+ WARNING = "Warning"
+ DEBUG = "Debug"
+
+class BatchOutputAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine how batch inferencing will handle output
+ """
+
+ SUMMARY_ONLY = "SummaryOnly"
+ APPEND_ROW = "AppendRow"
+
+class BillingCurrency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Three lettered code specifying the currency of the VM price. Example: USD
+ """
+
+ USD = "USD"
+
+class BlockedTransformers(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum for all classification models supported by AutoML.
+ """
+
+ #: Target encoding for text data.
+ TEXT_TARGET_ENCODER = "TextTargetEncoder"
+ #: Ohe hot encoding creates a binary feature transformation.
+ ONE_HOT_ENCODER = "OneHotEncoder"
+ #: Target encoding for categorical data.
+ CAT_TARGET_ENCODER = "CatTargetEncoder"
+ #: Tf-Idf stands for, term-frequency times inverse document-frequency. This is a common term
+ #: weighting scheme for identifying information from documents.
+ TF_IDF = "TfIdf"
+ #: Weight of Evidence encoding is a technique used to encode categorical variables. It uses the
+ #: natural log of the P(1)/P(0) to create weights.
+ WO_E_TARGET_ENCODER = "WoETargetEncoder"
+ #: Label encoder converts labels/categorical variables in a numerical form.
+ LABEL_ENCODER = "LabelEncoder"
+ #: Word embedding helps represents words or phrases as a vector, or a series of numbers.
+ WORD_EMBEDDING = "WordEmbedding"
+ #: Naive Bayes is a classified that is used for classification of discrete features that are
+ #: categorically distributed.
+ NAIVE_BAYES = "NaiveBayes"
+ #: Count Vectorizer converts a collection of text documents to a matrix of token counts.
+ COUNT_VECTORIZER = "CountVectorizer"
+ #: Hashing One Hot Encoder can turn categorical variables into a limited number of new features.
+ #: This is often used for high-cardinality categorical features.
+ HASH_ONE_HOT_ENCODER = "HashOneHotEncoder"
+
+class Caching(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Caching type of Data Disk.
+ """
+
+ NONE = "None"
+ READ_ONLY = "ReadOnly"
+ READ_WRITE = "ReadWrite"
+
+class ClassificationModels(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum for all classification models supported by AutoML.
+ """
+
+ #: Logistic regression is a fundamental classification technique.
+ #: It belongs to the group of linear classifiers and is somewhat similar to polynomial and linear
+ #: regression.
+ #: Logistic regression is fast and relatively uncomplicated, and it's convenient for you to
+ #: interpret the results.
+ #: Although it's essentially a method for binary classification, it can also be applied to
+ #: multiclass problems.
+ LOGISTIC_REGRESSION = "LogisticRegression"
+ #: SGD: Stochastic gradient descent is an optimization algorithm often used in machine learning
+ #: applications
+ #: to find the model parameters that correspond to the best fit between predicted and actual
+ #: outputs.
+ SGD = "SGD"
+ #: The multinomial Naive Bayes classifier is suitable for classification with discrete features
+ #: (e.g., word counts for text classification).
+ #: The multinomial distribution normally requires integer feature counts. However, in practice,
+ #: fractional counts such as tf-idf may also work.
+ MULTINOMIAL_NAIVE_BAYES = "MultinomialNaiveBayes"
+ #: Naive Bayes classifier for multivariate Bernoulli models.
+ BERNOULLI_NAIVE_BAYES = "BernoulliNaiveBayes"
+ #: A support vector machine (SVM) is a supervised machine learning model that uses classification
+ #: algorithms for two-group classification problems.
+ #: After giving an SVM model sets of labeled training data for each category, they're able to
+ #: categorize new text.
+ SVM = "SVM"
+ #: A support vector machine (SVM) is a supervised machine learning model that uses classification
+ #: algorithms for two-group classification problems.
+ #: After giving an SVM model sets of labeled training data for each category, they're able to
+ #: categorize new text.
+ #: Linear SVM performs best when input data is linear, i.e., data can be easily classified by
+ #: drawing the straight line between classified values on a plotted graph.
+ LINEAR_SVM = "LinearSVM"
+ #: K-nearest neighbors (KNN) algorithm uses 'feature similarity' to predict the values of new
+ #: datapoints
+ #: which further means that the new data point will be assigned a value based on how closely it
+ #: matches the points in the training set.
+ KNN = "KNN"
+ #: Decision Trees are a non-parametric supervised learning method used for both classification and
+ #: regression tasks.
+ #: The goal is to create a model that predicts the value of a target variable by learning simple
+ #: decision rules inferred from the data features.
+ DECISION_TREE = "DecisionTree"
+ #: Random forest is a supervised learning algorithm.
+ #: The "forest"\\ it builds, is an ensemble of decision trees, usually trained with the
+ #: �bagging�\\ method.
+ #: The general idea of the bagging method is that a combination of learning models increases the
+ #: overall result.
+ RANDOM_FOREST = "RandomForest"
+ #: Extreme Trees is an ensemble machine learning algorithm that combines the predictions from many
+ #: decision trees. It is related to the widely used random forest algorithm.
+ EXTREME_RANDOM_TREES = "ExtremeRandomTrees"
+ #: LightGBM is a gradient boosting framework that uses tree based learning algorithms.
+ LIGHT_GBM = "LightGBM"
+ #: The technique of transiting week learners into a strong learner is called Boosting. The
+ #: gradient boosting algorithm process works on this theory of execution.
+ GRADIENT_BOOSTING = "GradientBoosting"
+ #: XGBoost: Extreme Gradient Boosting Algorithm. This algorithm is used for structured data where
+ #: target column values can be divided into distinct class values.
+ XG_BOOST_CLASSIFIER = "XGBoostClassifier"
+
+class ClassificationMultilabelPrimaryMetrics(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Primary metrics for classification multilabel tasks.
+ """
+
+ #: AUC is the Area under the curve.
+ #: This metric represents arithmetic mean of the score for each class,
+ #: weighted by the number of true instances in each class.
+ AUC_WEIGHTED = "AUCWeighted"
+ #: Accuracy is the ratio of predictions that exactly match the true class labels.
+ ACCURACY = "Accuracy"
+ #: Normalized macro recall is recall macro-averaged and normalized, so that random
+ #: performance has a score of 0, and perfect performance has a score of 1.
+ NORM_MACRO_RECALL = "NormMacroRecall"
+ #: The arithmetic mean of the average precision score for each class, weighted by
+ #: the number of true instances in each class.
+ AVERAGE_PRECISION_SCORE_WEIGHTED = "AveragePrecisionScoreWeighted"
+ #: The arithmetic mean of precision for each class, weighted by number of true instances in each
+ #: class.
+ PRECISION_SCORE_WEIGHTED = "PrecisionScoreWeighted"
+ #: Intersection Over Union. Intersection of predictions divided by union of predictions.
+ IOU = "IOU"
+
+class ClassificationPrimaryMetrics(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Primary metrics for classification tasks.
+ """
+
+ #: AUC is the Area under the curve.
+ #: This metric represents arithmetic mean of the score for each class,
+ #: weighted by the number of true instances in each class.
+ AUC_WEIGHTED = "AUCWeighted"
+ #: Accuracy is the ratio of predictions that exactly match the true class labels.
+ ACCURACY = "Accuracy"
+ #: Normalized macro recall is recall macro-averaged and normalized, so that random
+ #: performance has a score of 0, and perfect performance has a score of 1.
+ NORM_MACRO_RECALL = "NormMacroRecall"
+ #: The arithmetic mean of the average precision score for each class, weighted by
+ #: the number of true instances in each class.
+ AVERAGE_PRECISION_SCORE_WEIGHTED = "AveragePrecisionScoreWeighted"
+ #: The arithmetic mean of precision for each class, weighted by number of true instances in each
+ #: class.
+ PRECISION_SCORE_WEIGHTED = "PrecisionScoreWeighted"
+
+class ClusterPurpose(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Intended usage of the cluster
+ """
+
+ FAST_PROD = "FastProd"
+ DENSE_PROD = "DenseProd"
+ DEV_TEST = "DevTest"
+
+class ComputeInstanceAuthorizationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The Compute Instance Authorization type. Available values are personal (default).
+ """
+
+ PERSONAL = "personal"
+
+class ComputeInstanceState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Current state of an ComputeInstance.
+ """
+
+ CREATING = "Creating"
+ CREATE_FAILED = "CreateFailed"
+ DELETING = "Deleting"
+ RUNNING = "Running"
+ RESTARTING = "Restarting"
+ JOB_RUNNING = "JobRunning"
+ SETTING_UP = "SettingUp"
+ SETUP_FAILED = "SetupFailed"
+ STARTING = "Starting"
+ STOPPED = "Stopped"
+ STOPPING = "Stopping"
+ USER_SETTING_UP = "UserSettingUp"
+ USER_SETUP_FAILED = "UserSetupFailed"
+ UNKNOWN = "Unknown"
+ UNUSABLE = "Unusable"
+
+class ComputePowerAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The compute power action.
+ """
+
+ START = "Start"
+ STOP = "Stop"
+
+class ComputeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of compute
+ """
+
+ AKS = "AKS"
+ KUBERNETES = "Kubernetes"
+ AML_COMPUTE = "AmlCompute"
+ COMPUTE_INSTANCE = "ComputeInstance"
+ DATA_FACTORY = "DataFactory"
+ VIRTUAL_MACHINE = "VirtualMachine"
+ HD_INSIGHT = "HDInsight"
+ DATABRICKS = "Databricks"
+ DATA_LAKE_ANALYTICS = "DataLakeAnalytics"
+ SYNAPSE_SPARK = "SynapseSpark"
+
+class ConnectionAuthType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Authentication type of the connection target
+ """
+
+ PAT = "PAT"
+ MANAGED_IDENTITY = "ManagedIdentity"
+ USERNAME_PASSWORD = "UsernamePassword"
+ NONE = "None"
+ SAS = "SAS"
+
+class ConnectionCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Category of the connection
+ """
+
+ PYTHON_FEED = "PythonFeed"
+ CONTAINER_REGISTRY = "ContainerRegistry"
+ GIT = "Git"
+
+class ContainerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ STORAGE_INITIALIZER = "StorageInitializer"
+ INFERENCE_SERVER = "InferenceServer"
+
+class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of identity that created the resource.
+ """
+
+ USER = "User"
+ APPLICATION = "Application"
+ MANAGED_IDENTITY = "ManagedIdentity"
+ KEY = "Key"
+
+class CredentialsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the datastore credentials type.
+ """
+
+ ACCOUNT_KEY = "AccountKey"
+ CERTIFICATE = "Certificate"
+ NONE = "None"
+ SAS = "Sas"
+ SERVICE_PRINCIPAL = "ServicePrincipal"
+
+class DatastoreType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the datastore contents type.
+ """
+
+ AZURE_BLOB = "AzureBlob"
+ AZURE_DATA_LAKE_GEN1 = "AzureDataLakeGen1"
+ AZURE_DATA_LAKE_GEN2 = "AzureDataLakeGen2"
+ AZURE_FILE = "AzureFile"
+
+class DataType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the type of data.
+ """
+
+ URI_FILE = "uri_file"
+ URI_FOLDER = "uri_folder"
+ MLTABLE = "mltable"
+
+class DeploymentProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Possible values for DeploymentProvisioningState.
+ """
+
+ CREATING = "Creating"
+ DELETING = "Deleting"
+ SCALING = "Scaling"
+ UPDATING = "Updating"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+
+class DiagnoseResultLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Level of workspace setup error
+ """
+
+ WARNING = "Warning"
+ ERROR = "Error"
+ INFORMATION = "Information"
+
+class DistributionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the job distribution type.
+ """
+
+ PY_TORCH = "PyTorch"
+ TENSOR_FLOW = "TensorFlow"
+ MPI = "Mpi"
+
+class EarlyTerminationPolicyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ BANDIT = "Bandit"
+ MEDIAN_STOPPING = "MedianStopping"
+ TRUNCATION_SELECTION = "TruncationSelection"
+
+class EgressPublicNetworkAccessType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine whether PublicNetworkAccess is Enabled or Disabled for egress of a
+ deployment.
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+class EncryptionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Indicates whether or not the encryption is enabled for the workspace.
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+class EndpointAuthMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine endpoint authentication mode.
+ """
+
+ AML_TOKEN = "AMLToken"
+ KEY = "Key"
+ AAD_TOKEN = "AADToken"
+
+class EndpointComputeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine endpoint compute type.
+ """
+
+ MANAGED = "Managed"
+ KUBERNETES = "Kubernetes"
+ AZURE_ML_COMPUTE = "AzureMLCompute"
+
+class EndpointProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """State of endpoint provisioning.
+ """
+
+ CREATING = "Creating"
+ DELETING = "Deleting"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ UPDATING = "Updating"
+ CANCELED = "Canceled"
+
+class EnvironmentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Environment type is either user created or curated by Azure ML service
+ """
+
+ CURATED = "Curated"
+ USER_CREATED = "UserCreated"
+
+class FeatureLags(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Flag for generating lags for the numeric features.
+ """
+
+ #: No feature lags generated.
+ NONE = "None"
+ #: System auto-generates feature lags.
+ AUTO = "Auto"
+
+class FeaturizationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Featurization mode - determines data featurization mode.
+ """
+
+ #: Auto mode, system performs featurization without any custom featurization inputs.
+ AUTO = "Auto"
+ #: Custom featurization.
+ CUSTOM = "Custom"
+ #: Featurization off. 'Forecasting' task cannot use this value.
+ OFF = "Off"
+
+class ForecastHorizonMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine forecast horizon selection mode.
+ """
+
+ #: Forecast horizon to be determined automatically.
+ AUTO = "Auto"
+ #: Use the custom forecast horizon.
+ CUSTOM = "Custom"
+
+class ForecastingModels(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum for all forecasting models supported by AutoML.
+ """
+
+ #: Auto-Autoregressive Integrated Moving Average (ARIMA) model uses time-series data and
+ #: statistical analysis to interpret the data and make future predictions.
+ #: This model aims to explain data by using time series data on its past values and uses linear
+ #: regression to make predictions.
+ AUTO_ARIMA = "AutoArima"
+ #: Prophet is a procedure for forecasting time series data based on an additive model where
+ #: non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects.
+ #: It works best with time series that have strong seasonal effects and several seasons of
+ #: historical data. Prophet is robust to missing data and shifts in the trend, and typically
+ #: handles outliers well.
+ PROPHET = "Prophet"
+ #: The Naive forecasting model makes predictions by carrying forward the latest target value for
+ #: each time-series in the training data.
+ NAIVE = "Naive"
+ #: The Seasonal Naive forecasting model makes predictions by carrying forward the latest season of
+ #: target values for each time-series in the training data.
+ SEASONAL_NAIVE = "SeasonalNaive"
+ #: The Average forecasting model makes predictions by carrying forward the average of the target
+ #: values for each time-series in the training data.
+ AVERAGE = "Average"
+ #: The Seasonal Average forecasting model makes predictions by carrying forward the average value
+ #: of the latest season of data for each time-series in the training data.
+ SEASONAL_AVERAGE = "SeasonalAverage"
+ #: Exponential smoothing is a time series forecasting method for univariate data that can be
+ #: extended to support data with a systematic trend or seasonal component.
+ EXPONENTIAL_SMOOTHING = "ExponentialSmoothing"
+ #: An Autoregressive Integrated Moving Average with Explanatory Variable (ARIMAX) model can be
+ #: viewed as a multiple regression model with one or more autoregressive (AR) terms and/or one or
+ #: more moving average (MA) terms.
+ #: This method is suitable for forecasting when data is stationary/non stationary, and
+ #: multivariate with any type of data pattern, i.e., level/trend /seasonality/cyclicity.
+ ARIMAX = "Arimax"
+ #: TCNForecaster: Temporal Convolutional Networks Forecaster. //TODO: Ask forecasting team for
+ #: brief intro.
+ TCN_FORECASTER = "TCNForecaster"
+ #: Elastic net is a popular type of regularized linear regression that combines two popular
+ #: penalties, specifically the L1 and L2 penalty functions.
+ ELASTIC_NET = "ElasticNet"
+ #: The technique of transiting week learners into a strong learner is called Boosting. The
+ #: gradient boosting algorithm process works on this theory of execution.
+ GRADIENT_BOOSTING = "GradientBoosting"
+ #: Decision Trees are a non-parametric supervised learning method used for both classification and
+ #: regression tasks.
+ #: The goal is to create a model that predicts the value of a target variable by learning simple
+ #: decision rules inferred from the data features.
+ DECISION_TREE = "DecisionTree"
+ #: K-nearest neighbors (KNN) algorithm uses 'feature similarity' to predict the values of new
+ #: datapoints
+ #: which further means that the new data point will be assigned a value based on how closely it
+ #: matches the points in the training set.
+ KNN = "KNN"
+ #: Lasso model fit with Least Angle Regression a.k.a. Lars. It is a Linear Model trained with an
+ #: L1 prior as regularizer.
+ LASSO_LARS = "LassoLars"
+ #: SGD: Stochastic gradient descent is an optimization algorithm often used in machine learning
+ #: applications
+ #: to find the model parameters that correspond to the best fit between predicted and actual
+ #: outputs.
+ #: It's an inexact but powerful technique.
+ SGD = "SGD"
+ #: Random forest is a supervised learning algorithm.
+ #: The "forest"\\ it builds, is an ensemble of decision trees, usually trained with the
+ #: �bagging�\\ method.
+ #: The general idea of the bagging method is that a combination of learning models increases the
+ #: overall result.
+ RANDOM_FOREST = "RandomForest"
+ #: Extreme Trees is an ensemble machine learning algorithm that combines the predictions from many
+ #: decision trees. It is related to the widely used random forest algorithm.
+ EXTREME_RANDOM_TREES = "ExtremeRandomTrees"
+ #: LightGBM is a gradient boosting framework that uses tree based learning algorithms.
+ LIGHT_GBM = "LightGBM"
+ #: XGBoostRegressor: Extreme Gradient Boosting Regressor is a supervised machine learning model
+ #: using ensemble of base learners.
+ XG_BOOST_REGRESSOR = "XGBoostRegressor"
+
+class ForecastingPrimaryMetrics(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Primary metrics for Forecasting task.
+ """
+
+ #: The Spearman's rank coefficient of correlation is a non-parametric measure of rank correlation.
+ SPEARMAN_CORRELATION = "SpearmanCorrelation"
+ #: The Normalized Root Mean Squared Error (NRMSE) the RMSE facilitates the comparison between
+ #: models with different scales.
+ NORMALIZED_ROOT_MEAN_SQUARED_ERROR = "NormalizedRootMeanSquaredError"
+ #: The R2 score is one of the performance evaluation measures for forecasting-based machine
+ #: learning models.
+ R2_SCORE = "R2Score"
+ #: The Normalized Mean Absolute Error (NMAE) is a validation metric to compare the Mean Absolute
+ #: Error (MAE) of (time) series with different scales.
+ NORMALIZED_MEAN_ABSOLUTE_ERROR = "NormalizedMeanAbsoluteError"
+
+class Goal(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Defines supported metric goals for hyperparameter tuning
+ """
+
+ MINIMIZE = "Minimize"
+ MAXIMIZE = "Maximize"
+
+class IdentityConfigurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine identity framework.
+ """
+
+ MANAGED = "Managed"
+ AML_TOKEN = "AMLToken"
+ USER_IDENTITY = "UserIdentity"
+
+class InputDeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the input data delivery mode.
+ """
+
+ READ_ONLY_MOUNT = "ReadOnlyMount"
+ READ_WRITE_MOUNT = "ReadWriteMount"
+ DOWNLOAD = "Download"
+ DIRECT = "Direct"
+ EVAL_MOUNT = "EvalMount"
+ EVAL_DOWNLOAD = "EvalDownload"
+
+class InstanceSegmentationPrimaryMetrics(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Primary metrics for InstanceSegmentation tasks.
+ """
+
+ #: Mean Average Precision (MAP) is the average of AP (Average Precision).
+ #: AP is calculated for each class and averaged to get the MAP.
+ MEAN_AVERAGE_PRECISION = "MeanAveragePrecision"
+
+class JobInputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the Job Input Type.
+ """
+
+ LITERAL = "literal"
+ URI_FILE = "uri_file"
+ URI_FOLDER = "uri_folder"
+ MLTABLE = "mltable"
+ CUSTOM_MODEL = "custom_model"
+ MLFLOW_MODEL = "mlflow_model"
+ TRITON_MODEL = "triton_model"
+
+class JobLimitsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ COMMAND = "Command"
+ SWEEP = "Sweep"
+
+class JobOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the Job Output Type.
+ """
+
+ URI_FILE = "uri_file"
+ URI_FOLDER = "uri_folder"
+ MLTABLE = "mltable"
+ CUSTOM_MODEL = "custom_model"
+ MLFLOW_MODEL = "mlflow_model"
+ TRITON_MODEL = "triton_model"
+
+class JobStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The status of a job.
+ """
+
+ #: Run hasn't started yet.
+ NOT_STARTED = "NotStarted"
+ #: Run has started. The user has a run ID.
+ STARTING = "Starting"
+ #: (Not used currently) It will be used if ES is creating the compute target.
+ PROVISIONING = "Provisioning"
+ #: The run environment is being prepared.
+ PREPARING = "Preparing"
+ #: The job is queued in the compute target. For example, in BatchAI the job is in queued state,
+ #: while waiting for all required nodes to be ready.
+ QUEUED = "Queued"
+ #: The job started to run in the compute target.
+ RUNNING = "Running"
+ #: Job is completed in the target. It is in output collection state now.
+ FINALIZING = "Finalizing"
+ #: Cancellation has been requested for the job.
+ CANCEL_REQUESTED = "CancelRequested"
+ #: Job completed successfully. This reflects that both the job itself and output collection states
+ #: completed successfully.
+ COMPLETED = "Completed"
+ #: Job failed.
+ FAILED = "Failed"
+ #: Following cancellation request, the job is now successfully canceled.
+ CANCELED = "Canceled"
+ #: When heartbeat is enabled, if the run isn't updating any information to RunHistory then the run
+ #: goes to NotResponding state.
+ #: NotResponding is the only state that is exempt from strict transition orders. A run can go from
+ #: NotResponding to any of the previous states.
+ NOT_RESPONDING = "NotResponding"
+ #: The job is paused by users. Some adjustment to labeling jobs can be made only in paused state.
+ PAUSED = "Paused"
+ #: Default job status if not mapped to all other statuses.
+ UNKNOWN = "Unknown"
+
+class JobType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the type of job.
+ """
+
+ AUTO_ML = "AutoML"
+ COMMAND = "Command"
+ SWEEP = "Sweep"
+ PIPELINE = "Pipeline"
+
+class KeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ PRIMARY = "Primary"
+ SECONDARY = "Secondary"
+
+class LearningRateScheduler(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Learning rate scheduler enum.
+ """
+
+ #: No learning rate scheduler selected.
+ NONE = "None"
+ #: Cosine Annealing With Warmup.
+ WARMUP_COSINE = "WarmupCosine"
+ #: Step learning rate scheduler.
+ STEP = "Step"
+
+class ListViewType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ ACTIVE_ONLY = "ActiveOnly"
+ ARCHIVED_ONLY = "ArchivedOnly"
+ ALL = "All"
+
+class LoadBalancerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Load Balancer Type
+ """
+
+ PUBLIC_IP = "PublicIp"
+ INTERNAL_LOAD_BALANCER = "InternalLoadBalancer"
+
+class LogVerbosity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum for setting log verbosity.
+ """
+
+ #: No logs emitted.
+ NOT_SET = "NotSet"
+ #: Debug and above log statements logged.
+ DEBUG = "Debug"
+ #: Info and above log statements logged.
+ INFO = "Info"
+ #: Warning and above log statements logged.
+ WARNING = "Warning"
+ #: Error and above log statements logged.
+ ERROR = "Error"
+ #: Only critical statements logged.
+ CRITICAL = "Critical"
+
+class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of managed service identity (where both SystemAssigned and UserAssigned types are
+ allowed).
+ """
+
+ NONE = "None"
+ SYSTEM_ASSIGNED = "SystemAssigned"
+ USER_ASSIGNED = "UserAssigned"
+ SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
+
+class ModelSize(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Image model size.
+ """
+
+ #: No value selected.
+ NONE = "None"
+ #: Small size.
+ SMALL = "Small"
+ #: Medium size.
+ MEDIUM = "Medium"
+ #: Large size.
+ LARGE = "Large"
+ #: Extra large size.
+ EXTRA_LARGE = "ExtraLarge"
+
+class MountAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Mount Action.
+ """
+
+ MOUNT = "Mount"
+ UNMOUNT = "Unmount"
+
+class MountState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Mount state.
+ """
+
+ MOUNT_REQUESTED = "MountRequested"
+ MOUNTED = "Mounted"
+ MOUNT_FAILED = "MountFailed"
+ UNMOUNT_REQUESTED = "UnmountRequested"
+ UNMOUNT_FAILED = "UnmountFailed"
+ UNMOUNTED = "Unmounted"
+
+class NCrossValidationsMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Determines how N-Cross validations value is determined.
+ """
+
+ #: Determine N-Cross validations value automatically. Supported only for 'Forecasting' AutoML
+ #: task.
+ AUTO = "Auto"
+ #: Use custom N-Cross validations value.
+ CUSTOM = "Custom"
+
+class Network(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """network of this container.
+ """
+
+ BRIDGE = "Bridge"
+ HOST = "Host"
+
+class NodeState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """State of the compute node. Values are idle, running, preparing, unusable, leaving and
+ preempted.
+ """
+
+ IDLE = "idle"
+ RUNNING = "running"
+ PREPARING = "preparing"
+ UNUSABLE = "unusable"
+ LEAVING = "leaving"
+ PREEMPTED = "preempted"
+
+class ObjectDetectionPrimaryMetrics(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Primary metrics for Image ObjectDetection task.
+ """
+
+ #: Mean Average Precision (MAP) is the average of AP (Average Precision).
+ #: AP is calculated for each class and averaged to get the MAP.
+ MEAN_AVERAGE_PRECISION = "MeanAveragePrecision"
+
+class OperatingSystemType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of operating system.
+ """
+
+ LINUX = "Linux"
+ WINDOWS = "Windows"
+
+class OperationName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Name of the last operation.
+ """
+
+ CREATE = "Create"
+ START = "Start"
+ STOP = "Stop"
+ RESTART = "Restart"
+ REIMAGE = "Reimage"
+ DELETE = "Delete"
+
+class OperationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Operation status.
+ """
+
+ IN_PROGRESS = "InProgress"
+ SUCCEEDED = "Succeeded"
+ CREATE_FAILED = "CreateFailed"
+ START_FAILED = "StartFailed"
+ STOP_FAILED = "StopFailed"
+ RESTART_FAILED = "RestartFailed"
+ REIMAGE_FAILED = "ReimageFailed"
+ DELETE_FAILED = "DeleteFailed"
+
+class OperationTrigger(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Trigger of operation.
+ """
+
+ USER = "User"
+ SCHEDULE = "Schedule"
+ IDLE_SHUTDOWN = "IdleShutdown"
+
+class OrderString(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ CREATED_AT_DESC = "CreatedAtDesc"
+ CREATED_AT_ASC = "CreatedAtAsc"
+ UPDATED_AT_DESC = "UpdatedAtDesc"
+ UPDATED_AT_ASC = "UpdatedAtAsc"
+
+class OsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Compute OS Type
+ """
+
+ LINUX = "Linux"
+ WINDOWS = "Windows"
+
+class OutputDeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Output data delivery mode enums.
+ """
+
+ READ_WRITE_MOUNT = "ReadWriteMount"
+ UPLOAD = "Upload"
+
+class PrivateEndpointConnectionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The current provisioning state.
+ """
+
+ SUCCEEDED = "Succeeded"
+ CREATING = "Creating"
+ DELETING = "Deleting"
+ FAILED = "Failed"
+
+class PrivateEndpointServiceConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The private endpoint connection status.
+ """
+
+ PENDING = "Pending"
+ APPROVED = "Approved"
+ REJECTED = "Rejected"
+ DISCONNECTED = "Disconnected"
+ TIMEOUT = "Timeout"
+
+class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The current deployment state of workspace resource. The provisioningState is to indicate states
+ for resource provisioning.
+ """
+
+ UNKNOWN = "Unknown"
+ UPDATING = "Updating"
+ CREATING = "Creating"
+ DELETING = "Deleting"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+
+class ProvisioningStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The current deployment state of schedule.
+ """
+
+ COMPLETED = "Completed"
+ PROVISIONING = "Provisioning"
+ FAILED = "Failed"
+
+class PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Whether requests from Public Network are allowed.
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+class PublicNetworkAccessType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine whether PublicNetworkAccess is Enabled or Disabled.
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+class QuotaUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """An enum describing the unit of quota measurement.
+ """
+
+ COUNT = "Count"
+
+class RandomSamplingAlgorithmRule(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The specific type of random algorithm
+ """
+
+ RANDOM = "Random"
+ SOBOL = "Sobol"
+
+class RecurrenceFrequency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to describe the frequency of a recurrence schedule
+ """
+
+ #: Minute frequency.
+ MINUTE = "Minute"
+ #: Hour frequency.
+ HOUR = "Hour"
+ #: Day frequency.
+ DAY = "Day"
+ #: Week frequency.
+ WEEK = "Week"
+ #: Month frequency.
+ MONTH = "Month"
+
+class ReferenceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine which reference method to use for an asset.
+ """
+
+ ID = "Id"
+ DATA_PATH = "DataPath"
+ OUTPUT_PATH = "OutputPath"
+
+class RegressionModels(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum for all Regression models supported by AutoML.
+ """
+
+ #: Elastic net is a popular type of regularized linear regression that combines two popular
+ #: penalties, specifically the L1 and L2 penalty functions.
+ ELASTIC_NET = "ElasticNet"
+ #: The technique of transiting week learners into a strong learner is called Boosting. The
+ #: gradient boosting algorithm process works on this theory of execution.
+ GRADIENT_BOOSTING = "GradientBoosting"
+ #: Decision Trees are a non-parametric supervised learning method used for both classification and
+ #: regression tasks.
+ #: The goal is to create a model that predicts the value of a target variable by learning simple
+ #: decision rules inferred from the data features.
+ DECISION_TREE = "DecisionTree"
+ #: K-nearest neighbors (KNN) algorithm uses 'feature similarity' to predict the values of new
+ #: datapoints
+ #: which further means that the new data point will be assigned a value based on how closely it
+ #: matches the points in the training set.
+ KNN = "KNN"
+ #: Lasso model fit with Least Angle Regression a.k.a. Lars. It is a Linear Model trained with an
+ #: L1 prior as regularizer.
+ LASSO_LARS = "LassoLars"
+ #: SGD: Stochastic gradient descent is an optimization algorithm often used in machine learning
+ #: applications
+ #: to find the model parameters that correspond to the best fit between predicted and actual
+ #: outputs.
+ #: It's an inexact but powerful technique.
+ SGD = "SGD"
+ #: Random forest is a supervised learning algorithm.
+ #: The "forest"\\ it builds, is an ensemble of decision trees, usually trained with the
+ #: �bagging�\\ method.
+ #: The general idea of the bagging method is that a combination of learning models increases the
+ #: overall result.
+ RANDOM_FOREST = "RandomForest"
+ #: Extreme Trees is an ensemble machine learning algorithm that combines the predictions from many
+ #: decision trees. It is related to the widely used random forest algorithm.
+ EXTREME_RANDOM_TREES = "ExtremeRandomTrees"
+ #: LightGBM is a gradient boosting framework that uses tree based learning algorithms.
+ LIGHT_GBM = "LightGBM"
+ #: XGBoostRegressor: Extreme Gradient Boosting Regressor is a supervised machine learning model
+ #: using ensemble of base learners.
+ XG_BOOST_REGRESSOR = "XGBoostRegressor"
+
+class RegressionPrimaryMetrics(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Primary metrics for Regression task.
+ """
+
+ #: The Spearman's rank coefficient of correlation is a nonparametric measure of rank correlation.
+ SPEARMAN_CORRELATION = "SpearmanCorrelation"
+ #: The Normalized Root Mean Squared Error (NRMSE) the RMSE facilitates the comparison between
+ #: models with different scales.
+ NORMALIZED_ROOT_MEAN_SQUARED_ERROR = "NormalizedRootMeanSquaredError"
+ #: The R2 score is one of the performance evaluation measures for forecasting-based machine
+ #: learning models.
+ R2_SCORE = "R2Score"
+ #: The Normalized Mean Absolute Error (NMAE) is a validation metric to compare the Mean Absolute
+ #: Error (MAE) of (time) series with different scales.
+ NORMALIZED_MEAN_ABSOLUTE_ERROR = "NormalizedMeanAbsoluteError"
+
+class RemoteLoginPortPublicAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh
+ port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is
+ open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed
+ on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be
+ default only during cluster creation time, after creation it will be either enabled or
+ disabled.
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+ NOT_SPECIFIED = "NotSpecified"
+
+class SamplingAlgorithmType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ GRID = "Grid"
+ RANDOM = "Random"
+ BAYESIAN = "Bayesian"
+
+class ScaleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ DEFAULT = "Default"
+ TARGET_UTILIZATION = "TargetUtilization"
+
+class ScheduleActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ CREATE_JOB = "CreateJob"
+ INVOKE_BATCH_ENDPOINT = "InvokeBatchEndpoint"
+
+class ScheduleListViewType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ ENABLED_ONLY = "EnabledOnly"
+ DISABLED_ONLY = "DisabledOnly"
+ ALL = "All"
+
+class ScheduleProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The current deployment state of schedule.
+ """
+
+ COMPLETED = "Completed"
+ PROVISIONING = "Provisioning"
+ FAILED = "Failed"
+
+class ScheduleProvisioningStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ CREATING = "Creating"
+ UPDATING = "Updating"
+ DELETING = "Deleting"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+
+class ScheduleStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Is the schedule enabled or disabled?
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+class SeasonalityMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Forecasting seasonality mode.
+ """
+
+ #: Seasonality to be determined automatically.
+ AUTO = "Auto"
+ #: Use the custom seasonality value.
+ CUSTOM = "Custom"
+
+class SecretsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the datastore secrets type.
+ """
+
+ ACCOUNT_KEY = "AccountKey"
+ CERTIFICATE = "Certificate"
+ SAS = "Sas"
+ SERVICE_PRINCIPAL = "ServicePrincipal"
+
+class ServiceDataAccessAuthIdentity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ #: Do not use any identity for service data access.
+ NONE = "None"
+ #: Use the system assigned managed identity of the Workspace to authenticate service data access.
+ WORKSPACE_SYSTEM_ASSIGNED_IDENTITY = "WorkspaceSystemAssignedIdentity"
+ #: Use the user assigned managed identity of the Workspace to authenticate service data access.
+ WORKSPACE_USER_ASSIGNED_IDENTITY = "WorkspaceUserAssignedIdentity"
+
+class ShortSeriesHandlingConfiguration(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The parameter defining how if AutoML should handle short time series.
+ """
+
+ #: Represents no/null value.
+ NONE = "None"
+ #: Short series will be padded if there are no long series, otherwise short series will be
+ #: dropped.
+ AUTO = "Auto"
+ #: All the short series will be padded.
+ PAD = "Pad"
+ #: All the short series will be dropped.
+ DROP = "Drop"
+
+class SkuScaleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Node scaling setting for the compute sku.
+ """
+
+ #: Automatically scales node count.
+ AUTOMATIC = "Automatic"
+ #: Node count scaled upon user request.
+ MANUAL = "Manual"
+ #: Fixed set of nodes.
+ NONE = "None"
+
+class SkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """This field is required to be implemented by the Resource Provider if the service has more than
+ one tier, but is not required on a PUT.
+ """
+
+ FREE = "Free"
+ BASIC = "Basic"
+ STANDARD = "Standard"
+ PREMIUM = "Premium"
+
+class SourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Data source type.
+ """
+
+ DATASET = "Dataset"
+ DATASTORE = "Datastore"
+ URI = "URI"
+
+class SshPublicAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh
+ port is closed on this instance. Enabled - Indicates that the public ssh port is open and
+ accessible according to the VNet/subnet policy if applicable.
+ """
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+class SslConfigStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enable or disable ssl for scoring
+ """
+
+ DISABLED = "Disabled"
+ ENABLED = "Enabled"
+ AUTO = "Auto"
+
+class StackMetaLearnerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The meta-learner is a model trained on the output of the individual heterogeneous models.
+ Default meta-learners are LogisticRegression for classification tasks (or LogisticRegressionCV
+ if cross-validation is enabled) and ElasticNet for regression/forecasting tasks (or
+ ElasticNetCV if cross-validation is enabled).
+ This parameter can be one of the following strings: LogisticRegression, LogisticRegressionCV,
+ LightGBMClassifier, ElasticNet, ElasticNetCV, LightGBMRegressor, or LinearRegression
+ """
+
+ NONE = "None"
+ #: Default meta-learners are LogisticRegression for classification tasks.
+ LOGISTIC_REGRESSION = "LogisticRegression"
+ #: Default meta-learners are LogisticRegression for classification task when CV is on.
+ LOGISTIC_REGRESSION_CV = "LogisticRegressionCV"
+ LIGHT_GBM_CLASSIFIER = "LightGBMClassifier"
+ #: Default meta-learners are LogisticRegression for regression task.
+ ELASTIC_NET = "ElasticNet"
+ #: Default meta-learners are LogisticRegression for regression task when CV is on.
+ ELASTIC_NET_CV = "ElasticNetCV"
+ LIGHT_GBM_REGRESSOR = "LightGBMRegressor"
+ LINEAR_REGRESSION = "LinearRegression"
+
+class Status(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Status of update workspace quota.
+ """
+
+ UNDEFINED = "Undefined"
+ SUCCESS = "Success"
+ FAILURE = "Failure"
+ INVALID_QUOTA_BELOW_CLUSTER_MINIMUM = "InvalidQuotaBelowClusterMinimum"
+ INVALID_QUOTA_EXCEEDS_SUBSCRIPTION_LIMIT = "InvalidQuotaExceedsSubscriptionLimit"
+ INVALID_VM_FAMILY_NAME = "InvalidVMFamilyName"
+ OPERATION_NOT_SUPPORTED_FOR_SKU = "OperationNotSupportedForSku"
+ OPERATION_NOT_ENABLED_FOR_REGION = "OperationNotEnabledForRegion"
+
+class StochasticOptimizer(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Stochastic optimizer for image models.
+ """
+
+ #: No optimizer selected.
+ NONE = "None"
+ #: Stochastic Gradient Descent optimizer.
+ SGD = "Sgd"
+ #: Adam is algorithm the optimizes stochastic objective functions based on adaptive estimates of
+ #: moments.
+ ADAM = "Adam"
+ #: AdamW is a variant of the optimizer Adam that has an improved implementation of weight decay.
+ ADAMW = "Adamw"
+
+class StorageAccountType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """type of this storage account.
+ """
+
+ STANDARD_LRS = "Standard_LRS"
+ PREMIUM_LRS = "Premium_LRS"
+
+class TargetAggregationFunction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Target aggregate function.
+ """
+
+ #: Represent no value set.
+ NONE = "None"
+ SUM = "Sum"
+ MAX = "Max"
+ MIN = "Min"
+ MEAN = "Mean"
+
+class TargetLagsMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Target lags selection modes.
+ """
+
+ #: Target lags to be determined automatically.
+ AUTO = "Auto"
+ #: Use the custom target lags.
+ CUSTOM = "Custom"
+
+class TargetRollingWindowSizeMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Target rolling windows size mode.
+ """
+
+ #: Determine rolling windows size automatically.
+ AUTO = "Auto"
+ #: Use the specified rolling window size.
+ CUSTOM = "Custom"
+
+class TaskType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """AutoMLJob Task type.
+ """
+
+ #: Classification in machine learning and statistics is a supervised learning approach in which
+ #: the computer program learns from the data given to it and make new observations or
+ #: classifications.
+ CLASSIFICATION = "Classification"
+ #: Regression means to predict the value using the input data. Regression models are used to
+ #: predict a continuous value.
+ REGRESSION = "Regression"
+ #: Forecasting is a special kind of regression task that deals with time-series data and creates
+ #: forecasting model
+ #: that can be used to predict the near future values based on the inputs.
+ FORECASTING = "Forecasting"
+ #: Image Classification. Multi-class image classification is used when an image is classified with
+ #: only a single label
+ #: from a set of classes - e.g. each image is classified as either an image of a 'cat' or a 'dog'
+ #: or a 'duck'.
+ IMAGE_CLASSIFICATION = "ImageClassification"
+ #: Image Classification Multilabel. Multi-label image classification is used when an image could
+ #: have one or more labels
+ #: from a set of labels - e.g. an image could be labeled with both 'cat' and 'dog'.
+ IMAGE_CLASSIFICATION_MULTILABEL = "ImageClassificationMultilabel"
+ #: Image Object Detection. Object detection is used to identify objects in an image and locate
+ #: each object with a
+ #: bounding box e.g. locate all dogs and cats in an image and draw a bounding box around each.
+ IMAGE_OBJECT_DETECTION = "ImageObjectDetection"
+ #: Image Instance Segmentation. Instance segmentation is used to identify objects in an image at
+ #: the pixel level,
+ #: drawing a polygon around each object in the image.
+ IMAGE_INSTANCE_SEGMENTATION = "ImageInstanceSegmentation"
+ #: Text classification (also known as text tagging or text categorization) is the process of
+ #: sorting texts into categories.
+ #: Categories are mutually exclusive.
+ TEXT_CLASSIFICATION = "TextClassification"
+ #: Multilabel classification task assigns each sample to a group (zero or more) of target labels.
+ TEXT_CLASSIFICATION_MULTILABEL = "TextClassificationMultilabel"
+ #: Text Named Entity Recognition a.k.a. TextNER.
+ #: Named Entity Recognition (NER) is the ability to take free-form text and identify the
+ #: occurrences of entities such as people, locations, organizations, and more.
+ TEXT_NER = "TextNER"
+
+class TriggerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ RECURRENCE = "Recurrence"
+ CRON = "Cron"
+
+class UnderlyingResourceAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+
+ DELETE = "Delete"
+ DETACH = "Detach"
+
+class UnitOfMeasure(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The unit of time measurement for the specified VM price. Example: OneHour
+ """
+
+ ONE_HOUR = "OneHour"
+
+class UsageUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """An enum describing the unit of usage measurement.
+ """
+
+ COUNT = "Count"
+
+class UseStl(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Configure STL Decomposition of the time-series target column.
+ """
+
+ #: No stl decomposition.
+ NONE = "None"
+ SEASON = "Season"
+ SEASON_TREND = "SeasonTrend"
+
+class ValidationMetricType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Metric computation method to use for validation metrics in image tasks.
+ """
+
+ #: No metric.
+ NONE = "None"
+ #: Coco metric.
+ COCO = "Coco"
+ #: Voc metric.
+ VOC = "Voc"
+ #: CocoVoc metric.
+ COCO_VOC = "CocoVoc"
+
+class ValueFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """format for the workspace connection value
+ """
+
+ JSON = "JSON"
+
+class VMPriceOSType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Operating system type used by the VM.
+ """
+
+ LINUX = "Linux"
+ WINDOWS = "Windows"
+
+class VmPriority(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Virtual Machine priority
+ """
+
+ DEDICATED = "Dedicated"
+ LOW_PRIORITY = "LowPriority"
+
+class VMTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The type of the VM.
+ """
+
+ STANDARD = "Standard"
+ LOW_PRIORITY = "LowPriority"
+ SPOT = "Spot"
+
+class WeekDay(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum of weekday
+ """
+
+ #: Monday weekday.
+ MONDAY = "Monday"
+ #: Tuesday weekday.
+ TUESDAY = "Tuesday"
+ #: Wednesday weekday.
+ WEDNESDAY = "Wednesday"
+ #: Thursday weekday.
+ THURSDAY = "Thursday"
+ #: Friday weekday.
+ FRIDAY = "Friday"
+ #: Saturday weekday.
+ SATURDAY = "Saturday"
+ #: Sunday weekday.
+ SUNDAY = "Sunday"
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models.py
new file mode 100644
index 00000000..fd44c8cb
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models.py
@@ -0,0 +1,19694 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from azure.core.exceptions import HttpResponseError
+import msrest.serialization
+
+
+class DatastoreCredentials(msrest.serialization.Model):
+ """Base definition for datastore credentials.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AccountKeyDatastoreCredentials, CertificateDatastoreCredentials, NoneDatastoreCredentials, SasDatastoreCredentials, ServicePrincipalDatastoreCredentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'credentials_type': {'AccountKey': 'AccountKeyDatastoreCredentials', 'Certificate': 'CertificateDatastoreCredentials', 'None': 'NoneDatastoreCredentials', 'Sas': 'SasDatastoreCredentials', 'ServicePrincipal': 'ServicePrincipalDatastoreCredentials'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = None # type: Optional[str]
+
+
+class AccountKeyDatastoreCredentials(DatastoreCredentials):
+ """Account key datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar secrets: Required. [Required] Storage account secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.AccountKeyDatastoreSecrets
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'secrets': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'AccountKeyDatastoreSecrets'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword secrets: Required. [Required] Storage account secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.AccountKeyDatastoreSecrets
+ """
+ super(AccountKeyDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'AccountKey' # type: str
+ self.secrets = kwargs['secrets']
+
+
+class DatastoreSecrets(msrest.serialization.Model):
+ """Base definition for datastore secrets.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AccountKeyDatastoreSecrets, CertificateDatastoreSecrets, SasDatastoreSecrets, ServicePrincipalDatastoreSecrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'secrets_type': {'AccountKey': 'AccountKeyDatastoreSecrets', 'Certificate': 'CertificateDatastoreSecrets', 'Sas': 'SasDatastoreSecrets', 'ServicePrincipal': 'ServicePrincipalDatastoreSecrets'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = None # type: Optional[str]
+
+
+class AccountKeyDatastoreSecrets(DatastoreSecrets):
+ """Datastore account key secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar key: Storage account key.
+ :vartype key: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'key': {'key': 'key', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword key: Storage account key.
+ :paramtype key: str
+ """
+ super(AccountKeyDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'AccountKey' # type: str
+ self.key = kwargs.get('key', None)
+
+
+class AKSSchema(msrest.serialization.Model):
+ """AKSSchema.
+
+ :ivar properties: AKS properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AKSSchemaProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: AKS properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ """
+ super(AKSSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class Compute(msrest.serialization.Model):
+ """Machine Learning compute object.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AKS, AmlCompute, ComputeInstance, DataFactory, DataLakeAnalytics, Databricks, HDInsight, Kubernetes, SynapseSpark, VirtualMachine.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ _subtype_map = {
+ 'compute_type': {'AKS': 'AKS', 'AmlCompute': 'AmlCompute', 'ComputeInstance': 'ComputeInstance', 'DataFactory': 'DataFactory', 'DataLakeAnalytics': 'DataLakeAnalytics', 'Databricks': 'Databricks', 'HDInsight': 'HDInsight', 'Kubernetes': 'Kubernetes', 'SynapseSpark': 'SynapseSpark', 'VirtualMachine': 'VirtualMachine'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(Compute, self).__init__(**kwargs)
+ self.compute_type = None # type: Optional[str]
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class AKS(Compute, AKSSchema):
+ """A Machine Learning compute based on AKS.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: AKS properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AKSSchemaProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: AKS properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(AKS, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'AKS' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class AksComputeSecretsProperties(msrest.serialization.Model):
+ """Properties of AksComputeSecrets.
+
+ :ivar user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype user_kube_config: str
+ :ivar admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype admin_kube_config: str
+ :ivar image_pull_secret_name: Image registry pull secret.
+ :vartype image_pull_secret_name: str
+ """
+
+ _attribute_map = {
+ 'user_kube_config': {'key': 'userKubeConfig', 'type': 'str'},
+ 'admin_kube_config': {'key': 'adminKubeConfig', 'type': 'str'},
+ 'image_pull_secret_name': {'key': 'imagePullSecretName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype user_kube_config: str
+ :keyword admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype admin_kube_config: str
+ :keyword image_pull_secret_name: Image registry pull secret.
+ :paramtype image_pull_secret_name: str
+ """
+ super(AksComputeSecretsProperties, self).__init__(**kwargs)
+ self.user_kube_config = kwargs.get('user_kube_config', None)
+ self.admin_kube_config = kwargs.get('admin_kube_config', None)
+ self.image_pull_secret_name = kwargs.get('image_pull_secret_name', None)
+
+
+class ComputeSecrets(msrest.serialization.Model):
+ """Secrets related to a Machine Learning compute. Might differ for every type of compute.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AksComputeSecrets, DatabricksComputeSecrets, VirtualMachineSecrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'compute_type': {'AKS': 'AksComputeSecrets', 'Databricks': 'DatabricksComputeSecrets', 'VirtualMachine': 'VirtualMachineSecrets'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ComputeSecrets, self).__init__(**kwargs)
+ self.compute_type = None # type: Optional[str]
+
+
+class AksComputeSecrets(ComputeSecrets, AksComputeSecretsProperties):
+ """Secrets related to a Machine Learning compute based on AKS.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype user_kube_config: str
+ :ivar admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype admin_kube_config: str
+ :ivar image_pull_secret_name: Image registry pull secret.
+ :vartype image_pull_secret_name: str
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'user_kube_config': {'key': 'userKubeConfig', 'type': 'str'},
+ 'admin_kube_config': {'key': 'adminKubeConfig', 'type': 'str'},
+ 'image_pull_secret_name': {'key': 'imagePullSecretName', 'type': 'str'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype user_kube_config: str
+ :keyword admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype admin_kube_config: str
+ :keyword image_pull_secret_name: Image registry pull secret.
+ :paramtype image_pull_secret_name: str
+ """
+ super(AksComputeSecrets, self).__init__(**kwargs)
+ self.user_kube_config = kwargs.get('user_kube_config', None)
+ self.admin_kube_config = kwargs.get('admin_kube_config', None)
+ self.image_pull_secret_name = kwargs.get('image_pull_secret_name', None)
+ self.compute_type = 'AKS' # type: str
+
+
+class AksNetworkingConfiguration(msrest.serialization.Model):
+ """Advance configuration for AKS networking.
+
+ :ivar subnet_id: Virtual network subnet resource ID the compute nodes belong to.
+ :vartype subnet_id: str
+ :ivar service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must
+ not overlap with any Subnet IP ranges.
+ :vartype service_cidr: str
+ :ivar dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within
+ the Kubernetes service address range specified in serviceCidr.
+ :vartype dns_service_ip: str
+ :ivar docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It
+ must not overlap with any Subnet IP ranges or the Kubernetes service address range.
+ :vartype docker_bridge_cidr: str
+ """
+
+ _validation = {
+ 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'},
+ 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'},
+ 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'},
+ }
+
+ _attribute_map = {
+ 'subnet_id': {'key': 'subnetId', 'type': 'str'},
+ 'service_cidr': {'key': 'serviceCidr', 'type': 'str'},
+ 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'},
+ 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword subnet_id: Virtual network subnet resource ID the compute nodes belong to.
+ :paramtype subnet_id: str
+ :keyword service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It
+ must not overlap with any Subnet IP ranges.
+ :paramtype service_cidr: str
+ :keyword dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be
+ within the Kubernetes service address range specified in serviceCidr.
+ :paramtype dns_service_ip: str
+ :keyword docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It
+ must not overlap with any Subnet IP ranges or the Kubernetes service address range.
+ :paramtype docker_bridge_cidr: str
+ """
+ super(AksNetworkingConfiguration, self).__init__(**kwargs)
+ self.subnet_id = kwargs.get('subnet_id', None)
+ self.service_cidr = kwargs.get('service_cidr', None)
+ self.dns_service_ip = kwargs.get('dns_service_ip', None)
+ self.docker_bridge_cidr = kwargs.get('docker_bridge_cidr', None)
+
+
+class AKSSchemaProperties(msrest.serialization.Model):
+ """AKS properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar cluster_fqdn: Cluster full qualified domain name.
+ :vartype cluster_fqdn: str
+ :ivar system_services: System services.
+ :vartype system_services: list[~azure.mgmt.machinelearningservices.models.SystemService]
+ :ivar agent_count: Number of agents.
+ :vartype agent_count: int
+ :ivar agent_vm_size: Agent virtual machine size.
+ :vartype agent_vm_size: str
+ :ivar cluster_purpose: Intended usage of the cluster. Possible values include: "FastProd",
+ "DenseProd", "DevTest". Default value: "FastProd".
+ :vartype cluster_purpose: str or ~azure.mgmt.machinelearningservices.models.ClusterPurpose
+ :ivar ssl_configuration: SSL configuration.
+ :vartype ssl_configuration: ~azure.mgmt.machinelearningservices.models.SslConfiguration
+ :ivar aks_networking_configuration: AKS networking configuration for vnet.
+ :vartype aks_networking_configuration:
+ ~azure.mgmt.machinelearningservices.models.AksNetworkingConfiguration
+ :ivar load_balancer_type: Load Balancer Type. Possible values include: "PublicIp",
+ "InternalLoadBalancer". Default value: "PublicIp".
+ :vartype load_balancer_type: str or ~azure.mgmt.machinelearningservices.models.LoadBalancerType
+ :ivar load_balancer_subnet: Load Balancer Subnet.
+ :vartype load_balancer_subnet: str
+ """
+
+ _validation = {
+ 'system_services': {'readonly': True},
+ 'agent_count': {'minimum': 0},
+ }
+
+ _attribute_map = {
+ 'cluster_fqdn': {'key': 'clusterFqdn', 'type': 'str'},
+ 'system_services': {'key': 'systemServices', 'type': '[SystemService]'},
+ 'agent_count': {'key': 'agentCount', 'type': 'int'},
+ 'agent_vm_size': {'key': 'agentVmSize', 'type': 'str'},
+ 'cluster_purpose': {'key': 'clusterPurpose', 'type': 'str'},
+ 'ssl_configuration': {'key': 'sslConfiguration', 'type': 'SslConfiguration'},
+ 'aks_networking_configuration': {'key': 'aksNetworkingConfiguration', 'type': 'AksNetworkingConfiguration'},
+ 'load_balancer_type': {'key': 'loadBalancerType', 'type': 'str'},
+ 'load_balancer_subnet': {'key': 'loadBalancerSubnet', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cluster_fqdn: Cluster full qualified domain name.
+ :paramtype cluster_fqdn: str
+ :keyword agent_count: Number of agents.
+ :paramtype agent_count: int
+ :keyword agent_vm_size: Agent virtual machine size.
+ :paramtype agent_vm_size: str
+ :keyword cluster_purpose: Intended usage of the cluster. Possible values include: "FastProd",
+ "DenseProd", "DevTest". Default value: "FastProd".
+ :paramtype cluster_purpose: str or ~azure.mgmt.machinelearningservices.models.ClusterPurpose
+ :keyword ssl_configuration: SSL configuration.
+ :paramtype ssl_configuration: ~azure.mgmt.machinelearningservices.models.SslConfiguration
+ :keyword aks_networking_configuration: AKS networking configuration for vnet.
+ :paramtype aks_networking_configuration:
+ ~azure.mgmt.machinelearningservices.models.AksNetworkingConfiguration
+ :keyword load_balancer_type: Load Balancer Type. Possible values include: "PublicIp",
+ "InternalLoadBalancer". Default value: "PublicIp".
+ :paramtype load_balancer_type: str or
+ ~azure.mgmt.machinelearningservices.models.LoadBalancerType
+ :keyword load_balancer_subnet: Load Balancer Subnet.
+ :paramtype load_balancer_subnet: str
+ """
+ super(AKSSchemaProperties, self).__init__(**kwargs)
+ self.cluster_fqdn = kwargs.get('cluster_fqdn', None)
+ self.system_services = None
+ self.agent_count = kwargs.get('agent_count', None)
+ self.agent_vm_size = kwargs.get('agent_vm_size', None)
+ self.cluster_purpose = kwargs.get('cluster_purpose', "FastProd")
+ self.ssl_configuration = kwargs.get('ssl_configuration', None)
+ self.aks_networking_configuration = kwargs.get('aks_networking_configuration', None)
+ self.load_balancer_type = kwargs.get('load_balancer_type', "PublicIp")
+ self.load_balancer_subnet = kwargs.get('load_balancer_subnet', None)
+
+
+class AmlComputeSchema(msrest.serialization.Model):
+ """Properties(top level) of AmlCompute.
+
+ :ivar properties: Properties of AmlCompute.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AmlComputeProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of AmlCompute.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ """
+ super(AmlComputeSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class AmlCompute(Compute, AmlComputeSchema):
+ """An Azure Machine Learning compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of AmlCompute.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AmlComputeProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of AmlCompute.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(AmlCompute, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'AmlCompute' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class AmlComputeNodeInformation(msrest.serialization.Model):
+ """Compute node information related to a AmlCompute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar node_id: ID of the compute node.
+ :vartype node_id: str
+ :ivar private_ip_address: Private IP address of the compute node.
+ :vartype private_ip_address: str
+ :ivar public_ip_address: Public IP address of the compute node.
+ :vartype public_ip_address: str
+ :ivar port: SSH port number of the node.
+ :vartype port: int
+ :ivar node_state: State of the compute node. Values are idle, running, preparing, unusable,
+ leaving and preempted. Possible values include: "idle", "running", "preparing", "unusable",
+ "leaving", "preempted".
+ :vartype node_state: str or ~azure.mgmt.machinelearningservices.models.NodeState
+ :ivar run_id: ID of the Experiment running on the node, if any else null.
+ :vartype run_id: str
+ """
+
+ _validation = {
+ 'node_id': {'readonly': True},
+ 'private_ip_address': {'readonly': True},
+ 'public_ip_address': {'readonly': True},
+ 'port': {'readonly': True},
+ 'node_state': {'readonly': True},
+ 'run_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'node_id': {'key': 'nodeId', 'type': 'str'},
+ 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'},
+ 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'},
+ 'port': {'key': 'port', 'type': 'int'},
+ 'node_state': {'key': 'nodeState', 'type': 'str'},
+ 'run_id': {'key': 'runId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AmlComputeNodeInformation, self).__init__(**kwargs)
+ self.node_id = None
+ self.private_ip_address = None
+ self.public_ip_address = None
+ self.port = None
+ self.node_state = None
+ self.run_id = None
+
+
+class AmlComputeNodesInformation(msrest.serialization.Model):
+ """Result of AmlCompute Nodes.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar nodes: The collection of returned AmlCompute nodes details.
+ :vartype nodes: list[~azure.mgmt.machinelearningservices.models.AmlComputeNodeInformation]
+ :ivar next_link: The continuation token.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'nodes': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'nodes': {'key': 'nodes', 'type': '[AmlComputeNodeInformation]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AmlComputeNodesInformation, self).__init__(**kwargs)
+ self.nodes = None
+ self.next_link = None
+
+
+class AmlComputeProperties(msrest.serialization.Model):
+ """AML Compute properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar os_type: Compute OS Type. Possible values include: "Linux", "Windows". Default value:
+ "Linux".
+ :vartype os_type: str or ~azure.mgmt.machinelearningservices.models.OsType
+ :ivar vm_size: Virtual Machine Size.
+ :vartype vm_size: str
+ :ivar vm_priority: Virtual Machine priority. Possible values include: "Dedicated",
+ "LowPriority".
+ :vartype vm_priority: str or ~azure.mgmt.machinelearningservices.models.VmPriority
+ :ivar virtual_machine_image: Virtual Machine image for AML Compute - windows only.
+ :vartype virtual_machine_image: ~azure.mgmt.machinelearningservices.models.VirtualMachineImage
+ :ivar isolated_network: Network is isolated or not.
+ :vartype isolated_network: bool
+ :ivar scale_settings: Scale settings for AML Compute.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ :ivar user_account_credentials: Credentials for an administrator user account that will be
+ created on each compute node.
+ :vartype user_account_credentials:
+ ~azure.mgmt.machinelearningservices.models.UserAccountCredentials
+ :ivar subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :vartype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :ivar remote_login_port_public_access: State of the public SSH port. Possible values are:
+ Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled -
+ Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified -
+ Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined,
+ else is open all public nodes. It can be default only during cluster creation time, after
+ creation it will be either enabled or disabled. Possible values include: "Enabled", "Disabled",
+ "NotSpecified". Default value: "NotSpecified".
+ :vartype remote_login_port_public_access: str or
+ ~azure.mgmt.machinelearningservices.models.RemoteLoginPortPublicAccess
+ :ivar allocation_state: Allocation state of the compute. Possible values are: steady -
+ Indicates that the compute is not resizing. There are no changes to the number of compute nodes
+ in the compute in progress. A compute enters this state when it is created and when no
+ operations are being performed on the compute to change the number of compute nodes. resizing -
+ Indicates that the compute is resizing; that is, compute nodes are being added to or removed
+ from the compute. Possible values include: "Steady", "Resizing".
+ :vartype allocation_state: str or ~azure.mgmt.machinelearningservices.models.AllocationState
+ :ivar allocation_state_transition_time: The time at which the compute entered its current
+ allocation state.
+ :vartype allocation_state_transition_time: ~datetime.datetime
+ :ivar errors: Collection of errors encountered by various compute nodes during node setup.
+ :vartype errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar current_node_count: The number of compute nodes currently assigned to the compute.
+ :vartype current_node_count: int
+ :ivar target_node_count: The target number of compute nodes for the compute. If the
+ allocationState is resizing, this property denotes the target node count for the ongoing resize
+ operation. If the allocationState is steady, this property denotes the target node count for
+ the previous resize operation.
+ :vartype target_node_count: int
+ :ivar node_state_counts: Counts of various node states on the compute.
+ :vartype node_state_counts: ~azure.mgmt.machinelearningservices.models.NodeStateCounts
+ :ivar enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :vartype enable_node_public_ip: bool
+ :ivar property_bag: A property bag containing additional properties.
+ :vartype property_bag: any
+ """
+
+ _validation = {
+ 'allocation_state': {'readonly': True},
+ 'allocation_state_transition_time': {'readonly': True},
+ 'errors': {'readonly': True},
+ 'current_node_count': {'readonly': True},
+ 'target_node_count': {'readonly': True},
+ 'node_state_counts': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'os_type': {'key': 'osType', 'type': 'str'},
+ 'vm_size': {'key': 'vmSize', 'type': 'str'},
+ 'vm_priority': {'key': 'vmPriority', 'type': 'str'},
+ 'virtual_machine_image': {'key': 'virtualMachineImage', 'type': 'VirtualMachineImage'},
+ 'isolated_network': {'key': 'isolatedNetwork', 'type': 'bool'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'ScaleSettings'},
+ 'user_account_credentials': {'key': 'userAccountCredentials', 'type': 'UserAccountCredentials'},
+ 'subnet': {'key': 'subnet', 'type': 'ResourceId'},
+ 'remote_login_port_public_access': {'key': 'remoteLoginPortPublicAccess', 'type': 'str'},
+ 'allocation_state': {'key': 'allocationState', 'type': 'str'},
+ 'allocation_state_transition_time': {'key': 'allocationStateTransitionTime', 'type': 'iso-8601'},
+ 'errors': {'key': 'errors', 'type': '[ErrorResponse]'},
+ 'current_node_count': {'key': 'currentNodeCount', 'type': 'int'},
+ 'target_node_count': {'key': 'targetNodeCount', 'type': 'int'},
+ 'node_state_counts': {'key': 'nodeStateCounts', 'type': 'NodeStateCounts'},
+ 'enable_node_public_ip': {'key': 'enableNodePublicIp', 'type': 'bool'},
+ 'property_bag': {'key': 'propertyBag', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword os_type: Compute OS Type. Possible values include: "Linux", "Windows". Default value:
+ "Linux".
+ :paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.OsType
+ :keyword vm_size: Virtual Machine Size.
+ :paramtype vm_size: str
+ :keyword vm_priority: Virtual Machine priority. Possible values include: "Dedicated",
+ "LowPriority".
+ :paramtype vm_priority: str or ~azure.mgmt.machinelearningservices.models.VmPriority
+ :keyword virtual_machine_image: Virtual Machine image for AML Compute - windows only.
+ :paramtype virtual_machine_image:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineImage
+ :keyword isolated_network: Network is isolated or not.
+ :paramtype isolated_network: bool
+ :keyword scale_settings: Scale settings for AML Compute.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ :keyword user_account_credentials: Credentials for an administrator user account that will be
+ created on each compute node.
+ :paramtype user_account_credentials:
+ ~azure.mgmt.machinelearningservices.models.UserAccountCredentials
+ :keyword subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :paramtype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :keyword remote_login_port_public_access: State of the public SSH port. Possible values are:
+ Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled -
+ Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified -
+ Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined,
+ else is open all public nodes. It can be default only during cluster creation time, after
+ creation it will be either enabled or disabled. Possible values include: "Enabled", "Disabled",
+ "NotSpecified". Default value: "NotSpecified".
+ :paramtype remote_login_port_public_access: str or
+ ~azure.mgmt.machinelearningservices.models.RemoteLoginPortPublicAccess
+ :keyword enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :paramtype enable_node_public_ip: bool
+ :keyword property_bag: A property bag containing additional properties.
+ :paramtype property_bag: any
+ """
+ super(AmlComputeProperties, self).__init__(**kwargs)
+ self.os_type = kwargs.get('os_type', "Linux")
+ self.vm_size = kwargs.get('vm_size', None)
+ self.vm_priority = kwargs.get('vm_priority', None)
+ self.virtual_machine_image = kwargs.get('virtual_machine_image', None)
+ self.isolated_network = kwargs.get('isolated_network', None)
+ self.scale_settings = kwargs.get('scale_settings', None)
+ self.user_account_credentials = kwargs.get('user_account_credentials', None)
+ self.subnet = kwargs.get('subnet', None)
+ self.remote_login_port_public_access = kwargs.get('remote_login_port_public_access', "NotSpecified")
+ self.allocation_state = None
+ self.allocation_state_transition_time = None
+ self.errors = None
+ self.current_node_count = None
+ self.target_node_count = None
+ self.node_state_counts = None
+ self.enable_node_public_ip = kwargs.get('enable_node_public_ip', True)
+ self.property_bag = kwargs.get('property_bag', None)
+
+
+class AmlOperation(msrest.serialization.Model):
+ """Azure Machine Learning workspace REST API operation.
+
+ :ivar name: Operation name: {provider}/{resource}/{operation}.
+ :vartype name: str
+ :ivar display: Display name of operation.
+ :vartype display: ~azure.mgmt.machinelearningservices.models.AmlOperationDisplay
+ :ivar is_data_action: Indicates whether the operation applies to data-plane.
+ :vartype is_data_action: bool
+ """
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'display': {'key': 'display', 'type': 'AmlOperationDisplay'},
+ 'is_data_action': {'key': 'isDataAction', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword name: Operation name: {provider}/{resource}/{operation}.
+ :paramtype name: str
+ :keyword display: Display name of operation.
+ :paramtype display: ~azure.mgmt.machinelearningservices.models.AmlOperationDisplay
+ :keyword is_data_action: Indicates whether the operation applies to data-plane.
+ :paramtype is_data_action: bool
+ """
+ super(AmlOperation, self).__init__(**kwargs)
+ self.name = kwargs.get('name', None)
+ self.display = kwargs.get('display', None)
+ self.is_data_action = kwargs.get('is_data_action', None)
+
+
+class AmlOperationDisplay(msrest.serialization.Model):
+ """Display name of operation.
+
+ :ivar provider: The resource provider name: Microsoft.MachineLearningExperimentation.
+ :vartype provider: str
+ :ivar resource: The resource on which the operation is performed.
+ :vartype resource: str
+ :ivar operation: The operation that users can perform.
+ :vartype operation: str
+ :ivar description: The description for the operation.
+ :vartype description: str
+ """
+
+ _attribute_map = {
+ 'provider': {'key': 'provider', 'type': 'str'},
+ 'resource': {'key': 'resource', 'type': 'str'},
+ 'operation': {'key': 'operation', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword provider: The resource provider name: Microsoft.MachineLearningExperimentation.
+ :paramtype provider: str
+ :keyword resource: The resource on which the operation is performed.
+ :paramtype resource: str
+ :keyword operation: The operation that users can perform.
+ :paramtype operation: str
+ :keyword description: The description for the operation.
+ :paramtype description: str
+ """
+ super(AmlOperationDisplay, self).__init__(**kwargs)
+ self.provider = kwargs.get('provider', None)
+ self.resource = kwargs.get('resource', None)
+ self.operation = kwargs.get('operation', None)
+ self.description = kwargs.get('description', None)
+
+
+class AmlOperationListResult(msrest.serialization.Model):
+ """An array of operations supported by the resource provider.
+
+ :ivar value: List of AML workspace operations supported by the AML workspace resource provider.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.AmlOperation]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[AmlOperation]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: List of AML workspace operations supported by the AML workspace resource
+ provider.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.AmlOperation]
+ """
+ super(AmlOperationListResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class IdentityConfiguration(msrest.serialization.Model):
+ """Base definition for identity configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AmlToken, ManagedIdentity, UserIdentity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'identity_type': {'AMLToken': 'AmlToken', 'Managed': 'ManagedIdentity', 'UserIdentity': 'UserIdentity'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(IdentityConfiguration, self).__init__(**kwargs)
+ self.identity_type = None # type: Optional[str]
+
+
+class AmlToken(IdentityConfiguration):
+ """AML Token identity configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AmlToken, self).__init__(**kwargs)
+ self.identity_type = 'AMLToken' # type: str
+
+
+class AmlUserFeature(msrest.serialization.Model):
+ """Features enabled for a workspace.
+
+ :ivar id: Specifies the feature ID.
+ :vartype id: str
+ :ivar display_name: Specifies the feature name.
+ :vartype display_name: str
+ :ivar description: Describes the feature for user experience.
+ :vartype description: str
+ """
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword id: Specifies the feature ID.
+ :paramtype id: str
+ :keyword display_name: Specifies the feature name.
+ :paramtype display_name: str
+ :keyword description: Describes the feature for user experience.
+ :paramtype description: str
+ """
+ super(AmlUserFeature, self).__init__(**kwargs)
+ self.id = kwargs.get('id', None)
+ self.display_name = kwargs.get('display_name', None)
+ self.description = kwargs.get('description', None)
+
+
+class ResourceBase(msrest.serialization.Model):
+ """ResourceBase.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ """
+ super(ResourceBase, self).__init__(**kwargs)
+ self.description = kwargs.get('description', None)
+ self.properties = kwargs.get('properties', None)
+ self.tags = kwargs.get('tags', None)
+
+
+class AssetBase(ResourceBase):
+ """AssetBase.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(AssetBase, self).__init__(**kwargs)
+ self.is_anonymous = kwargs.get('is_anonymous', False)
+ self.is_archived = kwargs.get('is_archived', False)
+
+
+class AssetContainer(ResourceBase):
+ """AssetContainer.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(AssetContainer, self).__init__(**kwargs)
+ self.is_archived = kwargs.get('is_archived', False)
+ self.latest_version = None
+ self.next_version = None
+
+
+class AssetJobInput(msrest.serialization.Model):
+ """Asset input type.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ """
+ super(AssetJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+
+
+class AssetJobOutput(msrest.serialization.Model):
+ """Asset output type.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ """
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ """
+ super(AssetJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+
+
+class AssetReferenceBase(msrest.serialization.Model):
+ """Base definition for asset references.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: DataPathAssetReference, IdAssetReference, OutputPathAssetReference.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'reference_type': {'DataPath': 'DataPathAssetReference', 'Id': 'IdAssetReference', 'OutputPath': 'OutputPathAssetReference'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AssetReferenceBase, self).__init__(**kwargs)
+ self.reference_type = None # type: Optional[str]
+
+
+class AssignedUser(msrest.serialization.Model):
+ """A user that can be assigned to a compute instance.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar object_id: Required. User�s AAD Object Id.
+ :vartype object_id: str
+ :ivar tenant_id: Required. User�s AAD Tenant Id.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ 'object_id': {'required': True},
+ 'tenant_id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'object_id': {'key': 'objectId', 'type': 'str'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword object_id: Required. User�s AAD Object Id.
+ :paramtype object_id: str
+ :keyword tenant_id: Required. User�s AAD Tenant Id.
+ :paramtype tenant_id: str
+ """
+ super(AssignedUser, self).__init__(**kwargs)
+ self.object_id = kwargs['object_id']
+ self.tenant_id = kwargs['tenant_id']
+
+
+class ForecastHorizon(msrest.serialization.Model):
+ """The desired maximum forecast horizon in units of time-series frequency.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoForecastHorizon, CustomForecastHorizon.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set forecast horizon value selection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.ForecastHorizonMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoForecastHorizon', 'Custom': 'CustomForecastHorizon'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ForecastHorizon, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoForecastHorizon(ForecastHorizon):
+ """Forecast horizon determined automatically by system.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set forecast horizon value selection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.ForecastHorizonMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoForecastHorizon, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class JobBaseProperties(ResourceBase):
+ """Base definition for a job.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoMLJob, CommandJob, PipelineJob, SweepJob.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'job_type': {'AutoML': 'AutoMLJob', 'Command': 'CommandJob', 'Pipeline': 'PipelineJob', 'Sweep': 'SweepJob'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ """
+ super(JobBaseProperties, self).__init__(**kwargs)
+ self.component_id = kwargs.get('component_id', None)
+ self.compute_id = kwargs.get('compute_id', None)
+ self.display_name = kwargs.get('display_name', None)
+ self.experiment_name = kwargs.get('experiment_name', "Default")
+ self.identity = kwargs.get('identity', None)
+ self.is_archived = kwargs.get('is_archived', False)
+ self.job_type = 'JobBaseProperties' # type: str
+ self.services = kwargs.get('services', None)
+ self.status = None
+
+
+class AutoMLJob(JobBaseProperties):
+ """AutoMLJob class.
+Use this class for executing AutoML tasks like Classification/Regression etc.
+See TaskType enum for all the tasks supported.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar environment_id: The ARM resource ID of the Environment specification for the job.
+ This is optional value to provide, if not provided, AutoML will default this to Production
+ AutoML curated environment version when running the job.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables included in the job.
+ :vartype environment_variables: dict[str, str]
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ :ivar task_details: Required. [Required] This represents scenario which can be one of
+ Tables/NLP/Image.
+ :vartype task_details: ~azure.mgmt.machinelearningservices.models.AutoMLVertical
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ 'task_details': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'resources': {'key': 'resources', 'type': 'JobResourceConfiguration'},
+ 'task_details': {'key': 'taskDetails', 'type': 'AutoMLVertical'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword environment_id: The ARM resource ID of the Environment specification for the job.
+ This is optional value to provide, if not provided, AutoML will default this to Production
+ AutoML curated environment version when running the job.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables included in the job.
+ :paramtype environment_variables: dict[str, str]
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ :keyword task_details: Required. [Required] This represents scenario which can be one of
+ Tables/NLP/Image.
+ :paramtype task_details: ~azure.mgmt.machinelearningservices.models.AutoMLVertical
+ """
+ super(AutoMLJob, self).__init__(**kwargs)
+ self.job_type = 'AutoML' # type: str
+ self.environment_id = kwargs.get('environment_id', None)
+ self.environment_variables = kwargs.get('environment_variables', None)
+ self.outputs = kwargs.get('outputs', None)
+ self.resources = kwargs.get('resources', None)
+ self.task_details = kwargs['task_details']
+
+
+class AutoMLVertical(msrest.serialization.Model):
+ """AutoML vertical class.
+Base class for AutoML verticals - TableVertical/ImageVertical/NLPVertical.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: Classification, Forecasting, ImageClassification, ImageClassificationMultilabel, ImageInstanceSegmentation, ImageObjectDetection, Regression, TextClassification, TextClassificationMultilabel, TextNer.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ }
+
+ _subtype_map = {
+ 'task_type': {'Classification': 'Classification', 'Forecasting': 'Forecasting', 'ImageClassification': 'ImageClassification', 'ImageClassificationMultilabel': 'ImageClassificationMultilabel', 'ImageInstanceSegmentation': 'ImageInstanceSegmentation', 'ImageObjectDetection': 'ImageObjectDetection', 'Regression': 'Regression', 'TextClassification': 'TextClassification', 'TextClassificationMultilabel': 'TextClassificationMultilabel', 'TextNER': 'TextNer'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(AutoMLVertical, self).__init__(**kwargs)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.task_type = None # type: Optional[str]
+ self.training_data = kwargs['training_data']
+
+
+class NCrossValidations(msrest.serialization.Model):
+ """N-Cross validations value.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoNCrossValidations, CustomNCrossValidations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Mode for determining N-Cross validations.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.NCrossValidationsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoNCrossValidations', 'Custom': 'CustomNCrossValidations'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NCrossValidations, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoNCrossValidations(NCrossValidations):
+ """N-Cross validations determined automatically.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Mode for determining N-Cross validations.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.NCrossValidationsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoNCrossValidations, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class AutoPauseProperties(msrest.serialization.Model):
+ """Auto pause properties.
+
+ :ivar delay_in_minutes:
+ :vartype delay_in_minutes: int
+ :ivar enabled:
+ :vartype enabled: bool
+ """
+
+ _attribute_map = {
+ 'delay_in_minutes': {'key': 'delayInMinutes', 'type': 'int'},
+ 'enabled': {'key': 'enabled', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword delay_in_minutes:
+ :paramtype delay_in_minutes: int
+ :keyword enabled:
+ :paramtype enabled: bool
+ """
+ super(AutoPauseProperties, self).__init__(**kwargs)
+ self.delay_in_minutes = kwargs.get('delay_in_minutes', None)
+ self.enabled = kwargs.get('enabled', None)
+
+
+class AutoScaleProperties(msrest.serialization.Model):
+ """Auto scale properties.
+
+ :ivar min_node_count:
+ :vartype min_node_count: int
+ :ivar enabled:
+ :vartype enabled: bool
+ :ivar max_node_count:
+ :vartype max_node_count: int
+ """
+
+ _attribute_map = {
+ 'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
+ 'enabled': {'key': 'enabled', 'type': 'bool'},
+ 'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword min_node_count:
+ :paramtype min_node_count: int
+ :keyword enabled:
+ :paramtype enabled: bool
+ :keyword max_node_count:
+ :paramtype max_node_count: int
+ """
+ super(AutoScaleProperties, self).__init__(**kwargs)
+ self.min_node_count = kwargs.get('min_node_count', None)
+ self.enabled = kwargs.get('enabled', None)
+ self.max_node_count = kwargs.get('max_node_count', None)
+
+
+class Seasonality(msrest.serialization.Model):
+ """Forecasting seasonality.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoSeasonality, CustomSeasonality.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Seasonality mode.Constant filled by server. Possible values
+ include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.SeasonalityMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoSeasonality', 'Custom': 'CustomSeasonality'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Seasonality, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoSeasonality(Seasonality):
+ """AutoSeasonality.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Seasonality mode.Constant filled by server. Possible values
+ include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.SeasonalityMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoSeasonality, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class TargetLags(msrest.serialization.Model):
+ """The number of past periods to lag from the target column.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoTargetLags, CustomTargetLags.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set target lags mode - Auto/Custom.Constant filled by server.
+ Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetLagsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoTargetLags', 'Custom': 'CustomTargetLags'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(TargetLags, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoTargetLags(TargetLags):
+ """AutoTargetLags.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set target lags mode - Auto/Custom.Constant filled by server.
+ Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetLagsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoTargetLags, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class TargetRollingWindowSize(msrest.serialization.Model):
+ """Forecasting target rolling window size.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoTargetRollingWindowSize, CustomTargetRollingWindowSize.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] TargetRollingWindowSiz detection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSizeMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoTargetRollingWindowSize', 'Custom': 'CustomTargetRollingWindowSize'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(TargetRollingWindowSize, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoTargetRollingWindowSize(TargetRollingWindowSize):
+ """Target lags rolling window determined automatically.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] TargetRollingWindowSiz detection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSizeMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoTargetRollingWindowSize, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class DatastoreProperties(ResourceBase):
+ """Base definition for datastore contents configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AzureBlobDatastore, AzureDataLakeGen1Datastore, AzureDataLakeGen2Datastore, AzureFileDatastore.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ }
+
+ _subtype_map = {
+ 'datastore_type': {'AzureBlob': 'AzureBlobDatastore', 'AzureDataLakeGen1': 'AzureDataLakeGen1Datastore', 'AzureDataLakeGen2': 'AzureDataLakeGen2Datastore', 'AzureFile': 'AzureFileDatastore'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ """
+ super(DatastoreProperties, self).__init__(**kwargs)
+ self.credentials = kwargs['credentials']
+ self.datastore_type = 'DatastoreProperties' # type: str
+ self.is_default = None
+
+
+class AzureBlobDatastore(DatastoreProperties):
+ """Azure Blob datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar account_name: Storage account name.
+ :vartype account_name: str
+ :ivar container_name: Storage account container name.
+ :vartype container_name: str
+ :ivar endpoint: Azure cloud endpoint for the storage account.
+ :vartype endpoint: str
+ :ivar protocol: Protocol used to communicate with the storage account.
+ :vartype protocol: str
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'account_name': {'key': 'accountName', 'type': 'str'},
+ 'container_name': {'key': 'containerName', 'type': 'str'},
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'protocol': {'key': 'protocol', 'type': 'str'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword account_name: Storage account name.
+ :paramtype account_name: str
+ :keyword container_name: Storage account container name.
+ :paramtype container_name: str
+ :keyword endpoint: Azure cloud endpoint for the storage account.
+ :paramtype endpoint: str
+ :keyword protocol: Protocol used to communicate with the storage account.
+ :paramtype protocol: str
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+ super(AzureBlobDatastore, self).__init__(**kwargs)
+ self.datastore_type = 'AzureBlob' # type: str
+ self.account_name = kwargs.get('account_name', None)
+ self.container_name = kwargs.get('container_name', None)
+ self.endpoint = kwargs.get('endpoint', None)
+ self.protocol = kwargs.get('protocol', None)
+ self.service_data_access_auth_identity = kwargs.get('service_data_access_auth_identity', None)
+
+
+class AzureDataLakeGen1Datastore(DatastoreProperties):
+ """Azure Data Lake Gen1 datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ :ivar store_name: Required. [Required] Azure Data Lake store name.
+ :vartype store_name: str
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ 'store_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ 'store_name': {'key': 'storeName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ :keyword store_name: Required. [Required] Azure Data Lake store name.
+ :paramtype store_name: str
+ """
+ super(AzureDataLakeGen1Datastore, self).__init__(**kwargs)
+ self.datastore_type = 'AzureDataLakeGen1' # type: str
+ self.service_data_access_auth_identity = kwargs.get('service_data_access_auth_identity', None)
+ self.store_name = kwargs['store_name']
+
+
+class AzureDataLakeGen2Datastore(DatastoreProperties):
+ """Azure Data Lake Gen2 datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar account_name: Required. [Required] Storage account name.
+ :vartype account_name: str
+ :ivar endpoint: Azure cloud endpoint for the storage account.
+ :vartype endpoint: str
+ :ivar filesystem: Required. [Required] The name of the Data Lake Gen2 filesystem.
+ :vartype filesystem: str
+ :ivar protocol: Protocol used to communicate with the storage account.
+ :vartype protocol: str
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ 'account_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'filesystem': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'account_name': {'key': 'accountName', 'type': 'str'},
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'filesystem': {'key': 'filesystem', 'type': 'str'},
+ 'protocol': {'key': 'protocol', 'type': 'str'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword account_name: Required. [Required] Storage account name.
+ :paramtype account_name: str
+ :keyword endpoint: Azure cloud endpoint for the storage account.
+ :paramtype endpoint: str
+ :keyword filesystem: Required. [Required] The name of the Data Lake Gen2 filesystem.
+ :paramtype filesystem: str
+ :keyword protocol: Protocol used to communicate with the storage account.
+ :paramtype protocol: str
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+ super(AzureDataLakeGen2Datastore, self).__init__(**kwargs)
+ self.datastore_type = 'AzureDataLakeGen2' # type: str
+ self.account_name = kwargs['account_name']
+ self.endpoint = kwargs.get('endpoint', None)
+ self.filesystem = kwargs['filesystem']
+ self.protocol = kwargs.get('protocol', None)
+ self.service_data_access_auth_identity = kwargs.get('service_data_access_auth_identity', None)
+
+
+class AzureFileDatastore(DatastoreProperties):
+ """Azure File datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar account_name: Required. [Required] Storage account name.
+ :vartype account_name: str
+ :ivar endpoint: Azure cloud endpoint for the storage account.
+ :vartype endpoint: str
+ :ivar file_share_name: Required. [Required] The name of the Azure file share that the datastore
+ points to.
+ :vartype file_share_name: str
+ :ivar protocol: Protocol used to communicate with the storage account.
+ :vartype protocol: str
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ 'account_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'file_share_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'account_name': {'key': 'accountName', 'type': 'str'},
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'file_share_name': {'key': 'fileShareName', 'type': 'str'},
+ 'protocol': {'key': 'protocol', 'type': 'str'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword account_name: Required. [Required] Storage account name.
+ :paramtype account_name: str
+ :keyword endpoint: Azure cloud endpoint for the storage account.
+ :paramtype endpoint: str
+ :keyword file_share_name: Required. [Required] The name of the Azure file share that the
+ datastore points to.
+ :paramtype file_share_name: str
+ :keyword protocol: Protocol used to communicate with the storage account.
+ :paramtype protocol: str
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+ super(AzureFileDatastore, self).__init__(**kwargs)
+ self.datastore_type = 'AzureFile' # type: str
+ self.account_name = kwargs['account_name']
+ self.endpoint = kwargs.get('endpoint', None)
+ self.file_share_name = kwargs['file_share_name']
+ self.protocol = kwargs.get('protocol', None)
+ self.service_data_access_auth_identity = kwargs.get('service_data_access_auth_identity', None)
+
+
+class EarlyTerminationPolicy(msrest.serialization.Model):
+ """Early termination policies enable canceling poor-performing runs before they complete.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'policy_type': {'Bandit': 'BanditPolicy', 'MedianStopping': 'MedianStoppingPolicy', 'TruncationSelection': 'TruncationSelectionPolicy'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ """
+ super(EarlyTerminationPolicy, self).__init__(**kwargs)
+ self.delay_evaluation = kwargs.get('delay_evaluation', 0)
+ self.evaluation_interval = kwargs.get('evaluation_interval', 0)
+ self.policy_type = None # type: Optional[str]
+
+
+class BanditPolicy(EarlyTerminationPolicy):
+ """Defines an early termination policy based on slack criteria, and a frequency and delay interval for evaluation.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ :ivar slack_amount: Absolute distance allowed from the best performing run.
+ :vartype slack_amount: float
+ :ivar slack_factor: Ratio of the allowed distance from the best performing run.
+ :vartype slack_factor: float
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ 'slack_amount': {'key': 'slackAmount', 'type': 'float'},
+ 'slack_factor': {'key': 'slackFactor', 'type': 'float'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ :keyword slack_amount: Absolute distance allowed from the best performing run.
+ :paramtype slack_amount: float
+ :keyword slack_factor: Ratio of the allowed distance from the best performing run.
+ :paramtype slack_factor: float
+ """
+ super(BanditPolicy, self).__init__(**kwargs)
+ self.policy_type = 'Bandit' # type: str
+ self.slack_amount = kwargs.get('slack_amount', 0)
+ self.slack_factor = kwargs.get('slack_factor', 0)
+
+
+class Resource(msrest.serialization.Model):
+ """Common fields that are returned in the response for all Azure Resource Manager resources.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Resource, self).__init__(**kwargs)
+ self.id = None
+ self.name = None
+ self.type = None
+ self.system_data = None
+
+
+class TrackedResource(Resource):
+ """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ """
+ super(TrackedResource, self).__init__(**kwargs)
+ self.tags = kwargs.get('tags', None)
+ self.location = kwargs['location']
+
+
+class BatchDeployment(TrackedResource):
+ """BatchDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.BatchDeploymentProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'BatchDeploymentProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.BatchDeploymentProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(BatchDeployment, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.kind = kwargs.get('kind', None)
+ self.properties = kwargs['properties']
+ self.sku = kwargs.get('sku', None)
+
+
+class EndpointDeploymentPropertiesBase(msrest.serialization.Model):
+ """Base definition for endpoint deployment.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ """
+ super(EndpointDeploymentPropertiesBase, self).__init__(**kwargs)
+ self.code_configuration = kwargs.get('code_configuration', None)
+ self.description = kwargs.get('description', None)
+ self.environment_id = kwargs.get('environment_id', None)
+ self.environment_variables = kwargs.get('environment_variables', None)
+ self.properties = kwargs.get('properties', None)
+
+
+class BatchDeploymentProperties(EndpointDeploymentPropertiesBase):
+ """Batch inference settings per deployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar compute: Compute target for batch inference operation.
+ :vartype compute: str
+ :ivar error_threshold: Error threshold, if the error count for the entire input goes above this
+ value,
+ the batch inference will be aborted. Range is [-1, int.MaxValue].
+ For FileDataset, this value is the count of file failures.
+ For TabularDataset, this value is the count of record failures.
+ If set to -1 (the lower bound), all failures during batch inference will be ignored.
+ :vartype error_threshold: int
+ :ivar logging_level: Logging level for batch inference operation. Possible values include:
+ "Info", "Warning", "Debug".
+ :vartype logging_level: str or ~azure.mgmt.machinelearningservices.models.BatchLoggingLevel
+ :ivar max_concurrency_per_instance: Indicates maximum number of parallelism per instance.
+ :vartype max_concurrency_per_instance: int
+ :ivar mini_batch_size: Size of the mini-batch passed to each batch invocation.
+ For FileDataset, this is the number of files per mini-batch.
+ For TabularDataset, this is the size of the records in bytes, per mini-batch.
+ :vartype mini_batch_size: long
+ :ivar model: Reference to the model asset for the endpoint deployment.
+ :vartype model: ~azure.mgmt.machinelearningservices.models.AssetReferenceBase
+ :ivar output_action: Indicates how the output will be organized. Possible values include:
+ "SummaryOnly", "AppendRow".
+ :vartype output_action: str or ~azure.mgmt.machinelearningservices.models.BatchOutputAction
+ :ivar output_file_name: Customized output file name for append_row output action.
+ :vartype output_file_name: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar resources: Indicates compute configuration for the job.
+ If not provided, will default to the defaults defined in ResourceConfiguration.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.DeploymentResourceConfiguration
+ :ivar retry_settings: Retry Settings for the batch inference operation.
+ If not provided, will default to the defaults defined in BatchRetrySettings.
+ :vartype retry_settings: ~azure.mgmt.machinelearningservices.models.BatchRetrySettings
+ """
+
+ _validation = {
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'compute': {'key': 'compute', 'type': 'str'},
+ 'error_threshold': {'key': 'errorThreshold', 'type': 'int'},
+ 'logging_level': {'key': 'loggingLevel', 'type': 'str'},
+ 'max_concurrency_per_instance': {'key': 'maxConcurrencyPerInstance', 'type': 'int'},
+ 'mini_batch_size': {'key': 'miniBatchSize', 'type': 'long'},
+ 'model': {'key': 'model', 'type': 'AssetReferenceBase'},
+ 'output_action': {'key': 'outputAction', 'type': 'str'},
+ 'output_file_name': {'key': 'outputFileName', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'resources': {'key': 'resources', 'type': 'DeploymentResourceConfiguration'},
+ 'retry_settings': {'key': 'retrySettings', 'type': 'BatchRetrySettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword compute: Compute target for batch inference operation.
+ :paramtype compute: str
+ :keyword error_threshold: Error threshold, if the error count for the entire input goes above
+ this value,
+ the batch inference will be aborted. Range is [-1, int.MaxValue].
+ For FileDataset, this value is the count of file failures.
+ For TabularDataset, this value is the count of record failures.
+ If set to -1 (the lower bound), all failures during batch inference will be ignored.
+ :paramtype error_threshold: int
+ :keyword logging_level: Logging level for batch inference operation. Possible values include:
+ "Info", "Warning", "Debug".
+ :paramtype logging_level: str or ~azure.mgmt.machinelearningservices.models.BatchLoggingLevel
+ :keyword max_concurrency_per_instance: Indicates maximum number of parallelism per instance.
+ :paramtype max_concurrency_per_instance: int
+ :keyword mini_batch_size: Size of the mini-batch passed to each batch invocation.
+ For FileDataset, this is the number of files per mini-batch.
+ For TabularDataset, this is the size of the records in bytes, per mini-batch.
+ :paramtype mini_batch_size: long
+ :keyword model: Reference to the model asset for the endpoint deployment.
+ :paramtype model: ~azure.mgmt.machinelearningservices.models.AssetReferenceBase
+ :keyword output_action: Indicates how the output will be organized. Possible values include:
+ "SummaryOnly", "AppendRow".
+ :paramtype output_action: str or ~azure.mgmt.machinelearningservices.models.BatchOutputAction
+ :keyword output_file_name: Customized output file name for append_row output action.
+ :paramtype output_file_name: str
+ :keyword resources: Indicates compute configuration for the job.
+ If not provided, will default to the defaults defined in ResourceConfiguration.
+ :paramtype resources:
+ ~azure.mgmt.machinelearningservices.models.DeploymentResourceConfiguration
+ :keyword retry_settings: Retry Settings for the batch inference operation.
+ If not provided, will default to the defaults defined in BatchRetrySettings.
+ :paramtype retry_settings: ~azure.mgmt.machinelearningservices.models.BatchRetrySettings
+ """
+ super(BatchDeploymentProperties, self).__init__(**kwargs)
+ self.compute = kwargs.get('compute', None)
+ self.error_threshold = kwargs.get('error_threshold', -1)
+ self.logging_level = kwargs.get('logging_level', None)
+ self.max_concurrency_per_instance = kwargs.get('max_concurrency_per_instance', 1)
+ self.mini_batch_size = kwargs.get('mini_batch_size', 10)
+ self.model = kwargs.get('model', None)
+ self.output_action = kwargs.get('output_action', None)
+ self.output_file_name = kwargs.get('output_file_name', "predictions.csv")
+ self.provisioning_state = None
+ self.resources = kwargs.get('resources', None)
+ self.retry_settings = kwargs.get('retry_settings', None)
+
+
+class BatchDeploymentTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of BatchDeployment entities.
+
+ :ivar next_link: The link to the next page of BatchDeployment objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type BatchDeployment.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[BatchDeployment]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of BatchDeployment objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type BatchDeployment.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ """
+ super(BatchDeploymentTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class BatchEndpoint(TrackedResource):
+ """BatchEndpoint.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.BatchEndpointProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'BatchEndpointProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.BatchEndpointProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(BatchEndpoint, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.kind = kwargs.get('kind', None)
+ self.properties = kwargs['properties']
+ self.sku = kwargs.get('sku', None)
+
+
+class BatchEndpointDefaults(msrest.serialization.Model):
+ """Batch endpoint default values.
+
+ :ivar deployment_name: Name of the deployment that will be default for the endpoint.
+ This deployment will end up getting 100% traffic when the endpoint scoring URL is invoked.
+ :vartype deployment_name: str
+ """
+
+ _attribute_map = {
+ 'deployment_name': {'key': 'deploymentName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword deployment_name: Name of the deployment that will be default for the endpoint.
+ This deployment will end up getting 100% traffic when the endpoint scoring URL is invoked.
+ :paramtype deployment_name: str
+ """
+ super(BatchEndpointDefaults, self).__init__(**kwargs)
+ self.deployment_name = kwargs.get('deployment_name', None)
+
+
+class EndpointPropertiesBase(msrest.serialization.Model):
+ """Inference Endpoint base definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken' for
+ Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
+ Possible values include: "AMLToken", "Key", "AADToken".
+ :vartype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :ivar description: Description of the inference endpoint.
+ :vartype description: str
+ :ivar keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :vartype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar scoring_uri: Endpoint URI.
+ :vartype scoring_uri: str
+ :ivar swagger_uri: Endpoint Swagger URI.
+ :vartype swagger_uri: str
+ """
+
+ _validation = {
+ 'auth_mode': {'required': True},
+ 'scoring_uri': {'readonly': True},
+ 'swagger_uri': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'auth_mode': {'key': 'authMode', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'keys': {'key': 'keys', 'type': 'EndpointAuthKeys'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
+ 'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken'
+ for Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken'
+ does. Possible values include: "AMLToken", "Key", "AADToken".
+ :paramtype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :keyword description: Description of the inference endpoint.
+ :paramtype description: str
+ :keyword keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :paramtype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ """
+ super(EndpointPropertiesBase, self).__init__(**kwargs)
+ self.auth_mode = kwargs['auth_mode']
+ self.description = kwargs.get('description', None)
+ self.keys = kwargs.get('keys', None)
+ self.properties = kwargs.get('properties', None)
+ self.scoring_uri = None
+ self.swagger_uri = None
+
+
+class BatchEndpointProperties(EndpointPropertiesBase):
+ """Batch endpoint configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken' for
+ Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
+ Possible values include: "AMLToken", "Key", "AADToken".
+ :vartype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :ivar description: Description of the inference endpoint.
+ :vartype description: str
+ :ivar keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :vartype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar scoring_uri: Endpoint URI.
+ :vartype scoring_uri: str
+ :ivar swagger_uri: Endpoint Swagger URI.
+ :vartype swagger_uri: str
+ :ivar defaults: Default values for Batch Endpoint.
+ :vartype defaults: ~azure.mgmt.machinelearningservices.models.BatchEndpointDefaults
+ :ivar provisioning_state: Provisioning state for the endpoint. Possible values include:
+ "Creating", "Deleting", "Succeeded", "Failed", "Updating", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointProvisioningState
+ """
+
+ _validation = {
+ 'auth_mode': {'required': True},
+ 'scoring_uri': {'readonly': True},
+ 'swagger_uri': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'auth_mode': {'key': 'authMode', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'keys': {'key': 'keys', 'type': 'EndpointAuthKeys'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
+ 'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
+ 'defaults': {'key': 'defaults', 'type': 'BatchEndpointDefaults'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken'
+ for Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken'
+ does. Possible values include: "AMLToken", "Key", "AADToken".
+ :paramtype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :keyword description: Description of the inference endpoint.
+ :paramtype description: str
+ :keyword keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :paramtype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword defaults: Default values for Batch Endpoint.
+ :paramtype defaults: ~azure.mgmt.machinelearningservices.models.BatchEndpointDefaults
+ """
+ super(BatchEndpointProperties, self).__init__(**kwargs)
+ self.defaults = kwargs.get('defaults', None)
+ self.provisioning_state = None
+
+
+class BatchEndpointTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of BatchEndpoint entities.
+
+ :ivar next_link: The link to the next page of BatchEndpoint objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type BatchEndpoint.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[BatchEndpoint]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of BatchEndpoint objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type BatchEndpoint.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ """
+ super(BatchEndpointTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class BatchRetrySettings(msrest.serialization.Model):
+ """Retry settings for a batch inference operation.
+
+ :ivar max_retries: Maximum retry count for a mini-batch.
+ :vartype max_retries: int
+ :ivar timeout: Invocation timeout for a mini-batch, in ISO 8601 format.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_retries': {'key': 'maxRetries', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword max_retries: Maximum retry count for a mini-batch.
+ :paramtype max_retries: int
+ :keyword timeout: Invocation timeout for a mini-batch, in ISO 8601 format.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(BatchRetrySettings, self).__init__(**kwargs)
+ self.max_retries = kwargs.get('max_retries', 3)
+ self.timeout = kwargs.get('timeout', "PT30S")
+
+
+class SamplingAlgorithm(msrest.serialization.Model):
+ """The Sampling Algorithm used to generate hyperparameter values, along with properties to
+configure the algorithm.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: BayesianSamplingAlgorithm, GridSamplingAlgorithm, RandomSamplingAlgorithm.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'sampling_algorithm_type': {'Bayesian': 'BayesianSamplingAlgorithm', 'Grid': 'GridSamplingAlgorithm', 'Random': 'RandomSamplingAlgorithm'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(SamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = None # type: Optional[str]
+
+
+class BayesianSamplingAlgorithm(SamplingAlgorithm):
+ """Defines a Sampling Algorithm that generates values based on previous values.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(BayesianSamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = 'Bayesian' # type: str
+
+
+class BuildContext(msrest.serialization.Model):
+ """Configuration settings for Docker build context.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar context_uri: Required. [Required] URI of the Docker build context used to build the
+ image. Supports blob URIs on environment creation and may return blob or Git URIs.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://docs.docker.com/engine/reference/commandline/build/#extended-description" />.
+ :vartype context_uri: str
+ :ivar dockerfile_path: Path to the Dockerfile in the build context.
+
+
+ .. raw:: html
+
+ <seealso href="https://docs.docker.com/engine/reference/builder/" />.
+ :vartype dockerfile_path: str
+ """
+
+ _validation = {
+ 'context_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'context_uri': {'key': 'contextUri', 'type': 'str'},
+ 'dockerfile_path': {'key': 'dockerfilePath', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword context_uri: Required. [Required] URI of the Docker build context used to build the
+ image. Supports blob URIs on environment creation and may return blob or Git URIs.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://docs.docker.com/engine/reference/commandline/build/#extended-description" />.
+ :paramtype context_uri: str
+ :keyword dockerfile_path: Path to the Dockerfile in the build context.
+
+
+ .. raw:: html
+
+ <seealso href="https://docs.docker.com/engine/reference/builder/" />.
+ :paramtype dockerfile_path: str
+ """
+ super(BuildContext, self).__init__(**kwargs)
+ self.context_uri = kwargs['context_uri']
+ self.dockerfile_path = kwargs.get('dockerfile_path', "Dockerfile")
+
+
+class CertificateDatastoreCredentials(DatastoreCredentials):
+ """Certificate datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar authority_url: Authority URL used for authentication.
+ :vartype authority_url: str
+ :ivar client_id: Required. [Required] Service principal client ID.
+ :vartype client_id: str
+ :ivar resource_url: Resource the service principal has access to.
+ :vartype resource_url: str
+ :ivar secrets: Required. [Required] Service principal secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.CertificateDatastoreSecrets
+ :ivar tenant_id: Required. [Required] ID of the tenant to which the service principal belongs.
+ :vartype tenant_id: str
+ :ivar thumbprint: Required. [Required] Thumbprint of the certificate used for authentication.
+ :vartype thumbprint: str
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'client_id': {'required': True},
+ 'secrets': {'required': True},
+ 'tenant_id': {'required': True},
+ 'thumbprint': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'authority_url': {'key': 'authorityUrl', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ 'resource_url': {'key': 'resourceUrl', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'CertificateDatastoreSecrets'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ 'thumbprint': {'key': 'thumbprint', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword authority_url: Authority URL used for authentication.
+ :paramtype authority_url: str
+ :keyword client_id: Required. [Required] Service principal client ID.
+ :paramtype client_id: str
+ :keyword resource_url: Resource the service principal has access to.
+ :paramtype resource_url: str
+ :keyword secrets: Required. [Required] Service principal secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.CertificateDatastoreSecrets
+ :keyword tenant_id: Required. [Required] ID of the tenant to which the service principal
+ belongs.
+ :paramtype tenant_id: str
+ :keyword thumbprint: Required. [Required] Thumbprint of the certificate used for
+ authentication.
+ :paramtype thumbprint: str
+ """
+ super(CertificateDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'Certificate' # type: str
+ self.authority_url = kwargs.get('authority_url', None)
+ self.client_id = kwargs['client_id']
+ self.resource_url = kwargs.get('resource_url', None)
+ self.secrets = kwargs['secrets']
+ self.tenant_id = kwargs['tenant_id']
+ self.thumbprint = kwargs['thumbprint']
+
+
+class CertificateDatastoreSecrets(DatastoreSecrets):
+ """Datastore certificate secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar certificate: Service principal certificate.
+ :vartype certificate: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'certificate': {'key': 'certificate', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword certificate: Service principal certificate.
+ :paramtype certificate: str
+ """
+ super(CertificateDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'Certificate' # type: str
+ self.certificate = kwargs.get('certificate', None)
+
+
+class TableVertical(msrest.serialization.Model):
+ """Abstract class for AutoML tasks that use table dataset as input - such as Classification/Regression/Forecasting.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ """
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ """
+ super(TableVertical, self).__init__(**kwargs)
+ self.cv_split_column_names = kwargs.get('cv_split_column_names', None)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.n_cross_validations = kwargs.get('n_cross_validations', None)
+ self.test_data = kwargs.get('test_data', None)
+ self.test_data_size = kwargs.get('test_data_size', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.weight_column_name = kwargs.get('weight_column_name', None)
+
+
+class Classification(AutoMLVertical, TableVertical):
+ """Classification task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar positive_label: Positive label for binary metrics calculation.
+ :vartype positive_label: str
+ :ivar primary_metric: Primary metric for the task. Possible values include: "AUCWeighted",
+ "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :ivar training_settings: Inputs for training phase for an AutoML Job.
+ :vartype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ClassificationTrainingSettings
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'positive_label': {'key': 'positiveLabel', 'type': 'str'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ 'training_settings': {'key': 'trainingSettings', 'type': 'ClassificationTrainingSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword positive_label: Positive label for binary metrics calculation.
+ :paramtype positive_label: str
+ :keyword primary_metric: Primary metric for the task. Possible values include: "AUCWeighted",
+ "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :keyword training_settings: Inputs for training phase for an AutoML Job.
+ :paramtype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ClassificationTrainingSettings
+ """
+ super(Classification, self).__init__(**kwargs)
+ self.cv_split_column_names = kwargs.get('cv_split_column_names', None)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.n_cross_validations = kwargs.get('n_cross_validations', None)
+ self.test_data = kwargs.get('test_data', None)
+ self.test_data_size = kwargs.get('test_data_size', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.weight_column_name = kwargs.get('weight_column_name', None)
+ self.task_type = 'Classification' # type: str
+ self.positive_label = kwargs.get('positive_label', None)
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.training_settings = kwargs.get('training_settings', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class TrainingSettings(msrest.serialization.Model):
+ """Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ """
+ super(TrainingSettings, self).__init__(**kwargs)
+ self.enable_dnn_training = kwargs.get('enable_dnn_training', False)
+ self.enable_model_explainability = kwargs.get('enable_model_explainability', True)
+ self.enable_onnx_compatible_models = kwargs.get('enable_onnx_compatible_models', False)
+ self.enable_stack_ensemble = kwargs.get('enable_stack_ensemble', True)
+ self.enable_vote_ensemble = kwargs.get('enable_vote_ensemble', True)
+ self.ensemble_model_download_timeout = kwargs.get('ensemble_model_download_timeout', "PT5M")
+ self.stack_ensemble_settings = kwargs.get('stack_ensemble_settings', None)
+
+
+class ClassificationTrainingSettings(TrainingSettings):
+ """Classification Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar allowed_training_algorithms: Allowed models for classification task.
+ :vartype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ :ivar blocked_training_algorithms: Blocked models for classification task.
+ :vartype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ 'allowed_training_algorithms': {'key': 'allowedTrainingAlgorithms', 'type': '[str]'},
+ 'blocked_training_algorithms': {'key': 'blockedTrainingAlgorithms', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword allowed_training_algorithms: Allowed models for classification task.
+ :paramtype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ :keyword blocked_training_algorithms: Blocked models for classification task.
+ :paramtype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ """
+ super(ClassificationTrainingSettings, self).__init__(**kwargs)
+ self.allowed_training_algorithms = kwargs.get('allowed_training_algorithms', None)
+ self.blocked_training_algorithms = kwargs.get('blocked_training_algorithms', None)
+
+
+class ClusterUpdateParameters(msrest.serialization.Model):
+ """AmlCompute update parameters.
+
+ :ivar properties: Properties of ClusterUpdate.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ScaleSettingsInformation
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties.properties', 'type': 'ScaleSettingsInformation'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of ClusterUpdate.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ScaleSettingsInformation
+ """
+ super(ClusterUpdateParameters, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class CodeConfiguration(msrest.serialization.Model):
+ """Configuration for a scoring code asset.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_id: ARM resource ID of the code asset.
+ :vartype code_id: str
+ :ivar scoring_script: Required. [Required] The script to execute on startup. eg. "score.py".
+ :vartype scoring_script: str
+ """
+
+ _validation = {
+ 'scoring_script': {'required': True, 'min_length': 1, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'code_id': {'key': 'codeId', 'type': 'str'},
+ 'scoring_script': {'key': 'scoringScript', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_id: ARM resource ID of the code asset.
+ :paramtype code_id: str
+ :keyword scoring_script: Required. [Required] The script to execute on startup. eg. "score.py".
+ :paramtype scoring_script: str
+ """
+ super(CodeConfiguration, self).__init__(**kwargs)
+ self.code_id = kwargs.get('code_id', None)
+ self.scoring_script = kwargs['scoring_script']
+
+
+class CodeContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.CodeContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'CodeContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.CodeContainerProperties
+ """
+ super(CodeContainer, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class CodeContainerProperties(AssetContainer):
+ """Container for code asset versions.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(CodeContainerProperties, self).__init__(**kwargs)
+
+
+class CodeContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of CodeContainer entities.
+
+ :ivar next_link: The link to the next page of CodeContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type CodeContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[CodeContainer]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of CodeContainer objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type CodeContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ """
+ super(CodeContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class CodeVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.CodeVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'CodeVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.CodeVersionProperties
+ """
+ super(CodeVersion, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class CodeVersionProperties(AssetBase):
+ """Code asset version details.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar code_uri: Uri where code is located.
+ :vartype code_uri: str
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'code_uri': {'key': 'codeUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword code_uri: Uri where code is located.
+ :paramtype code_uri: str
+ """
+ super(CodeVersionProperties, self).__init__(**kwargs)
+ self.code_uri = kwargs.get('code_uri', None)
+
+
+class CodeVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of CodeVersion entities.
+
+ :ivar next_link: The link to the next page of CodeVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type CodeVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[CodeVersion]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of CodeVersion objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type CodeVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ """
+ super(CodeVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class ColumnTransformer(msrest.serialization.Model):
+ """Column transformer parameters.
+
+ :ivar fields: Fields to apply transformer logic on.
+ :vartype fields: list[str]
+ :ivar parameters: Different properties to be passed to transformer.
+ Input expected is dictionary of key,value pairs in JSON format.
+ :vartype parameters: any
+ """
+
+ _attribute_map = {
+ 'fields': {'key': 'fields', 'type': '[str]'},
+ 'parameters': {'key': 'parameters', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword fields: Fields to apply transformer logic on.
+ :paramtype fields: list[str]
+ :keyword parameters: Different properties to be passed to transformer.
+ Input expected is dictionary of key,value pairs in JSON format.
+ :paramtype parameters: any
+ """
+ super(ColumnTransformer, self).__init__(**kwargs)
+ self.fields = kwargs.get('fields', None)
+ self.parameters = kwargs.get('parameters', None)
+
+
+class CommandJob(JobBaseProperties):
+ """Command job definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar code_id: ARM resource ID of the code asset.
+ :vartype code_id: str
+ :ivar command: Required. [Required] The command to execute on startup of the job. eg. "python
+ train.py".
+ :vartype command: str
+ :ivar distribution: Distribution configuration of the job. If set, this should be one of Mpi,
+ Tensorflow, PyTorch, or null.
+ :vartype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :ivar environment_id: Required. [Required] The ARM resource ID of the Environment specification
+ for the job.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables included in the job.
+ :vartype environment_variables: dict[str, str]
+ :ivar inputs: Mapping of input data bindings used in the job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar limits: Command Job limit.
+ :vartype limits: ~azure.mgmt.machinelearningservices.models.CommandJobLimits
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar parameters: Input parameters.
+ :vartype parameters: any
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ 'command': {'required': True, 'min_length': 1, 'pattern': r'[a-zA-Z0-9_]'},
+ 'environment_id': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'parameters': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'code_id': {'key': 'codeId', 'type': 'str'},
+ 'command': {'key': 'command', 'type': 'str'},
+ 'distribution': {'key': 'distribution', 'type': 'DistributionConfiguration'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'inputs': {'key': 'inputs', 'type': '{JobInput}'},
+ 'limits': {'key': 'limits', 'type': 'CommandJobLimits'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'parameters': {'key': 'parameters', 'type': 'object'},
+ 'resources': {'key': 'resources', 'type': 'JobResourceConfiguration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword code_id: ARM resource ID of the code asset.
+ :paramtype code_id: str
+ :keyword command: Required. [Required] The command to execute on startup of the job. eg.
+ "python train.py".
+ :paramtype command: str
+ :keyword distribution: Distribution configuration of the job. If set, this should be one of
+ Mpi, Tensorflow, PyTorch, or null.
+ :paramtype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :keyword environment_id: Required. [Required] The ARM resource ID of the Environment
+ specification for the job.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables included in the job.
+ :paramtype environment_variables: dict[str, str]
+ :keyword inputs: Mapping of input data bindings used in the job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword limits: Command Job limit.
+ :paramtype limits: ~azure.mgmt.machinelearningservices.models.CommandJobLimits
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+ super(CommandJob, self).__init__(**kwargs)
+ self.job_type = 'Command' # type: str
+ self.code_id = kwargs.get('code_id', None)
+ self.command = kwargs['command']
+ self.distribution = kwargs.get('distribution', None)
+ self.environment_id = kwargs['environment_id']
+ self.environment_variables = kwargs.get('environment_variables', None)
+ self.inputs = kwargs.get('inputs', None)
+ self.limits = kwargs.get('limits', None)
+ self.outputs = kwargs.get('outputs', None)
+ self.parameters = None
+ self.resources = kwargs.get('resources', None)
+
+
+class JobLimits(msrest.serialization.Model):
+ """JobLimits.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CommandJobLimits, SweepJobLimits.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar job_limits_type: Required. [Required] JobLimit type.Constant filled by server. Possible
+ values include: "Command", "Sweep".
+ :vartype job_limits_type: str or ~azure.mgmt.machinelearningservices.models.JobLimitsType
+ :ivar timeout: The max run duration in ISO 8601 format, after which the job will be cancelled.
+ Only supports duration with precision as low as Seconds.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'job_limits_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'job_limits_type': {'key': 'jobLimitsType', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ _subtype_map = {
+ 'job_limits_type': {'Command': 'CommandJobLimits', 'Sweep': 'SweepJobLimits'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword timeout: The max run duration in ISO 8601 format, after which the job will be
+ cancelled. Only supports duration with precision as low as Seconds.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(JobLimits, self).__init__(**kwargs)
+ self.job_limits_type = None # type: Optional[str]
+ self.timeout = kwargs.get('timeout', None)
+
+
+class CommandJobLimits(JobLimits):
+ """Command Job limit class.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar job_limits_type: Required. [Required] JobLimit type.Constant filled by server. Possible
+ values include: "Command", "Sweep".
+ :vartype job_limits_type: str or ~azure.mgmt.machinelearningservices.models.JobLimitsType
+ :ivar timeout: The max run duration in ISO 8601 format, after which the job will be cancelled.
+ Only supports duration with precision as low as Seconds.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'job_limits_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'job_limits_type': {'key': 'jobLimitsType', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword timeout: The max run duration in ISO 8601 format, after which the job will be
+ cancelled. Only supports duration with precision as low as Seconds.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(CommandJobLimits, self).__init__(**kwargs)
+ self.job_limits_type = 'Command' # type: str
+
+
+class ComponentContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComponentContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ComponentContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComponentContainerProperties
+ """
+ super(ComponentContainer, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class ComponentContainerProperties(AssetContainer):
+ """Component container definition.
+
+
+.. raw:: html
+
+ <see href="https://learn.microsoft.com/azure/machine-learning/reference-yaml-component-command" />.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(ComponentContainerProperties, self).__init__(**kwargs)
+
+
+class ComponentContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ComponentContainer entities.
+
+ :ivar next_link: The link to the next page of ComponentContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ComponentContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ComponentContainer]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ComponentContainer objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ComponentContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ """
+ super(ComponentContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class ComponentVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComponentVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ComponentVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComponentVersionProperties
+ """
+ super(ComponentVersion, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class ComponentVersionProperties(AssetBase):
+ """Definition of a component version: defines resources that span component types.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar component_spec: Defines Component definition details.
+
+
+ .. raw:: html
+
+ <see
+ href="https://learn.microsoft.com/azure/machine-learning/reference-yaml-component-command"
+ />.
+ :vartype component_spec: any
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'component_spec': {'key': 'componentSpec', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword component_spec: Defines Component definition details.
+
+
+ .. raw:: html
+
+ <see
+ href="https://learn.microsoft.com/azure/machine-learning/reference-yaml-component-command"
+ />.
+ :paramtype component_spec: any
+ """
+ super(ComponentVersionProperties, self).__init__(**kwargs)
+ self.component_spec = kwargs.get('component_spec', None)
+
+
+class ComponentVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ComponentVersion entities.
+
+ :ivar next_link: The link to the next page of ComponentVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ComponentVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ComponentVersion]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ComponentVersion objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ComponentVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ """
+ super(ComponentVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class ComputeInstanceSchema(msrest.serialization.Model):
+ """Properties(top level) of ComputeInstance.
+
+ :ivar properties: Properties of ComputeInstance.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'ComputeInstanceProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of ComputeInstance.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ """
+ super(ComputeInstanceSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class ComputeInstance(Compute, ComputeInstanceSchema):
+ """An Azure Machine Learning compute instance.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of ComputeInstance.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'ComputeInstanceProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of ComputeInstance.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(ComputeInstance, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'ComputeInstance' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class ComputeInstanceApplication(msrest.serialization.Model):
+ """Defines an Aml Instance application and its connectivity endpoint URI.
+
+ :ivar display_name: Name of the ComputeInstance application.
+ :vartype display_name: str
+ :ivar endpoint_uri: Application' endpoint URI.
+ :vartype endpoint_uri: str
+ """
+
+ _attribute_map = {
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'endpoint_uri': {'key': 'endpointUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword display_name: Name of the ComputeInstance application.
+ :paramtype display_name: str
+ :keyword endpoint_uri: Application' endpoint URI.
+ :paramtype endpoint_uri: str
+ """
+ super(ComputeInstanceApplication, self).__init__(**kwargs)
+ self.display_name = kwargs.get('display_name', None)
+ self.endpoint_uri = kwargs.get('endpoint_uri', None)
+
+
+class ComputeInstanceConnectivityEndpoints(msrest.serialization.Model):
+ """Defines all connectivity endpoints and properties for an ComputeInstance.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar public_ip_address: Public IP Address of this ComputeInstance.
+ :vartype public_ip_address: str
+ :ivar private_ip_address: Private IP Address of this ComputeInstance (local to the VNET in
+ which the compute instance is deployed).
+ :vartype private_ip_address: str
+ """
+
+ _validation = {
+ 'public_ip_address': {'readonly': True},
+ 'private_ip_address': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'},
+ 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ComputeInstanceConnectivityEndpoints, self).__init__(**kwargs)
+ self.public_ip_address = None
+ self.private_ip_address = None
+
+
+class ComputeInstanceContainer(msrest.serialization.Model):
+ """Defines an Aml Instance container.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: Name of the ComputeInstance container.
+ :vartype name: str
+ :ivar autosave: Auto save settings. Possible values include: "None", "Local", "Remote".
+ :vartype autosave: str or ~azure.mgmt.machinelearningservices.models.Autosave
+ :ivar gpu: Information of GPU.
+ :vartype gpu: str
+ :ivar network: network of this container. Possible values include: "Bridge", "Host".
+ :vartype network: str or ~azure.mgmt.machinelearningservices.models.Network
+ :ivar environment: Environment information of this container.
+ :vartype environment: ~azure.mgmt.machinelearningservices.models.ComputeInstanceEnvironmentInfo
+ :ivar services: services of this containers.
+ :vartype services: list[any]
+ """
+
+ _validation = {
+ 'services': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'autosave': {'key': 'autosave', 'type': 'str'},
+ 'gpu': {'key': 'gpu', 'type': 'str'},
+ 'network': {'key': 'network', 'type': 'str'},
+ 'environment': {'key': 'environment', 'type': 'ComputeInstanceEnvironmentInfo'},
+ 'services': {'key': 'services', 'type': '[object]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword name: Name of the ComputeInstance container.
+ :paramtype name: str
+ :keyword autosave: Auto save settings. Possible values include: "None", "Local", "Remote".
+ :paramtype autosave: str or ~azure.mgmt.machinelearningservices.models.Autosave
+ :keyword gpu: Information of GPU.
+ :paramtype gpu: str
+ :keyword network: network of this container. Possible values include: "Bridge", "Host".
+ :paramtype network: str or ~azure.mgmt.machinelearningservices.models.Network
+ :keyword environment: Environment information of this container.
+ :paramtype environment:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceEnvironmentInfo
+ """
+ super(ComputeInstanceContainer, self).__init__(**kwargs)
+ self.name = kwargs.get('name', None)
+ self.autosave = kwargs.get('autosave', None)
+ self.gpu = kwargs.get('gpu', None)
+ self.network = kwargs.get('network', None)
+ self.environment = kwargs.get('environment', None)
+ self.services = None
+
+
+class ComputeInstanceCreatedBy(msrest.serialization.Model):
+ """Describes information on user who created this ComputeInstance.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar user_name: Name of the user.
+ :vartype user_name: str
+ :ivar user_org_id: Uniquely identifies user' Azure Active Directory organization.
+ :vartype user_org_id: str
+ :ivar user_id: Uniquely identifies the user within his/her organization.
+ :vartype user_id: str
+ """
+
+ _validation = {
+ 'user_name': {'readonly': True},
+ 'user_org_id': {'readonly': True},
+ 'user_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'user_name': {'key': 'userName', 'type': 'str'},
+ 'user_org_id': {'key': 'userOrgId', 'type': 'str'},
+ 'user_id': {'key': 'userId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ComputeInstanceCreatedBy, self).__init__(**kwargs)
+ self.user_name = None
+ self.user_org_id = None
+ self.user_id = None
+
+
+class ComputeInstanceDataDisk(msrest.serialization.Model):
+ """Defines an Aml Instance DataDisk.
+
+ :ivar caching: Caching type of Data Disk. Possible values include: "None", "ReadOnly",
+ "ReadWrite".
+ :vartype caching: str or ~azure.mgmt.machinelearningservices.models.Caching
+ :ivar disk_size_gb: The initial disk size in gigabytes.
+ :vartype disk_size_gb: int
+ :ivar lun: The lun is used to uniquely identify each data disk. If attaching multiple disks,
+ each should have a distinct lun.
+ :vartype lun: int
+ :ivar storage_account_type: type of this storage account. Possible values include:
+ "Standard_LRS", "Premium_LRS". Default value: "Standard_LRS".
+ :vartype storage_account_type: str or
+ ~azure.mgmt.machinelearningservices.models.StorageAccountType
+ """
+
+ _attribute_map = {
+ 'caching': {'key': 'caching', 'type': 'str'},
+ 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'},
+ 'lun': {'key': 'lun', 'type': 'int'},
+ 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword caching: Caching type of Data Disk. Possible values include: "None", "ReadOnly",
+ "ReadWrite".
+ :paramtype caching: str or ~azure.mgmt.machinelearningservices.models.Caching
+ :keyword disk_size_gb: The initial disk size in gigabytes.
+ :paramtype disk_size_gb: int
+ :keyword lun: The lun is used to uniquely identify each data disk. If attaching multiple disks,
+ each should have a distinct lun.
+ :paramtype lun: int
+ :keyword storage_account_type: type of this storage account. Possible values include:
+ "Standard_LRS", "Premium_LRS". Default value: "Standard_LRS".
+ :paramtype storage_account_type: str or
+ ~azure.mgmt.machinelearningservices.models.StorageAccountType
+ """
+ super(ComputeInstanceDataDisk, self).__init__(**kwargs)
+ self.caching = kwargs.get('caching', None)
+ self.disk_size_gb = kwargs.get('disk_size_gb', None)
+ self.lun = kwargs.get('lun', None)
+ self.storage_account_type = kwargs.get('storage_account_type', "Standard_LRS")
+
+
+class ComputeInstanceDataMount(msrest.serialization.Model):
+ """Defines an Aml Instance DataMount.
+
+ :ivar source: Source of the ComputeInstance data mount.
+ :vartype source: str
+ :ivar source_type: Data source type. Possible values include: "Dataset", "Datastore", "URI".
+ :vartype source_type: str or ~azure.mgmt.machinelearningservices.models.SourceType
+ :ivar mount_name: name of the ComputeInstance data mount.
+ :vartype mount_name: str
+ :ivar mount_action: Mount Action. Possible values include: "Mount", "Unmount".
+ :vartype mount_action: str or ~azure.mgmt.machinelearningservices.models.MountAction
+ :ivar created_by: who this data mount created by.
+ :vartype created_by: str
+ :ivar mount_path: Path of this data mount.
+ :vartype mount_path: str
+ :ivar mount_state: Mount state. Possible values include: "MountRequested", "Mounted",
+ "MountFailed", "UnmountRequested", "UnmountFailed", "Unmounted".
+ :vartype mount_state: str or ~azure.mgmt.machinelearningservices.models.MountState
+ :ivar mounted_on: The time when the disk mounted.
+ :vartype mounted_on: ~datetime.datetime
+ :ivar error: Error of this data mount.
+ :vartype error: str
+ """
+
+ _attribute_map = {
+ 'source': {'key': 'source', 'type': 'str'},
+ 'source_type': {'key': 'sourceType', 'type': 'str'},
+ 'mount_name': {'key': 'mountName', 'type': 'str'},
+ 'mount_action': {'key': 'mountAction', 'type': 'str'},
+ 'created_by': {'key': 'createdBy', 'type': 'str'},
+ 'mount_path': {'key': 'mountPath', 'type': 'str'},
+ 'mount_state': {'key': 'mountState', 'type': 'str'},
+ 'mounted_on': {'key': 'mountedOn', 'type': 'iso-8601'},
+ 'error': {'key': 'error', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword source: Source of the ComputeInstance data mount.
+ :paramtype source: str
+ :keyword source_type: Data source type. Possible values include: "Dataset", "Datastore", "URI".
+ :paramtype source_type: str or ~azure.mgmt.machinelearningservices.models.SourceType
+ :keyword mount_name: name of the ComputeInstance data mount.
+ :paramtype mount_name: str
+ :keyword mount_action: Mount Action. Possible values include: "Mount", "Unmount".
+ :paramtype mount_action: str or ~azure.mgmt.machinelearningservices.models.MountAction
+ :keyword created_by: who this data mount created by.
+ :paramtype created_by: str
+ :keyword mount_path: Path of this data mount.
+ :paramtype mount_path: str
+ :keyword mount_state: Mount state. Possible values include: "MountRequested", "Mounted",
+ "MountFailed", "UnmountRequested", "UnmountFailed", "Unmounted".
+ :paramtype mount_state: str or ~azure.mgmt.machinelearningservices.models.MountState
+ :keyword mounted_on: The time when the disk mounted.
+ :paramtype mounted_on: ~datetime.datetime
+ :keyword error: Error of this data mount.
+ :paramtype error: str
+ """
+ super(ComputeInstanceDataMount, self).__init__(**kwargs)
+ self.source = kwargs.get('source', None)
+ self.source_type = kwargs.get('source_type', None)
+ self.mount_name = kwargs.get('mount_name', None)
+ self.mount_action = kwargs.get('mount_action', None)
+ self.created_by = kwargs.get('created_by', None)
+ self.mount_path = kwargs.get('mount_path', None)
+ self.mount_state = kwargs.get('mount_state', None)
+ self.mounted_on = kwargs.get('mounted_on', None)
+ self.error = kwargs.get('error', None)
+
+
+class ComputeInstanceEnvironmentInfo(msrest.serialization.Model):
+ """Environment information.
+
+ :ivar name: name of environment.
+ :vartype name: str
+ :ivar version: version of environment.
+ :vartype version: str
+ """
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'version': {'key': 'version', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword name: name of environment.
+ :paramtype name: str
+ :keyword version: version of environment.
+ :paramtype version: str
+ """
+ super(ComputeInstanceEnvironmentInfo, self).__init__(**kwargs)
+ self.name = kwargs.get('name', None)
+ self.version = kwargs.get('version', None)
+
+
+class ComputeInstanceLastOperation(msrest.serialization.Model):
+ """The last operation on ComputeInstance.
+
+ :ivar operation_name: Name of the last operation. Possible values include: "Create", "Start",
+ "Stop", "Restart", "Reimage", "Delete".
+ :vartype operation_name: str or ~azure.mgmt.machinelearningservices.models.OperationName
+ :ivar operation_time: Time of the last operation.
+ :vartype operation_time: ~datetime.datetime
+ :ivar operation_status: Operation status. Possible values include: "InProgress", "Succeeded",
+ "CreateFailed", "StartFailed", "StopFailed", "RestartFailed", "ReimageFailed", "DeleteFailed".
+ :vartype operation_status: str or ~azure.mgmt.machinelearningservices.models.OperationStatus
+ :ivar operation_trigger: Trigger of operation. Possible values include: "User", "Schedule",
+ "IdleShutdown".
+ :vartype operation_trigger: str or ~azure.mgmt.machinelearningservices.models.OperationTrigger
+ """
+
+ _attribute_map = {
+ 'operation_name': {'key': 'operationName', 'type': 'str'},
+ 'operation_time': {'key': 'operationTime', 'type': 'iso-8601'},
+ 'operation_status': {'key': 'operationStatus', 'type': 'str'},
+ 'operation_trigger': {'key': 'operationTrigger', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword operation_name: Name of the last operation. Possible values include: "Create",
+ "Start", "Stop", "Restart", "Reimage", "Delete".
+ :paramtype operation_name: str or ~azure.mgmt.machinelearningservices.models.OperationName
+ :keyword operation_time: Time of the last operation.
+ :paramtype operation_time: ~datetime.datetime
+ :keyword operation_status: Operation status. Possible values include: "InProgress",
+ "Succeeded", "CreateFailed", "StartFailed", "StopFailed", "RestartFailed", "ReimageFailed",
+ "DeleteFailed".
+ :paramtype operation_status: str or ~azure.mgmt.machinelearningservices.models.OperationStatus
+ :keyword operation_trigger: Trigger of operation. Possible values include: "User", "Schedule",
+ "IdleShutdown".
+ :paramtype operation_trigger: str or
+ ~azure.mgmt.machinelearningservices.models.OperationTrigger
+ """
+ super(ComputeInstanceLastOperation, self).__init__(**kwargs)
+ self.operation_name = kwargs.get('operation_name', None)
+ self.operation_time = kwargs.get('operation_time', None)
+ self.operation_status = kwargs.get('operation_status', None)
+ self.operation_trigger = kwargs.get('operation_trigger', None)
+
+
+class ComputeInstanceProperties(msrest.serialization.Model):
+ """Compute Instance properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar vm_size: Virtual Machine Size.
+ :vartype vm_size: str
+ :ivar subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :vartype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :ivar application_sharing_policy: Policy for sharing applications on this compute instance
+ among users of parent workspace. If Personal, only the creator can access applications on this
+ compute instance. When Shared, any workspace user can access applications on this instance
+ depending on his/her assigned role. Possible values include: "Personal", "Shared". Default
+ value: "Shared".
+ :vartype application_sharing_policy: str or
+ ~azure.mgmt.machinelearningservices.models.ApplicationSharingPolicy
+ :ivar ssh_settings: Specifies policy and settings for SSH access.
+ :vartype ssh_settings: ~azure.mgmt.machinelearningservices.models.ComputeInstanceSshSettings
+ :ivar connectivity_endpoints: Describes all connectivity endpoints available for this
+ ComputeInstance.
+ :vartype connectivity_endpoints:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceConnectivityEndpoints
+ :ivar applications: Describes available applications and their endpoints on this
+ ComputeInstance.
+ :vartype applications:
+ list[~azure.mgmt.machinelearningservices.models.ComputeInstanceApplication]
+ :ivar created_by: Describes information on user who created this ComputeInstance.
+ :vartype created_by: ~azure.mgmt.machinelearningservices.models.ComputeInstanceCreatedBy
+ :ivar errors: Collection of errors encountered on this ComputeInstance.
+ :vartype errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar state: The current state of this ComputeInstance. Possible values include: "Creating",
+ "CreateFailed", "Deleting", "Running", "Restarting", "JobRunning", "SettingUp", "SetupFailed",
+ "Starting", "Stopped", "Stopping", "UserSettingUp", "UserSetupFailed", "Unknown", "Unusable".
+ :vartype state: str or ~azure.mgmt.machinelearningservices.models.ComputeInstanceState
+ :ivar compute_instance_authorization_type: The Compute Instance Authorization type. Available
+ values are personal (default). Possible values include: "personal". Default value: "personal".
+ :vartype compute_instance_authorization_type: str or
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceAuthorizationType
+ :ivar personal_compute_instance_settings: Settings for a personal compute instance.
+ :vartype personal_compute_instance_settings:
+ ~azure.mgmt.machinelearningservices.models.PersonalComputeInstanceSettings
+ :ivar setup_scripts: Details of customized scripts to execute for setting up the cluster.
+ :vartype setup_scripts: ~azure.mgmt.machinelearningservices.models.SetupScripts
+ :ivar last_operation: The last operation on ComputeInstance.
+ :vartype last_operation:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceLastOperation
+ :ivar schedules: The list of schedules to be applied on the computes.
+ :vartype schedules: ~azure.mgmt.machinelearningservices.models.ComputeSchedules
+ :ivar enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :vartype enable_node_public_ip: bool
+ :ivar containers: Describes informations of containers on this ComputeInstance.
+ :vartype containers: list[~azure.mgmt.machinelearningservices.models.ComputeInstanceContainer]
+ :ivar data_disks: Describes informations of dataDisks on this ComputeInstance.
+ :vartype data_disks: list[~azure.mgmt.machinelearningservices.models.ComputeInstanceDataDisk]
+ :ivar data_mounts: Describes informations of dataMounts on this ComputeInstance.
+ :vartype data_mounts: list[~azure.mgmt.machinelearningservices.models.ComputeInstanceDataMount]
+ :ivar versions: ComputeInstance version.
+ :vartype versions: ~azure.mgmt.machinelearningservices.models.ComputeInstanceVersion
+ """
+
+ _validation = {
+ 'connectivity_endpoints': {'readonly': True},
+ 'applications': {'readonly': True},
+ 'created_by': {'readonly': True},
+ 'errors': {'readonly': True},
+ 'state': {'readonly': True},
+ 'last_operation': {'readonly': True},
+ 'schedules': {'readonly': True},
+ 'containers': {'readonly': True},
+ 'data_disks': {'readonly': True},
+ 'data_mounts': {'readonly': True},
+ 'versions': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'vm_size': {'key': 'vmSize', 'type': 'str'},
+ 'subnet': {'key': 'subnet', 'type': 'ResourceId'},
+ 'application_sharing_policy': {'key': 'applicationSharingPolicy', 'type': 'str'},
+ 'ssh_settings': {'key': 'sshSettings', 'type': 'ComputeInstanceSshSettings'},
+ 'connectivity_endpoints': {'key': 'connectivityEndpoints', 'type': 'ComputeInstanceConnectivityEndpoints'},
+ 'applications': {'key': 'applications', 'type': '[ComputeInstanceApplication]'},
+ 'created_by': {'key': 'createdBy', 'type': 'ComputeInstanceCreatedBy'},
+ 'errors': {'key': 'errors', 'type': '[ErrorResponse]'},
+ 'state': {'key': 'state', 'type': 'str'},
+ 'compute_instance_authorization_type': {'key': 'computeInstanceAuthorizationType', 'type': 'str'},
+ 'personal_compute_instance_settings': {'key': 'personalComputeInstanceSettings', 'type': 'PersonalComputeInstanceSettings'},
+ 'setup_scripts': {'key': 'setupScripts', 'type': 'SetupScripts'},
+ 'last_operation': {'key': 'lastOperation', 'type': 'ComputeInstanceLastOperation'},
+ 'schedules': {'key': 'schedules', 'type': 'ComputeSchedules'},
+ 'enable_node_public_ip': {'key': 'enableNodePublicIp', 'type': 'bool'},
+ 'containers': {'key': 'containers', 'type': '[ComputeInstanceContainer]'},
+ 'data_disks': {'key': 'dataDisks', 'type': '[ComputeInstanceDataDisk]'},
+ 'data_mounts': {'key': 'dataMounts', 'type': '[ComputeInstanceDataMount]'},
+ 'versions': {'key': 'versions', 'type': 'ComputeInstanceVersion'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword vm_size: Virtual Machine Size.
+ :paramtype vm_size: str
+ :keyword subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :paramtype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :keyword application_sharing_policy: Policy for sharing applications on this compute instance
+ among users of parent workspace. If Personal, only the creator can access applications on this
+ compute instance. When Shared, any workspace user can access applications on this instance
+ depending on his/her assigned role. Possible values include: "Personal", "Shared". Default
+ value: "Shared".
+ :paramtype application_sharing_policy: str or
+ ~azure.mgmt.machinelearningservices.models.ApplicationSharingPolicy
+ :keyword ssh_settings: Specifies policy and settings for SSH access.
+ :paramtype ssh_settings: ~azure.mgmt.machinelearningservices.models.ComputeInstanceSshSettings
+ :keyword compute_instance_authorization_type: The Compute Instance Authorization type.
+ Available values are personal (default). Possible values include: "personal". Default value:
+ "personal".
+ :paramtype compute_instance_authorization_type: str or
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceAuthorizationType
+ :keyword personal_compute_instance_settings: Settings for a personal compute instance.
+ :paramtype personal_compute_instance_settings:
+ ~azure.mgmt.machinelearningservices.models.PersonalComputeInstanceSettings
+ :keyword setup_scripts: Details of customized scripts to execute for setting up the cluster.
+ :paramtype setup_scripts: ~azure.mgmt.machinelearningservices.models.SetupScripts
+ :keyword enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :paramtype enable_node_public_ip: bool
+ """
+ super(ComputeInstanceProperties, self).__init__(**kwargs)
+ self.vm_size = kwargs.get('vm_size', None)
+ self.subnet = kwargs.get('subnet', None)
+ self.application_sharing_policy = kwargs.get('application_sharing_policy', "Shared")
+ self.ssh_settings = kwargs.get('ssh_settings', None)
+ self.connectivity_endpoints = None
+ self.applications = None
+ self.created_by = None
+ self.errors = None
+ self.state = None
+ self.compute_instance_authorization_type = kwargs.get('compute_instance_authorization_type', "personal")
+ self.personal_compute_instance_settings = kwargs.get('personal_compute_instance_settings', None)
+ self.setup_scripts = kwargs.get('setup_scripts', None)
+ self.last_operation = None
+ self.schedules = None
+ self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None)
+ self.containers = None
+ self.data_disks = None
+ self.data_mounts = None
+ self.versions = None
+
+
+class ComputeInstanceSshSettings(msrest.serialization.Model):
+ """Specifies policy and settings for SSH access.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar ssh_public_access: State of the public SSH port. Possible values are: Disabled -
+ Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the
+ public ssh port is open and accessible according to the VNet/subnet policy if applicable.
+ Possible values include: "Enabled", "Disabled". Default value: "Disabled".
+ :vartype ssh_public_access: str or ~azure.mgmt.machinelearningservices.models.SshPublicAccess
+ :ivar admin_user_name: Describes the admin user name.
+ :vartype admin_user_name: str
+ :ivar ssh_port: Describes the port for connecting through SSH.
+ :vartype ssh_port: int
+ :ivar admin_public_key: Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t
+ rsa -b 2048" to generate your SSH key pairs.
+ :vartype admin_public_key: str
+ """
+
+ _validation = {
+ 'admin_user_name': {'readonly': True},
+ 'ssh_port': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'ssh_public_access': {'key': 'sshPublicAccess', 'type': 'str'},
+ 'admin_user_name': {'key': 'adminUserName', 'type': 'str'},
+ 'ssh_port': {'key': 'sshPort', 'type': 'int'},
+ 'admin_public_key': {'key': 'adminPublicKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword ssh_public_access: State of the public SSH port. Possible values are: Disabled -
+ Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the
+ public ssh port is open and accessible according to the VNet/subnet policy if applicable.
+ Possible values include: "Enabled", "Disabled". Default value: "Disabled".
+ :paramtype ssh_public_access: str or ~azure.mgmt.machinelearningservices.models.SshPublicAccess
+ :keyword admin_public_key: Specifies the SSH rsa public key file as a string. Use "ssh-keygen
+ -t rsa -b 2048" to generate your SSH key pairs.
+ :paramtype admin_public_key: str
+ """
+ super(ComputeInstanceSshSettings, self).__init__(**kwargs)
+ self.ssh_public_access = kwargs.get('ssh_public_access', "Disabled")
+ self.admin_user_name = None
+ self.ssh_port = None
+ self.admin_public_key = kwargs.get('admin_public_key', None)
+
+
+class ComputeInstanceVersion(msrest.serialization.Model):
+ """Version of computeInstance.
+
+ :ivar runtime: Runtime of compute instance.
+ :vartype runtime: str
+ """
+
+ _attribute_map = {
+ 'runtime': {'key': 'runtime', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword runtime: Runtime of compute instance.
+ :paramtype runtime: str
+ """
+ super(ComputeInstanceVersion, self).__init__(**kwargs)
+ self.runtime = kwargs.get('runtime', None)
+
+
+class ComputeResourceSchema(msrest.serialization.Model):
+ """ComputeResourceSchema.
+
+ :ivar properties: Compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'Compute'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ """
+ super(ComputeResourceSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class ComputeResource(Resource, ComputeResourceSchema):
+ """Machine Learning compute object wrapped into ARM resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar properties: Compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'Compute'},
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(ComputeResource, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.identity = kwargs.get('identity', None)
+ self.location = kwargs.get('location', None)
+ self.tags = kwargs.get('tags', None)
+ self.sku = kwargs.get('sku', None)
+ self.id = None
+ self.name = None
+ self.type = None
+ self.system_data = None
+
+
+class ComputeSchedules(msrest.serialization.Model):
+ """The list of schedules to be applied on the computes.
+
+ :ivar compute_start_stop: The list of compute start stop schedules to be applied.
+ :vartype compute_start_stop:
+ list[~azure.mgmt.machinelearningservices.models.ComputeStartStopSchedule]
+ """
+
+ _attribute_map = {
+ 'compute_start_stop': {'key': 'computeStartStop', 'type': '[ComputeStartStopSchedule]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword compute_start_stop: The list of compute start stop schedules to be applied.
+ :paramtype compute_start_stop:
+ list[~azure.mgmt.machinelearningservices.models.ComputeStartStopSchedule]
+ """
+ super(ComputeSchedules, self).__init__(**kwargs)
+ self.compute_start_stop = kwargs.get('compute_start_stop', None)
+
+
+class ComputeStartStopSchedule(msrest.serialization.Model):
+ """Compute start stop schedule properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: A system assigned id for the schedule.
+ :vartype id: str
+ :ivar provisioning_status: The current deployment state of schedule. Possible values include:
+ "Completed", "Provisioning", "Failed".
+ :vartype provisioning_status: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningStatus
+ :ivar status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ :ivar action: [Required] The compute power action. Possible values include: "Start", "Stop".
+ :vartype action: str or ~azure.mgmt.machinelearningservices.models.ComputePowerAction
+ :ivar trigger_type: [Required] The schedule trigger type. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :ivar recurrence: Required if triggerType is Recurrence.
+ :vartype recurrence: ~azure.mgmt.machinelearningservices.models.RecurrenceTrigger
+ :ivar cron: Required if triggerType is Cron.
+ :vartype cron: ~azure.mgmt.machinelearningservices.models.CronTrigger
+ :ivar schedule: [Deprecated] Not used any more.
+ :vartype schedule: ~azure.mgmt.machinelearningservices.models.ScheduleBase
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'provisioning_status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'action': {'key': 'action', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ 'recurrence': {'key': 'recurrence', 'type': 'RecurrenceTrigger'},
+ 'cron': {'key': 'cron', 'type': 'CronTrigger'},
+ 'schedule': {'key': 'schedule', 'type': 'ScheduleBase'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ :keyword action: [Required] The compute power action. Possible values include: "Start", "Stop".
+ :paramtype action: str or ~azure.mgmt.machinelearningservices.models.ComputePowerAction
+ :keyword trigger_type: [Required] The schedule trigger type. Possible values include:
+ "Recurrence", "Cron".
+ :paramtype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :keyword recurrence: Required if triggerType is Recurrence.
+ :paramtype recurrence: ~azure.mgmt.machinelearningservices.models.RecurrenceTrigger
+ :keyword cron: Required if triggerType is Cron.
+ :paramtype cron: ~azure.mgmt.machinelearningservices.models.CronTrigger
+ :keyword schedule: [Deprecated] Not used any more.
+ :paramtype schedule: ~azure.mgmt.machinelearningservices.models.ScheduleBase
+ """
+ super(ComputeStartStopSchedule, self).__init__(**kwargs)
+ self.id = None
+ self.provisioning_status = None
+ self.status = kwargs.get('status', None)
+ self.action = kwargs.get('action', None)
+ self.trigger_type = kwargs.get('trigger_type', None)
+ self.recurrence = kwargs.get('recurrence', None)
+ self.cron = kwargs.get('cron', None)
+ self.schedule = kwargs.get('schedule', None)
+
+
+class ContainerResourceRequirements(msrest.serialization.Model):
+ """Resource requirements for each container instance within an online deployment.
+
+ :ivar container_resource_limits: Container resource limit info:.
+ :vartype container_resource_limits:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ :ivar container_resource_requests: Container resource request info:.
+ :vartype container_resource_requests:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ """
+
+ _attribute_map = {
+ 'container_resource_limits': {'key': 'containerResourceLimits', 'type': 'ContainerResourceSettings'},
+ 'container_resource_requests': {'key': 'containerResourceRequests', 'type': 'ContainerResourceSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword container_resource_limits: Container resource limit info:.
+ :paramtype container_resource_limits:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ :keyword container_resource_requests: Container resource request info:.
+ :paramtype container_resource_requests:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ """
+ super(ContainerResourceRequirements, self).__init__(**kwargs)
+ self.container_resource_limits = kwargs.get('container_resource_limits', None)
+ self.container_resource_requests = kwargs.get('container_resource_requests', None)
+
+
+class ContainerResourceSettings(msrest.serialization.Model):
+ """ContainerResourceSettings.
+
+ :ivar cpu: Number of vCPUs request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :vartype cpu: str
+ :ivar gpu: Number of Nvidia GPU cards request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :vartype gpu: str
+ :ivar memory: Memory size request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :vartype memory: str
+ """
+
+ _attribute_map = {
+ 'cpu': {'key': 'cpu', 'type': 'str'},
+ 'gpu': {'key': 'gpu', 'type': 'str'},
+ 'memory': {'key': 'memory', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cpu: Number of vCPUs request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :paramtype cpu: str
+ :keyword gpu: Number of Nvidia GPU cards request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :paramtype gpu: str
+ :keyword memory: Memory size request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :paramtype memory: str
+ """
+ super(ContainerResourceSettings, self).__init__(**kwargs)
+ self.cpu = kwargs.get('cpu', None)
+ self.gpu = kwargs.get('gpu', None)
+ self.memory = kwargs.get('memory', None)
+
+
+class CosmosDbSettings(msrest.serialization.Model):
+ """CosmosDbSettings.
+
+ :ivar collections_throughput: The throughput of the collections in cosmosdb database.
+ :vartype collections_throughput: int
+ """
+
+ _attribute_map = {
+ 'collections_throughput': {'key': 'collectionsThroughput', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword collections_throughput: The throughput of the collections in cosmosdb database.
+ :paramtype collections_throughput: int
+ """
+ super(CosmosDbSettings, self).__init__(**kwargs)
+ self.collections_throughput = kwargs.get('collections_throughput', None)
+
+
+class TriggerBase(msrest.serialization.Model):
+ """TriggerBase.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CronTrigger, RecurrenceTrigger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :vartype end_time: str
+ :ivar start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar trigger_type: Required. [Required].Constant filled by server. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ """
+
+ _validation = {
+ 'trigger_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'end_time': {'key': 'endTime', 'type': 'str'},
+ 'start_time': {'key': 'startTime', 'type': 'str'},
+ 'time_zone': {'key': 'timeZone', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'trigger_type': {'Cron': 'CronTrigger', 'Recurrence': 'RecurrenceTrigger'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :paramtype end_time: str
+ :keyword start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ """
+ super(TriggerBase, self).__init__(**kwargs)
+ self.end_time = kwargs.get('end_time', None)
+ self.start_time = kwargs.get('start_time', None)
+ self.time_zone = kwargs.get('time_zone', "UTC")
+ self.trigger_type = None # type: Optional[str]
+
+
+class CronTrigger(TriggerBase):
+ """CronTrigger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :vartype end_time: str
+ :ivar start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar trigger_type: Required. [Required].Constant filled by server. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :ivar expression: Required. [Required] Specifies cron expression of schedule.
+ The expression should follow NCronTab format.
+ :vartype expression: str
+ """
+
+ _validation = {
+ 'trigger_type': {'required': True},
+ 'expression': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'end_time': {'key': 'endTime', 'type': 'str'},
+ 'start_time': {'key': 'startTime', 'type': 'str'},
+ 'time_zone': {'key': 'timeZone', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ 'expression': {'key': 'expression', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :paramtype end_time: str
+ :keyword start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ :keyword expression: Required. [Required] Specifies cron expression of schedule.
+ The expression should follow NCronTab format.
+ :paramtype expression: str
+ """
+ super(CronTrigger, self).__init__(**kwargs)
+ self.trigger_type = 'Cron' # type: str
+ self.expression = kwargs['expression']
+
+
+class CustomForecastHorizon(ForecastHorizon):
+ """The desired maximum forecast horizon in units of time-series frequency.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set forecast horizon value selection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.ForecastHorizonMode
+ :ivar value: Required. [Required] Forecast horizon value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] Forecast horizon value.
+ :paramtype value: int
+ """
+ super(CustomForecastHorizon, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = kwargs['value']
+
+
+class JobInput(msrest.serialization.Model):
+ """Command job definition.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CustomModelJobInput, LiteralJobInput, MLFlowModelJobInput, MLTableJobInput, TritonModelJobInput, UriFileJobInput, UriFolderJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'job_input_type': {'custom_model': 'CustomModelJobInput', 'literal': 'LiteralJobInput', 'mlflow_model': 'MLFlowModelJobInput', 'mltable': 'MLTableJobInput', 'triton_model': 'TritonModelJobInput', 'uri_file': 'UriFileJobInput', 'uri_folder': 'UriFolderJobInput'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(JobInput, self).__init__(**kwargs)
+ self.description = kwargs.get('description', None)
+ self.job_input_type = None # type: Optional[str]
+
+
+class CustomModelJobInput(JobInput, AssetJobInput):
+ """CustomModelJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(CustomModelJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+ self.job_input_type = 'custom_model' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class JobOutput(msrest.serialization.Model):
+ """Job output definition container information on where to find job output/logs.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CustomModelJobOutput, MLFlowModelJobOutput, MLTableJobOutput, TritonModelJobOutput, UriFileJobOutput, UriFolderJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'job_output_type': {'custom_model': 'CustomModelJobOutput', 'mlflow_model': 'MLFlowModelJobOutput', 'mltable': 'MLTableJobOutput', 'triton_model': 'TritonModelJobOutput', 'uri_file': 'UriFileJobOutput', 'uri_folder': 'UriFolderJobOutput'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(JobOutput, self).__init__(**kwargs)
+ self.description = kwargs.get('description', None)
+ self.job_output_type = None # type: Optional[str]
+
+
+class CustomModelJobOutput(JobOutput, AssetJobOutput):
+ """CustomModelJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(CustomModelJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+ self.job_output_type = 'custom_model' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class CustomNCrossValidations(NCrossValidations):
+ """N-Cross validations are specified by user.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Mode for determining N-Cross validations.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.NCrossValidationsMode
+ :ivar value: Required. [Required] N-Cross validations value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] N-Cross validations value.
+ :paramtype value: int
+ """
+ super(CustomNCrossValidations, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = kwargs['value']
+
+
+class CustomSeasonality(Seasonality):
+ """CustomSeasonality.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Seasonality mode.Constant filled by server. Possible values
+ include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.SeasonalityMode
+ :ivar value: Required. [Required] Seasonality value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] Seasonality value.
+ :paramtype value: int
+ """
+ super(CustomSeasonality, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = kwargs['value']
+
+
+class CustomTargetLags(TargetLags):
+ """CustomTargetLags.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set target lags mode - Auto/Custom.Constant filled by server.
+ Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetLagsMode
+ :ivar values: Required. [Required] Set target lags values.
+ :vartype values: list[int]
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'values': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'values': {'key': 'values', 'type': '[int]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword values: Required. [Required] Set target lags values.
+ :paramtype values: list[int]
+ """
+ super(CustomTargetLags, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.values = kwargs['values']
+
+
+class CustomTargetRollingWindowSize(TargetRollingWindowSize):
+ """CustomTargetRollingWindowSize.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] TargetRollingWindowSiz detection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSizeMode
+ :ivar value: Required. [Required] TargetRollingWindowSize value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] TargetRollingWindowSize value.
+ :paramtype value: int
+ """
+ super(CustomTargetRollingWindowSize, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = kwargs['value']
+
+
+class DatabricksSchema(msrest.serialization.Model):
+ """DatabricksSchema.
+
+ :ivar properties: Properties of Databricks.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DatabricksProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Databricks.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ """
+ super(DatabricksSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class Databricks(Compute, DatabricksSchema):
+ """A DataFactory compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of Databricks.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DatabricksProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Databricks.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(Databricks, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'Databricks' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class DatabricksComputeSecretsProperties(msrest.serialization.Model):
+ """Properties of Databricks Compute Secrets.
+
+ :ivar databricks_access_token: access token for databricks account.
+ :vartype databricks_access_token: str
+ """
+
+ _attribute_map = {
+ 'databricks_access_token': {'key': 'databricksAccessToken', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword databricks_access_token: access token for databricks account.
+ :paramtype databricks_access_token: str
+ """
+ super(DatabricksComputeSecretsProperties, self).__init__(**kwargs)
+ self.databricks_access_token = kwargs.get('databricks_access_token', None)
+
+
+class DatabricksComputeSecrets(ComputeSecrets, DatabricksComputeSecretsProperties):
+ """Secrets related to a Machine Learning compute based on Databricks.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar databricks_access_token: access token for databricks account.
+ :vartype databricks_access_token: str
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'databricks_access_token': {'key': 'databricksAccessToken', 'type': 'str'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword databricks_access_token: access token for databricks account.
+ :paramtype databricks_access_token: str
+ """
+ super(DatabricksComputeSecrets, self).__init__(**kwargs)
+ self.databricks_access_token = kwargs.get('databricks_access_token', None)
+ self.compute_type = 'Databricks' # type: str
+
+
+class DatabricksProperties(msrest.serialization.Model):
+ """Properties of Databricks.
+
+ :ivar databricks_access_token: Databricks access token.
+ :vartype databricks_access_token: str
+ :ivar workspace_url: Workspace Url.
+ :vartype workspace_url: str
+ """
+
+ _attribute_map = {
+ 'databricks_access_token': {'key': 'databricksAccessToken', 'type': 'str'},
+ 'workspace_url': {'key': 'workspaceUrl', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword databricks_access_token: Databricks access token.
+ :paramtype databricks_access_token: str
+ :keyword workspace_url: Workspace Url.
+ :paramtype workspace_url: str
+ """
+ super(DatabricksProperties, self).__init__(**kwargs)
+ self.databricks_access_token = kwargs.get('databricks_access_token', None)
+ self.workspace_url = kwargs.get('workspace_url', None)
+
+
+class DataContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DataContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'DataContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DataContainerProperties
+ """
+ super(DataContainer, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class DataContainerProperties(AssetContainer):
+ """Container for data asset versions.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ :ivar data_type: Required. [Required] Specifies the type of data. Possible values include:
+ "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ 'data_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_type: Required. [Required] Specifies the type of data. Possible values include:
+ "uri_file", "uri_folder", "mltable".
+ :paramtype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ """
+ super(DataContainerProperties, self).__init__(**kwargs)
+ self.data_type = kwargs['data_type']
+
+
+class DataContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of DataContainer entities.
+
+ :ivar next_link: The link to the next page of DataContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type DataContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.DataContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[DataContainer]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of DataContainer objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type DataContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.DataContainer]
+ """
+ super(DataContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class DataFactory(Compute):
+ """A DataFactory compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(DataFactory, self).__init__(**kwargs)
+ self.compute_type = 'DataFactory' # type: str
+
+
+class DataLakeAnalyticsSchema(msrest.serialization.Model):
+ """DataLakeAnalyticsSchema.
+
+ :ivar properties:
+ :vartype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DataLakeAnalyticsSchemaProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ """
+ super(DataLakeAnalyticsSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class DataLakeAnalytics(Compute, DataLakeAnalyticsSchema):
+ """A DataLakeAnalytics compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties:
+ :vartype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DataLakeAnalyticsSchemaProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(DataLakeAnalytics, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'DataLakeAnalytics' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class DataLakeAnalyticsSchemaProperties(msrest.serialization.Model):
+ """DataLakeAnalyticsSchemaProperties.
+
+ :ivar data_lake_store_account_name: DataLake Store Account Name.
+ :vartype data_lake_store_account_name: str
+ """
+
+ _attribute_map = {
+ 'data_lake_store_account_name': {'key': 'dataLakeStoreAccountName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword data_lake_store_account_name: DataLake Store Account Name.
+ :paramtype data_lake_store_account_name: str
+ """
+ super(DataLakeAnalyticsSchemaProperties, self).__init__(**kwargs)
+ self.data_lake_store_account_name = kwargs.get('data_lake_store_account_name', None)
+
+
+class DataPathAssetReference(AssetReferenceBase):
+ """Reference to an asset via its path in a datastore.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar datastore_id: ARM resource ID of the datastore where the asset is located.
+ :vartype datastore_id: str
+ :ivar path: The path of the file/directory in the datastore.
+ :vartype path: str
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ 'datastore_id': {'key': 'datastoreId', 'type': 'str'},
+ 'path': {'key': 'path', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword datastore_id: ARM resource ID of the datastore where the asset is located.
+ :paramtype datastore_id: str
+ :keyword path: The path of the file/directory in the datastore.
+ :paramtype path: str
+ """
+ super(DataPathAssetReference, self).__init__(**kwargs)
+ self.reference_type = 'DataPath' # type: str
+ self.datastore_id = kwargs.get('datastore_id', None)
+ self.path = kwargs.get('path', None)
+
+
+class Datastore(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DatastoreProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'DatastoreProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DatastoreProperties
+ """
+ super(Datastore, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class DatastoreResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of Datastore entities.
+
+ :ivar next_link: The link to the next page of Datastore objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type Datastore.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Datastore]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[Datastore]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of Datastore objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type Datastore.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Datastore]
+ """
+ super(DatastoreResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class DataVersionBase(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DataVersionBaseProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'DataVersionBaseProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DataVersionBaseProperties
+ """
+ super(DataVersionBase, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class DataVersionBaseProperties(AssetBase):
+ """Data version base definition.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: MLTableData, UriFileDataVersion, UriFolderDataVersion.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'data_type': {'mltable': 'MLTableData', 'uri_file': 'UriFileDataVersion', 'uri_folder': 'UriFolderDataVersion'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ """
+ super(DataVersionBaseProperties, self).__init__(**kwargs)
+ self.data_type = 'DataVersionBaseProperties' # type: str
+ self.data_uri = kwargs['data_uri']
+
+
+class DataVersionBaseResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of DataVersionBase entities.
+
+ :ivar next_link: The link to the next page of DataVersionBase objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type DataVersionBase.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[DataVersionBase]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of DataVersionBase objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type DataVersionBase.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ """
+ super(DataVersionBaseResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class OnlineScaleSettings(msrest.serialization.Model):
+ """Online deployment scaling configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: DefaultScaleSettings, TargetUtilizationScaleSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scale_type: Required. [Required] Type of deployment scaling algorithm.Constant filled by
+ server. Possible values include: "Default", "TargetUtilization".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.ScaleType
+ """
+
+ _validation = {
+ 'scale_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'scale_type': {'Default': 'DefaultScaleSettings', 'TargetUtilization': 'TargetUtilizationScaleSettings'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(OnlineScaleSettings, self).__init__(**kwargs)
+ self.scale_type = None # type: Optional[str]
+
+
+class DefaultScaleSettings(OnlineScaleSettings):
+ """DefaultScaleSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scale_type: Required. [Required] Type of deployment scaling algorithm.Constant filled by
+ server. Possible values include: "Default", "TargetUtilization".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.ScaleType
+ """
+
+ _validation = {
+ 'scale_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DefaultScaleSettings, self).__init__(**kwargs)
+ self.scale_type = 'Default' # type: str
+
+
+class DeploymentLogs(msrest.serialization.Model):
+ """DeploymentLogs.
+
+ :ivar content: The retrieved online deployment logs.
+ :vartype content: str
+ """
+
+ _attribute_map = {
+ 'content': {'key': 'content', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword content: The retrieved online deployment logs.
+ :paramtype content: str
+ """
+ super(DeploymentLogs, self).__init__(**kwargs)
+ self.content = kwargs.get('content', None)
+
+
+class DeploymentLogsRequest(msrest.serialization.Model):
+ """DeploymentLogsRequest.
+
+ :ivar container_type: The type of container to retrieve logs from. Possible values include:
+ "StorageInitializer", "InferenceServer".
+ :vartype container_type: str or ~azure.mgmt.machinelearningservices.models.ContainerType
+ :ivar tail: The maximum number of lines to tail.
+ :vartype tail: int
+ """
+
+ _attribute_map = {
+ 'container_type': {'key': 'containerType', 'type': 'str'},
+ 'tail': {'key': 'tail', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword container_type: The type of container to retrieve logs from. Possible values include:
+ "StorageInitializer", "InferenceServer".
+ :paramtype container_type: str or ~azure.mgmt.machinelearningservices.models.ContainerType
+ :keyword tail: The maximum number of lines to tail.
+ :paramtype tail: int
+ """
+ super(DeploymentLogsRequest, self).__init__(**kwargs)
+ self.container_type = kwargs.get('container_type', None)
+ self.tail = kwargs.get('tail', None)
+
+
+class ResourceConfiguration(msrest.serialization.Model):
+ """ResourceConfiguration.
+
+ :ivar instance_count: Optional number of instances or nodes used by the compute target.
+ :vartype instance_count: int
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'instance_count': {'key': 'instanceCount', 'type': 'int'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword instance_count: Optional number of instances or nodes used by the compute target.
+ :paramtype instance_count: int
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, any]
+ """
+ super(ResourceConfiguration, self).__init__(**kwargs)
+ self.instance_count = kwargs.get('instance_count', 1)
+ self.instance_type = kwargs.get('instance_type', None)
+ self.properties = kwargs.get('properties', None)
+
+
+class DeploymentResourceConfiguration(ResourceConfiguration):
+ """DeploymentResourceConfiguration.
+
+ :ivar instance_count: Optional number of instances or nodes used by the compute target.
+ :vartype instance_count: int
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'instance_count': {'key': 'instanceCount', 'type': 'int'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword instance_count: Optional number of instances or nodes used by the compute target.
+ :paramtype instance_count: int
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, any]
+ """
+ super(DeploymentResourceConfiguration, self).__init__(**kwargs)
+
+
+class DiagnoseRequestProperties(msrest.serialization.Model):
+ """DiagnoseRequestProperties.
+
+ :ivar udr: Setting for diagnosing user defined routing.
+ :vartype udr: dict[str, any]
+ :ivar nsg: Setting for diagnosing network security group.
+ :vartype nsg: dict[str, any]
+ :ivar resource_lock: Setting for diagnosing resource lock.
+ :vartype resource_lock: dict[str, any]
+ :ivar dns_resolution: Setting for diagnosing dns resolution.
+ :vartype dns_resolution: dict[str, any]
+ :ivar storage_account: Setting for diagnosing dependent storage account.
+ :vartype storage_account: dict[str, any]
+ :ivar key_vault: Setting for diagnosing dependent key vault.
+ :vartype key_vault: dict[str, any]
+ :ivar container_registry: Setting for diagnosing dependent container registry.
+ :vartype container_registry: dict[str, any]
+ :ivar application_insights: Setting for diagnosing dependent application insights.
+ :vartype application_insights: dict[str, any]
+ :ivar others: Setting for diagnosing unclassified category of problems.
+ :vartype others: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'udr': {'key': 'udr', 'type': '{object}'},
+ 'nsg': {'key': 'nsg', 'type': '{object}'},
+ 'resource_lock': {'key': 'resourceLock', 'type': '{object}'},
+ 'dns_resolution': {'key': 'dnsResolution', 'type': '{object}'},
+ 'storage_account': {'key': 'storageAccount', 'type': '{object}'},
+ 'key_vault': {'key': 'keyVault', 'type': '{object}'},
+ 'container_registry': {'key': 'containerRegistry', 'type': '{object}'},
+ 'application_insights': {'key': 'applicationInsights', 'type': '{object}'},
+ 'others': {'key': 'others', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword udr: Setting for diagnosing user defined routing.
+ :paramtype udr: dict[str, any]
+ :keyword nsg: Setting for diagnosing network security group.
+ :paramtype nsg: dict[str, any]
+ :keyword resource_lock: Setting for diagnosing resource lock.
+ :paramtype resource_lock: dict[str, any]
+ :keyword dns_resolution: Setting for diagnosing dns resolution.
+ :paramtype dns_resolution: dict[str, any]
+ :keyword storage_account: Setting for diagnosing dependent storage account.
+ :paramtype storage_account: dict[str, any]
+ :keyword key_vault: Setting for diagnosing dependent key vault.
+ :paramtype key_vault: dict[str, any]
+ :keyword container_registry: Setting for diagnosing dependent container registry.
+ :paramtype container_registry: dict[str, any]
+ :keyword application_insights: Setting for diagnosing dependent application insights.
+ :paramtype application_insights: dict[str, any]
+ :keyword others: Setting for diagnosing unclassified category of problems.
+ :paramtype others: dict[str, any]
+ """
+ super(DiagnoseRequestProperties, self).__init__(**kwargs)
+ self.udr = kwargs.get('udr', None)
+ self.nsg = kwargs.get('nsg', None)
+ self.resource_lock = kwargs.get('resource_lock', None)
+ self.dns_resolution = kwargs.get('dns_resolution', None)
+ self.storage_account = kwargs.get('storage_account', None)
+ self.key_vault = kwargs.get('key_vault', None)
+ self.container_registry = kwargs.get('container_registry', None)
+ self.application_insights = kwargs.get('application_insights', None)
+ self.others = kwargs.get('others', None)
+
+
+class DiagnoseResponseResult(msrest.serialization.Model):
+ """DiagnoseResponseResult.
+
+ :ivar value:
+ :vartype value: ~azure.mgmt.machinelearningservices.models.DiagnoseResponseResultValue
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'DiagnoseResponseResultValue'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value: ~azure.mgmt.machinelearningservices.models.DiagnoseResponseResultValue
+ """
+ super(DiagnoseResponseResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class DiagnoseResponseResultValue(msrest.serialization.Model):
+ """DiagnoseResponseResultValue.
+
+ :ivar user_defined_route_results:
+ :vartype user_defined_route_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar network_security_rule_results:
+ :vartype network_security_rule_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar resource_lock_results:
+ :vartype resource_lock_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar dns_resolution_results:
+ :vartype dns_resolution_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar storage_account_results:
+ :vartype storage_account_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar key_vault_results:
+ :vartype key_vault_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar container_registry_results:
+ :vartype container_registry_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar application_insights_results:
+ :vartype application_insights_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar other_results:
+ :vartype other_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ """
+
+ _attribute_map = {
+ 'user_defined_route_results': {'key': 'userDefinedRouteResults', 'type': '[DiagnoseResult]'},
+ 'network_security_rule_results': {'key': 'networkSecurityRuleResults', 'type': '[DiagnoseResult]'},
+ 'resource_lock_results': {'key': 'resourceLockResults', 'type': '[DiagnoseResult]'},
+ 'dns_resolution_results': {'key': 'dnsResolutionResults', 'type': '[DiagnoseResult]'},
+ 'storage_account_results': {'key': 'storageAccountResults', 'type': '[DiagnoseResult]'},
+ 'key_vault_results': {'key': 'keyVaultResults', 'type': '[DiagnoseResult]'},
+ 'container_registry_results': {'key': 'containerRegistryResults', 'type': '[DiagnoseResult]'},
+ 'application_insights_results': {'key': 'applicationInsightsResults', 'type': '[DiagnoseResult]'},
+ 'other_results': {'key': 'otherResults', 'type': '[DiagnoseResult]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword user_defined_route_results:
+ :paramtype user_defined_route_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword network_security_rule_results:
+ :paramtype network_security_rule_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword resource_lock_results:
+ :paramtype resource_lock_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword dns_resolution_results:
+ :paramtype dns_resolution_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword storage_account_results:
+ :paramtype storage_account_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword key_vault_results:
+ :paramtype key_vault_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword container_registry_results:
+ :paramtype container_registry_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword application_insights_results:
+ :paramtype application_insights_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword other_results:
+ :paramtype other_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ """
+ super(DiagnoseResponseResultValue, self).__init__(**kwargs)
+ self.user_defined_route_results = kwargs.get('user_defined_route_results', None)
+ self.network_security_rule_results = kwargs.get('network_security_rule_results', None)
+ self.resource_lock_results = kwargs.get('resource_lock_results', None)
+ self.dns_resolution_results = kwargs.get('dns_resolution_results', None)
+ self.storage_account_results = kwargs.get('storage_account_results', None)
+ self.key_vault_results = kwargs.get('key_vault_results', None)
+ self.container_registry_results = kwargs.get('container_registry_results', None)
+ self.application_insights_results = kwargs.get('application_insights_results', None)
+ self.other_results = kwargs.get('other_results', None)
+
+
+class DiagnoseResult(msrest.serialization.Model):
+ """Result of Diagnose.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: Code for workspace setup error.
+ :vartype code: str
+ :ivar level: Level of workspace setup error. Possible values include: "Warning", "Error",
+ "Information".
+ :vartype level: str or ~azure.mgmt.machinelearningservices.models.DiagnoseResultLevel
+ :ivar message: Message of workspace setup error.
+ :vartype message: str
+ """
+
+ _validation = {
+ 'code': {'readonly': True},
+ 'level': {'readonly': True},
+ 'message': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code': {'key': 'code', 'type': 'str'},
+ 'level': {'key': 'level', 'type': 'str'},
+ 'message': {'key': 'message', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DiagnoseResult, self).__init__(**kwargs)
+ self.code = None
+ self.level = None
+ self.message = None
+
+
+class DiagnoseWorkspaceParameters(msrest.serialization.Model):
+ """Parameters to diagnose a workspace.
+
+ :ivar value: Value of Parameters.
+ :vartype value: ~azure.mgmt.machinelearningservices.models.DiagnoseRequestProperties
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'DiagnoseRequestProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Value of Parameters.
+ :paramtype value: ~azure.mgmt.machinelearningservices.models.DiagnoseRequestProperties
+ """
+ super(DiagnoseWorkspaceParameters, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class DistributionConfiguration(msrest.serialization.Model):
+ """Base definition for job distribution configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: Mpi, PyTorch, TensorFlow.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'distribution_type': {'Mpi': 'Mpi', 'PyTorch': 'PyTorch', 'TensorFlow': 'TensorFlow'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DistributionConfiguration, self).__init__(**kwargs)
+ self.distribution_type = None # type: Optional[str]
+
+
+class EncryptionKeyVaultProperties(msrest.serialization.Model):
+ """EncryptionKeyVaultProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar key_vault_arm_id: Required. The ArmId of the keyVault where the customer owned encryption
+ key is present.
+ :vartype key_vault_arm_id: str
+ :ivar key_identifier: Required. Key vault uri to access the encryption key.
+ :vartype key_identifier: str
+ :ivar identity_client_id: For future use - The client id of the identity which will be used to
+ access key vault.
+ :vartype identity_client_id: str
+ """
+
+ _validation = {
+ 'key_vault_arm_id': {'required': True},
+ 'key_identifier': {'required': True},
+ }
+
+ _attribute_map = {
+ 'key_vault_arm_id': {'key': 'keyVaultArmId', 'type': 'str'},
+ 'key_identifier': {'key': 'keyIdentifier', 'type': 'str'},
+ 'identity_client_id': {'key': 'identityClientId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword key_vault_arm_id: Required. The ArmId of the keyVault where the customer owned
+ encryption key is present.
+ :paramtype key_vault_arm_id: str
+ :keyword key_identifier: Required. Key vault uri to access the encryption key.
+ :paramtype key_identifier: str
+ :keyword identity_client_id: For future use - The client id of the identity which will be used
+ to access key vault.
+ :paramtype identity_client_id: str
+ """
+ super(EncryptionKeyVaultProperties, self).__init__(**kwargs)
+ self.key_vault_arm_id = kwargs['key_vault_arm_id']
+ self.key_identifier = kwargs['key_identifier']
+ self.identity_client_id = kwargs.get('identity_client_id', None)
+
+
+class EncryptionProperty(msrest.serialization.Model):
+ """EncryptionProperty.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar status: Required. Indicates whether or not the encryption is enabled for the workspace.
+ Possible values include: "Enabled", "Disabled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.EncryptionStatus
+ :ivar identity: The identity that will be used to access the key vault for encryption at rest.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityForCmk
+ :ivar key_vault_properties: Required. Customer Key vault properties.
+ :vartype key_vault_properties:
+ ~azure.mgmt.machinelearningservices.models.EncryptionKeyVaultProperties
+ """
+
+ _validation = {
+ 'status': {'required': True},
+ 'key_vault_properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'status': {'key': 'status', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityForCmk'},
+ 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'EncryptionKeyVaultProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword status: Required. Indicates whether or not the encryption is enabled for the
+ workspace. Possible values include: "Enabled", "Disabled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.EncryptionStatus
+ :keyword identity: The identity that will be used to access the key vault for encryption at
+ rest.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityForCmk
+ :keyword key_vault_properties: Required. Customer Key vault properties.
+ :paramtype key_vault_properties:
+ ~azure.mgmt.machinelearningservices.models.EncryptionKeyVaultProperties
+ """
+ super(EncryptionProperty, self).__init__(**kwargs)
+ self.status = kwargs['status']
+ self.identity = kwargs.get('identity', None)
+ self.key_vault_properties = kwargs['key_vault_properties']
+
+
+class EndpointAuthKeys(msrest.serialization.Model):
+ """Keys for endpoint authentication.
+
+ :ivar primary_key: The primary key.
+ :vartype primary_key: str
+ :ivar secondary_key: The secondary key.
+ :vartype secondary_key: str
+ """
+
+ _attribute_map = {
+ 'primary_key': {'key': 'primaryKey', 'type': 'str'},
+ 'secondary_key': {'key': 'secondaryKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword primary_key: The primary key.
+ :paramtype primary_key: str
+ :keyword secondary_key: The secondary key.
+ :paramtype secondary_key: str
+ """
+ super(EndpointAuthKeys, self).__init__(**kwargs)
+ self.primary_key = kwargs.get('primary_key', None)
+ self.secondary_key = kwargs.get('secondary_key', None)
+
+
+class EndpointAuthToken(msrest.serialization.Model):
+ """Service Token.
+
+ :ivar access_token: Access token for endpoint authentication.
+ :vartype access_token: str
+ :ivar expiry_time_utc: Access token expiry time (UTC).
+ :vartype expiry_time_utc: long
+ :ivar refresh_after_time_utc: Refresh access token after time (UTC).
+ :vartype refresh_after_time_utc: long
+ :ivar token_type: Access token type.
+ :vartype token_type: str
+ """
+
+ _attribute_map = {
+ 'access_token': {'key': 'accessToken', 'type': 'str'},
+ 'expiry_time_utc': {'key': 'expiryTimeUtc', 'type': 'long'},
+ 'refresh_after_time_utc': {'key': 'refreshAfterTimeUtc', 'type': 'long'},
+ 'token_type': {'key': 'tokenType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword access_token: Access token for endpoint authentication.
+ :paramtype access_token: str
+ :keyword expiry_time_utc: Access token expiry time (UTC).
+ :paramtype expiry_time_utc: long
+ :keyword refresh_after_time_utc: Refresh access token after time (UTC).
+ :paramtype refresh_after_time_utc: long
+ :keyword token_type: Access token type.
+ :paramtype token_type: str
+ """
+ super(EndpointAuthToken, self).__init__(**kwargs)
+ self.access_token = kwargs.get('access_token', None)
+ self.expiry_time_utc = kwargs.get('expiry_time_utc', 0)
+ self.refresh_after_time_utc = kwargs.get('refresh_after_time_utc', 0)
+ self.token_type = kwargs.get('token_type', None)
+
+
+class ScheduleActionBase(msrest.serialization.Model):
+ """ScheduleActionBase.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: JobScheduleAction, EndpointScheduleAction.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar action_type: Required. [Required] Specifies the action type of the schedule.Constant
+ filled by server. Possible values include: "CreateJob", "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ """
+
+ _validation = {
+ 'action_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'action_type': {'key': 'actionType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'action_type': {'CreateJob': 'JobScheduleAction', 'InvokeBatchEndpoint': 'EndpointScheduleAction'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ScheduleActionBase, self).__init__(**kwargs)
+ self.action_type = None # type: Optional[str]
+
+
+class EndpointScheduleAction(ScheduleActionBase):
+ """EndpointScheduleAction.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar action_type: Required. [Required] Specifies the action type of the schedule.Constant
+ filled by server. Possible values include: "CreateJob", "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ :ivar endpoint_invocation_definition: Required. [Required] Defines Schedule action definition
+ details.
+
+
+ .. raw:: html
+
+ <see href="TBD" />.
+ :vartype endpoint_invocation_definition: any
+ """
+
+ _validation = {
+ 'action_type': {'required': True},
+ 'endpoint_invocation_definition': {'required': True},
+ }
+
+ _attribute_map = {
+ 'action_type': {'key': 'actionType', 'type': 'str'},
+ 'endpoint_invocation_definition': {'key': 'endpointInvocationDefinition', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword endpoint_invocation_definition: Required. [Required] Defines Schedule action
+ definition details.
+
+
+ .. raw:: html
+
+ <see href="TBD" />.
+ :paramtype endpoint_invocation_definition: any
+ """
+ super(EndpointScheduleAction, self).__init__(**kwargs)
+ self.action_type = 'InvokeBatchEndpoint' # type: str
+ self.endpoint_invocation_definition = kwargs['endpoint_invocation_definition']
+
+
+class EnvironmentContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'EnvironmentContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.EnvironmentContainerProperties
+ """
+ super(EnvironmentContainer, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class EnvironmentContainerProperties(AssetContainer):
+ """Container for environment specification versions.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(EnvironmentContainerProperties, self).__init__(**kwargs)
+
+
+class EnvironmentContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of EnvironmentContainer entities.
+
+ :ivar next_link: The link to the next page of EnvironmentContainer objects. If null, there are
+ no additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type EnvironmentContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[EnvironmentContainer]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of EnvironmentContainer objects. If null, there
+ are no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type EnvironmentContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ """
+ super(EnvironmentContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class EnvironmentVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'EnvironmentVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentVersionProperties
+ """
+ super(EnvironmentVersion, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class EnvironmentVersionProperties(AssetBase):
+ """Environment version details.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar auto_rebuild: Defines if image needs to be rebuilt based on base image changes. Possible
+ values include: "Disabled", "OnBaseImageUpdate".
+ :vartype auto_rebuild: str or ~azure.mgmt.machinelearningservices.models.AutoRebuildSetting
+ :ivar build: Configuration settings for Docker build context.
+ :vartype build: ~azure.mgmt.machinelearningservices.models.BuildContext
+ :ivar conda_file: Standard configuration file used by Conda that lets you install any kind of
+ package, including Python, R, and C/C++ packages.
+
+
+ .. raw:: html
+
+ <see
+ href="https://repo2docker.readthedocs.io/en/latest/config_files.html#environment-yml-install-a-conda-environment"
+ />.
+ :vartype conda_file: str
+ :ivar environment_type: Environment type is either user managed or curated by the Azure ML
+ service
+
+
+ .. raw:: html
+
+ <see
+ href="https://learn.microsoft.com/azure/machine-learning/resource-curated-environments"
+ />. Possible values include: "Curated", "UserCreated".
+ :vartype environment_type: str or ~azure.mgmt.machinelearningservices.models.EnvironmentType
+ :ivar image: Name of the image that will be used for the environment.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://learn.microsoft.com/azure/machine-learning/how-to-deploy-custom-docker-image#use-a-custom-base-image"
+ />.
+ :vartype image: str
+ :ivar inference_config: Defines configuration specific to inference.
+ :vartype inference_config:
+ ~azure.mgmt.machinelearningservices.models.InferenceContainerProperties
+ :ivar os_type: The OS type of the environment. Possible values include: "Linux", "Windows".
+ :vartype os_type: str or ~azure.mgmt.machinelearningservices.models.OperatingSystemType
+ """
+
+ _validation = {
+ 'environment_type': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'auto_rebuild': {'key': 'autoRebuild', 'type': 'str'},
+ 'build': {'key': 'build', 'type': 'BuildContext'},
+ 'conda_file': {'key': 'condaFile', 'type': 'str'},
+ 'environment_type': {'key': 'environmentType', 'type': 'str'},
+ 'image': {'key': 'image', 'type': 'str'},
+ 'inference_config': {'key': 'inferenceConfig', 'type': 'InferenceContainerProperties'},
+ 'os_type': {'key': 'osType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword auto_rebuild: Defines if image needs to be rebuilt based on base image changes.
+ Possible values include: "Disabled", "OnBaseImageUpdate".
+ :paramtype auto_rebuild: str or ~azure.mgmt.machinelearningservices.models.AutoRebuildSetting
+ :keyword build: Configuration settings for Docker build context.
+ :paramtype build: ~azure.mgmt.machinelearningservices.models.BuildContext
+ :keyword conda_file: Standard configuration file used by Conda that lets you install any kind
+ of package, including Python, R, and C/C++ packages.
+
+
+ .. raw:: html
+
+ <see
+ href="https://repo2docker.readthedocs.io/en/latest/config_files.html#environment-yml-install-a-conda-environment"
+ />.
+ :paramtype conda_file: str
+ :keyword image: Name of the image that will be used for the environment.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://learn.microsoft.com/azure/machine-learning/how-to-deploy-custom-docker-image#use-a-custom-base-image"
+ />.
+ :paramtype image: str
+ :keyword inference_config: Defines configuration specific to inference.
+ :paramtype inference_config:
+ ~azure.mgmt.machinelearningservices.models.InferenceContainerProperties
+ :keyword os_type: The OS type of the environment. Possible values include: "Linux", "Windows".
+ :paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.OperatingSystemType
+ """
+ super(EnvironmentVersionProperties, self).__init__(**kwargs)
+ self.auto_rebuild = kwargs.get('auto_rebuild', None)
+ self.build = kwargs.get('build', None)
+ self.conda_file = kwargs.get('conda_file', None)
+ self.environment_type = None
+ self.image = kwargs.get('image', None)
+ self.inference_config = kwargs.get('inference_config', None)
+ self.os_type = kwargs.get('os_type', None)
+
+
+class EnvironmentVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of EnvironmentVersion entities.
+
+ :ivar next_link: The link to the next page of EnvironmentVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type EnvironmentVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[EnvironmentVersion]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of EnvironmentVersion objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type EnvironmentVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ """
+ super(EnvironmentVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class ErrorAdditionalInfo(msrest.serialization.Model):
+ """The resource management error additional info.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar type: The additional info type.
+ :vartype type: str
+ :ivar info: The additional info.
+ :vartype info: any
+ """
+
+ _validation = {
+ 'type': {'readonly': True},
+ 'info': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'type': {'key': 'type', 'type': 'str'},
+ 'info': {'key': 'info', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ErrorAdditionalInfo, self).__init__(**kwargs)
+ self.type = None
+ self.info = None
+
+
+class ErrorDetail(msrest.serialization.Model):
+ """The error detail.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: The error code.
+ :vartype code: str
+ :ivar message: The error message.
+ :vartype message: str
+ :ivar target: The error target.
+ :vartype target: str
+ :ivar details: The error details.
+ :vartype details: list[~azure.mgmt.machinelearningservices.models.ErrorDetail]
+ :ivar additional_info: The error additional info.
+ :vartype additional_info: list[~azure.mgmt.machinelearningservices.models.ErrorAdditionalInfo]
+ """
+
+ _validation = {
+ 'code': {'readonly': True},
+ 'message': {'readonly': True},
+ 'target': {'readonly': True},
+ 'details': {'readonly': True},
+ 'additional_info': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code': {'key': 'code', 'type': 'str'},
+ 'message': {'key': 'message', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'details': {'key': 'details', 'type': '[ErrorDetail]'},
+ 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ErrorDetail, self).__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+ self.details = None
+ self.additional_info = None
+
+
+class ErrorResponse(msrest.serialization.Model):
+ """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
+
+ :ivar error: The error object.
+ :vartype error: ~azure.mgmt.machinelearningservices.models.ErrorDetail
+ """
+
+ _attribute_map = {
+ 'error': {'key': 'error', 'type': 'ErrorDetail'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword error: The error object.
+ :paramtype error: ~azure.mgmt.machinelearningservices.models.ErrorDetail
+ """
+ super(ErrorResponse, self).__init__(**kwargs)
+ self.error = kwargs.get('error', None)
+
+
+class EstimatedVMPrice(msrest.serialization.Model):
+ """The estimated price info for using a VM of a particular OS type, tier, etc.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar retail_price: Required. The price charged for using the VM.
+ :vartype retail_price: float
+ :ivar os_type: Required. Operating system type used by the VM. Possible values include:
+ "Linux", "Windows".
+ :vartype os_type: str or ~azure.mgmt.machinelearningservices.models.VMPriceOSType
+ :ivar vm_tier: Required. The type of the VM. Possible values include: "Standard",
+ "LowPriority", "Spot".
+ :vartype vm_tier: str or ~azure.mgmt.machinelearningservices.models.VMTier
+ """
+
+ _validation = {
+ 'retail_price': {'required': True},
+ 'os_type': {'required': True},
+ 'vm_tier': {'required': True},
+ }
+
+ _attribute_map = {
+ 'retail_price': {'key': 'retailPrice', 'type': 'float'},
+ 'os_type': {'key': 'osType', 'type': 'str'},
+ 'vm_tier': {'key': 'vmTier', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword retail_price: Required. The price charged for using the VM.
+ :paramtype retail_price: float
+ :keyword os_type: Required. Operating system type used by the VM. Possible values include:
+ "Linux", "Windows".
+ :paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.VMPriceOSType
+ :keyword vm_tier: Required. The type of the VM. Possible values include: "Standard",
+ "LowPriority", "Spot".
+ :paramtype vm_tier: str or ~azure.mgmt.machinelearningservices.models.VMTier
+ """
+ super(EstimatedVMPrice, self).__init__(**kwargs)
+ self.retail_price = kwargs['retail_price']
+ self.os_type = kwargs['os_type']
+ self.vm_tier = kwargs['vm_tier']
+
+
+class EstimatedVMPrices(msrest.serialization.Model):
+ """The estimated price info for using a VM.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar billing_currency: Required. Three lettered code specifying the currency of the VM price.
+ Example: USD. Possible values include: "USD".
+ :vartype billing_currency: str or ~azure.mgmt.machinelearningservices.models.BillingCurrency
+ :ivar unit_of_measure: Required. The unit of time measurement for the specified VM price.
+ Example: OneHour. Possible values include: "OneHour".
+ :vartype unit_of_measure: str or ~azure.mgmt.machinelearningservices.models.UnitOfMeasure
+ :ivar values: Required. The list of estimated prices for using a VM of a particular OS type,
+ tier, etc.
+ :vartype values: list[~azure.mgmt.machinelearningservices.models.EstimatedVMPrice]
+ """
+
+ _validation = {
+ 'billing_currency': {'required': True},
+ 'unit_of_measure': {'required': True},
+ 'values': {'required': True},
+ }
+
+ _attribute_map = {
+ 'billing_currency': {'key': 'billingCurrency', 'type': 'str'},
+ 'unit_of_measure': {'key': 'unitOfMeasure', 'type': 'str'},
+ 'values': {'key': 'values', 'type': '[EstimatedVMPrice]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword billing_currency: Required. Three lettered code specifying the currency of the VM
+ price. Example: USD. Possible values include: "USD".
+ :paramtype billing_currency: str or ~azure.mgmt.machinelearningservices.models.BillingCurrency
+ :keyword unit_of_measure: Required. The unit of time measurement for the specified VM price.
+ Example: OneHour. Possible values include: "OneHour".
+ :paramtype unit_of_measure: str or ~azure.mgmt.machinelearningservices.models.UnitOfMeasure
+ :keyword values: Required. The list of estimated prices for using a VM of a particular OS type,
+ tier, etc.
+ :paramtype values: list[~azure.mgmt.machinelearningservices.models.EstimatedVMPrice]
+ """
+ super(EstimatedVMPrices, self).__init__(**kwargs)
+ self.billing_currency = kwargs['billing_currency']
+ self.unit_of_measure = kwargs['unit_of_measure']
+ self.values = kwargs['values']
+
+
+class ExternalFQDNResponse(msrest.serialization.Model):
+ """ExternalFQDNResponse.
+
+ :ivar value:
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoints]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[FQDNEndpoints]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoints]
+ """
+ super(ExternalFQDNResponse, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class FeaturizationSettings(msrest.serialization.Model):
+ """Featurization Configuration.
+
+ :ivar dataset_language: Dataset language, useful for the text data.
+ :vartype dataset_language: str
+ """
+
+ _attribute_map = {
+ 'dataset_language': {'key': 'datasetLanguage', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ """
+ super(FeaturizationSettings, self).__init__(**kwargs)
+ self.dataset_language = kwargs.get('dataset_language', None)
+
+
+class FlavorData(msrest.serialization.Model):
+ """FlavorData.
+
+ :ivar data: Model flavor-specific data.
+ :vartype data: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'data': {'key': 'data', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword data: Model flavor-specific data.
+ :paramtype data: dict[str, str]
+ """
+ super(FlavorData, self).__init__(**kwargs)
+ self.data = kwargs.get('data', None)
+
+
+class Forecasting(AutoMLVertical, TableVertical):
+ """Forecasting task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar forecasting_settings: Forecasting task specific inputs.
+ :vartype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
+ :ivar primary_metric: Primary metric for forecasting task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingPrimaryMetrics
+ :ivar training_settings: Inputs for training phase for an AutoML Job.
+ :vartype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ForecastingTrainingSettings
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'forecasting_settings': {'key': 'forecastingSettings', 'type': 'ForecastingSettings'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ 'training_settings': {'key': 'trainingSettings', 'type': 'ForecastingTrainingSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword forecasting_settings: Forecasting task specific inputs.
+ :paramtype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
+ :keyword primary_metric: Primary metric for forecasting task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingPrimaryMetrics
+ :keyword training_settings: Inputs for training phase for an AutoML Job.
+ :paramtype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ForecastingTrainingSettings
+ """
+ super(Forecasting, self).__init__(**kwargs)
+ self.cv_split_column_names = kwargs.get('cv_split_column_names', None)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.n_cross_validations = kwargs.get('n_cross_validations', None)
+ self.test_data = kwargs.get('test_data', None)
+ self.test_data_size = kwargs.get('test_data_size', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.weight_column_name = kwargs.get('weight_column_name', None)
+ self.task_type = 'Forecasting' # type: str
+ self.forecasting_settings = kwargs.get('forecasting_settings', None)
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.training_settings = kwargs.get('training_settings', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class ForecastingSettings(msrest.serialization.Model):
+ """Forecasting specific parameters.
+
+ :ivar country_or_region_for_holidays: Country or region for holidays for forecasting tasks.
+ These should be ISO 3166 two-letter country/region codes, for example 'US' or 'GB'.
+ :vartype country_or_region_for_holidays: str
+ :ivar cv_step_size: Number of periods between the origin time of one CV fold and the next fold.
+ For
+ example, if ``CVStepSize`` = 3 for daily data, the origin time for each fold will be
+ three days apart.
+ :vartype cv_step_size: int
+ :ivar feature_lags: Flag for generating lags for the numeric features with 'auto' or null.
+ Possible values include: "None", "Auto".
+ :vartype feature_lags: str or ~azure.mgmt.machinelearningservices.models.FeatureLags
+ :ivar forecast_horizon: The desired maximum forecast horizon in units of time-series frequency.
+ :vartype forecast_horizon: ~azure.mgmt.machinelearningservices.models.ForecastHorizon
+ :ivar frequency: When forecasting, this parameter represents the period with which the forecast
+ is desired, for example daily, weekly, yearly, etc. The forecast frequency is dataset frequency
+ by default.
+ :vartype frequency: str
+ :ivar seasonality: Set time series seasonality as an integer multiple of the series frequency.
+ If seasonality is set to 'auto', it will be inferred.
+ :vartype seasonality: ~azure.mgmt.machinelearningservices.models.Seasonality
+ :ivar short_series_handling_config: The parameter defining how if AutoML should handle short
+ time series. Possible values include: "None", "Auto", "Pad", "Drop".
+ :vartype short_series_handling_config: str or
+ ~azure.mgmt.machinelearningservices.models.ShortSeriesHandlingConfiguration
+ :ivar target_aggregate_function: The function to be used to aggregate the time series target
+ column to conform to a user specified frequency.
+ If the TargetAggregateFunction is set i.e. not 'None', but the freq parameter is not set, the
+ error is raised. The possible target aggregation functions are: "sum", "max", "min" and "mean".
+ Possible values include: "None", "Sum", "Max", "Min", "Mean".
+ :vartype target_aggregate_function: str or
+ ~azure.mgmt.machinelearningservices.models.TargetAggregationFunction
+ :ivar target_lags: The number of past periods to lag from the target column.
+ :vartype target_lags: ~azure.mgmt.machinelearningservices.models.TargetLags
+ :ivar target_rolling_window_size: The number of past periods used to create a rolling window
+ average of the target column.
+ :vartype target_rolling_window_size:
+ ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSize
+ :ivar time_column_name: The name of the time column. This parameter is required when
+ forecasting to specify the datetime column in the input data used for building the time series
+ and inferring its frequency.
+ :vartype time_column_name: str
+ :ivar time_series_id_column_names: The names of columns used to group a timeseries. It can be
+ used to create multiple series.
+ If grain is not defined, the data set is assumed to be one time-series. This parameter is used
+ with task type forecasting.
+ :vartype time_series_id_column_names: list[str]
+ :ivar use_stl: Configure STL Decomposition of the time-series target column. Possible values
+ include: "None", "Season", "SeasonTrend".
+ :vartype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ """
+
+ _attribute_map = {
+ 'country_or_region_for_holidays': {'key': 'countryOrRegionForHolidays', 'type': 'str'},
+ 'cv_step_size': {'key': 'cvStepSize', 'type': 'int'},
+ 'feature_lags': {'key': 'featureLags', 'type': 'str'},
+ 'forecast_horizon': {'key': 'forecastHorizon', 'type': 'ForecastHorizon'},
+ 'frequency': {'key': 'frequency', 'type': 'str'},
+ 'seasonality': {'key': 'seasonality', 'type': 'Seasonality'},
+ 'short_series_handling_config': {'key': 'shortSeriesHandlingConfig', 'type': 'str'},
+ 'target_aggregate_function': {'key': 'targetAggregateFunction', 'type': 'str'},
+ 'target_lags': {'key': 'targetLags', 'type': 'TargetLags'},
+ 'target_rolling_window_size': {'key': 'targetRollingWindowSize', 'type': 'TargetRollingWindowSize'},
+ 'time_column_name': {'key': 'timeColumnName', 'type': 'str'},
+ 'time_series_id_column_names': {'key': 'timeSeriesIdColumnNames', 'type': '[str]'},
+ 'use_stl': {'key': 'useStl', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword country_or_region_for_holidays: Country or region for holidays for forecasting tasks.
+ These should be ISO 3166 two-letter country/region codes, for example 'US' or 'GB'.
+ :paramtype country_or_region_for_holidays: str
+ :keyword cv_step_size: Number of periods between the origin time of one CV fold and the next
+ fold. For
+ example, if ``CVStepSize`` = 3 for daily data, the origin time for each fold will be
+ three days apart.
+ :paramtype cv_step_size: int
+ :keyword feature_lags: Flag for generating lags for the numeric features with 'auto' or null.
+ Possible values include: "None", "Auto".
+ :paramtype feature_lags: str or ~azure.mgmt.machinelearningservices.models.FeatureLags
+ :keyword forecast_horizon: The desired maximum forecast horizon in units of time-series
+ frequency.
+ :paramtype forecast_horizon: ~azure.mgmt.machinelearningservices.models.ForecastHorizon
+ :keyword frequency: When forecasting, this parameter represents the period with which the
+ forecast is desired, for example daily, weekly, yearly, etc. The forecast frequency is dataset
+ frequency by default.
+ :paramtype frequency: str
+ :keyword seasonality: Set time series seasonality as an integer multiple of the series
+ frequency.
+ If seasonality is set to 'auto', it will be inferred.
+ :paramtype seasonality: ~azure.mgmt.machinelearningservices.models.Seasonality
+ :keyword short_series_handling_config: The parameter defining how if AutoML should handle short
+ time series. Possible values include: "None", "Auto", "Pad", "Drop".
+ :paramtype short_series_handling_config: str or
+ ~azure.mgmt.machinelearningservices.models.ShortSeriesHandlingConfiguration
+ :keyword target_aggregate_function: The function to be used to aggregate the time series target
+ column to conform to a user specified frequency.
+ If the TargetAggregateFunction is set i.e. not 'None', but the freq parameter is not set, the
+ error is raised. The possible target aggregation functions are: "sum", "max", "min" and "mean".
+ Possible values include: "None", "Sum", "Max", "Min", "Mean".
+ :paramtype target_aggregate_function: str or
+ ~azure.mgmt.machinelearningservices.models.TargetAggregationFunction
+ :keyword target_lags: The number of past periods to lag from the target column.
+ :paramtype target_lags: ~azure.mgmt.machinelearningservices.models.TargetLags
+ :keyword target_rolling_window_size: The number of past periods used to create a rolling window
+ average of the target column.
+ :paramtype target_rolling_window_size:
+ ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSize
+ :keyword time_column_name: The name of the time column. This parameter is required when
+ forecasting to specify the datetime column in the input data used for building the time series
+ and inferring its frequency.
+ :paramtype time_column_name: str
+ :keyword time_series_id_column_names: The names of columns used to group a timeseries. It can
+ be used to create multiple series.
+ If grain is not defined, the data set is assumed to be one time-series. This parameter is used
+ with task type forecasting.
+ :paramtype time_series_id_column_names: list[str]
+ :keyword use_stl: Configure STL Decomposition of the time-series target column. Possible values
+ include: "None", "Season", "SeasonTrend".
+ :paramtype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ """
+ super(ForecastingSettings, self).__init__(**kwargs)
+ self.country_or_region_for_holidays = kwargs.get('country_or_region_for_holidays', None)
+ self.cv_step_size = kwargs.get('cv_step_size', None)
+ self.feature_lags = kwargs.get('feature_lags', None)
+ self.forecast_horizon = kwargs.get('forecast_horizon', None)
+ self.frequency = kwargs.get('frequency', None)
+ self.seasonality = kwargs.get('seasonality', None)
+ self.short_series_handling_config = kwargs.get('short_series_handling_config', None)
+ self.target_aggregate_function = kwargs.get('target_aggregate_function', None)
+ self.target_lags = kwargs.get('target_lags', None)
+ self.target_rolling_window_size = kwargs.get('target_rolling_window_size', None)
+ self.time_column_name = kwargs.get('time_column_name', None)
+ self.time_series_id_column_names = kwargs.get('time_series_id_column_names', None)
+ self.use_stl = kwargs.get('use_stl', None)
+
+
+class ForecastingTrainingSettings(TrainingSettings):
+ """Forecasting Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar allowed_training_algorithms: Allowed models for forecasting task.
+ :vartype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ :ivar blocked_training_algorithms: Blocked models for forecasting task.
+ :vartype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ 'allowed_training_algorithms': {'key': 'allowedTrainingAlgorithms', 'type': '[str]'},
+ 'blocked_training_algorithms': {'key': 'blockedTrainingAlgorithms', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword allowed_training_algorithms: Allowed models for forecasting task.
+ :paramtype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ :keyword blocked_training_algorithms: Blocked models for forecasting task.
+ :paramtype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ """
+ super(ForecastingTrainingSettings, self).__init__(**kwargs)
+ self.allowed_training_algorithms = kwargs.get('allowed_training_algorithms', None)
+ self.blocked_training_algorithms = kwargs.get('blocked_training_algorithms', None)
+
+
+class FQDNEndpoint(msrest.serialization.Model):
+ """FQDNEndpoint.
+
+ :ivar domain_name:
+ :vartype domain_name: str
+ :ivar endpoint_details:
+ :vartype endpoint_details: list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
+ """
+
+ _attribute_map = {
+ 'domain_name': {'key': 'domainName', 'type': 'str'},
+ 'endpoint_details': {'key': 'endpointDetails', 'type': '[FQDNEndpointDetail]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword domain_name:
+ :paramtype domain_name: str
+ :keyword endpoint_details:
+ :paramtype endpoint_details:
+ list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
+ """
+ super(FQDNEndpoint, self).__init__(**kwargs)
+ self.domain_name = kwargs.get('domain_name', None)
+ self.endpoint_details = kwargs.get('endpoint_details', None)
+
+
+class FQDNEndpointDetail(msrest.serialization.Model):
+ """FQDNEndpointDetail.
+
+ :ivar port:
+ :vartype port: int
+ """
+
+ _attribute_map = {
+ 'port': {'key': 'port', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword port:
+ :paramtype port: int
+ """
+ super(FQDNEndpointDetail, self).__init__(**kwargs)
+ self.port = kwargs.get('port', None)
+
+
+class FQDNEndpoints(msrest.serialization.Model):
+ """FQDNEndpoints.
+
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'FQDNEndpointsProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
+ """
+ super(FQDNEndpoints, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class FQDNEndpointsProperties(msrest.serialization.Model):
+ """FQDNEndpointsProperties.
+
+ :ivar category:
+ :vartype category: str
+ :ivar endpoints:
+ :vartype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ """
+
+ _attribute_map = {
+ 'category': {'key': 'category', 'type': 'str'},
+ 'endpoints': {'key': 'endpoints', 'type': '[FQDNEndpoint]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category:
+ :paramtype category: str
+ :keyword endpoints:
+ :paramtype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ """
+ super(FQDNEndpointsProperties, self).__init__(**kwargs)
+ self.category = kwargs.get('category', None)
+ self.endpoints = kwargs.get('endpoints', None)
+
+
+class GridSamplingAlgorithm(SamplingAlgorithm):
+ """Defines a Sampling Algorithm that exhaustively generates every value combination in the space.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(GridSamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = 'Grid' # type: str
+
+
+class HDInsightSchema(msrest.serialization.Model):
+ """HDInsightSchema.
+
+ :ivar properties: HDInsight compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'HDInsightProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: HDInsight compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ """
+ super(HDInsightSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class HDInsight(Compute, HDInsightSchema):
+ """A HDInsight compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: HDInsight compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'HDInsightProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: HDInsight compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(HDInsight, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'HDInsight' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class HDInsightProperties(msrest.serialization.Model):
+ """HDInsight compute properties.
+
+ :ivar ssh_port: Port open for ssh connections on the master node of the cluster.
+ :vartype ssh_port: int
+ :ivar address: Public IP address of the master node of the cluster.
+ :vartype address: str
+ :ivar administrator_account: Admin credentials for master node of the cluster.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+
+ _attribute_map = {
+ 'ssh_port': {'key': 'sshPort', 'type': 'int'},
+ 'address': {'key': 'address', 'type': 'str'},
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword ssh_port: Port open for ssh connections on the master node of the cluster.
+ :paramtype ssh_port: int
+ :keyword address: Public IP address of the master node of the cluster.
+ :paramtype address: str
+ :keyword administrator_account: Admin credentials for master node of the cluster.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+ super(HDInsightProperties, self).__init__(**kwargs)
+ self.ssh_port = kwargs.get('ssh_port', None)
+ self.address = kwargs.get('address', None)
+ self.administrator_account = kwargs.get('administrator_account', None)
+
+
+class IdAssetReference(AssetReferenceBase):
+ """Reference to an asset via its ARM resource ID.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar asset_id: Required. [Required] ARM resource ID of the asset.
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ 'asset_id': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ 'asset_id': {'key': 'assetId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword asset_id: Required. [Required] ARM resource ID of the asset.
+ :paramtype asset_id: str
+ """
+ super(IdAssetReference, self).__init__(**kwargs)
+ self.reference_type = 'Id' # type: str
+ self.asset_id = kwargs['asset_id']
+
+
+class IdentityForCmk(msrest.serialization.Model):
+ """Identity that will be used to access key vault for encryption at rest.
+
+ :ivar user_assigned_identity: The ArmId of the user assigned identity that will be used to
+ access the customer managed key vault.
+ :vartype user_assigned_identity: str
+ """
+
+ _attribute_map = {
+ 'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword user_assigned_identity: The ArmId of the user assigned identity that will be used to
+ access the customer managed key vault.
+ :paramtype user_assigned_identity: str
+ """
+ super(IdentityForCmk, self).__init__(**kwargs)
+ self.user_assigned_identity = kwargs.get('user_assigned_identity', None)
+
+
+class ImageVertical(msrest.serialization.Model):
+ """Abstract class for AutoML tasks that train image (computer vision) models -
+such as Image Classification / Image Classification Multilabel / Image Object Detection / Image Instance Segmentation.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ """
+ super(ImageVertical, self).__init__(**kwargs)
+ self.limit_settings = kwargs['limit_settings']
+ self.sweep_settings = kwargs.get('sweep_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+
+
+class ImageClassificationBase(ImageVertical):
+ """ImageClassificationBase.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsClassification'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsClassification]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ """
+ super(ImageClassificationBase, self).__init__(**kwargs)
+ self.model_settings = kwargs.get('model_settings', None)
+ self.search_space = kwargs.get('search_space', None)
+
+
+class ImageClassification(AutoMLVertical, ImageClassificationBase):
+ """Image Classification. Multi-class image classification is used when an image is classified with only a single label
+from a set of classes - e.g. each image is classified as either an image of a 'cat' or a 'dog' or a 'duck'.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsClassification'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsClassification]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+ super(ImageClassification, self).__init__(**kwargs)
+ self.limit_settings = kwargs['limit_settings']
+ self.sweep_settings = kwargs.get('sweep_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.model_settings = kwargs.get('model_settings', None)
+ self.search_space = kwargs.get('search_space', None)
+ self.task_type = 'ImageClassification' # type: str
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class ImageClassificationMultilabel(AutoMLVertical, ImageClassificationBase):
+ """Image Classification Multilabel. Multi-label image classification is used when an image could have one or more labels
+from a set of labels - e.g. an image could be labeled with both 'cat' and 'dog'.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted", "IOU".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsClassification'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsClassification]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted", "IOU".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+ super(ImageClassificationMultilabel, self).__init__(**kwargs)
+ self.limit_settings = kwargs['limit_settings']
+ self.sweep_settings = kwargs.get('sweep_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.model_settings = kwargs.get('model_settings', None)
+ self.search_space = kwargs.get('search_space', None)
+ self.task_type = 'ImageClassificationMultilabel' # type: str
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class ImageObjectDetectionBase(ImageVertical):
+ """ImageObjectDetectionBase.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsObjectDetection'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsObjectDetection]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ """
+ super(ImageObjectDetectionBase, self).__init__(**kwargs)
+ self.model_settings = kwargs.get('model_settings', None)
+ self.search_space = kwargs.get('search_space', None)
+
+
+class ImageInstanceSegmentation(AutoMLVertical, ImageObjectDetectionBase):
+ """Image Instance Segmentation. Instance segmentation is used to identify objects in an image at the pixel level,
+drawing a polygon around each object in the image.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsObjectDetection'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsObjectDetection]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ """
+ super(ImageInstanceSegmentation, self).__init__(**kwargs)
+ self.limit_settings = kwargs['limit_settings']
+ self.sweep_settings = kwargs.get('sweep_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.model_settings = kwargs.get('model_settings', None)
+ self.search_space = kwargs.get('search_space', None)
+ self.task_type = 'ImageInstanceSegmentation' # type: str
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class ImageLimitSettings(msrest.serialization.Model):
+ """Limit settings for the AutoML job.
+
+ :ivar max_concurrent_trials: Maximum number of concurrent AutoML iterations.
+ :vartype max_concurrent_trials: int
+ :ivar max_trials: Maximum number of AutoML iterations.
+ :vartype max_trials: int
+ :ivar timeout: AutoML job timeout.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_trials': {'key': 'maxTrials', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword max_concurrent_trials: Maximum number of concurrent AutoML iterations.
+ :paramtype max_concurrent_trials: int
+ :keyword max_trials: Maximum number of AutoML iterations.
+ :paramtype max_trials: int
+ :keyword timeout: AutoML job timeout.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(ImageLimitSettings, self).__init__(**kwargs)
+ self.max_concurrent_trials = kwargs.get('max_concurrent_trials', 1)
+ self.max_trials = kwargs.get('max_trials', 1)
+ self.timeout = kwargs.get('timeout', "P7D")
+
+
+class ImageModelDistributionSettings(msrest.serialization.Model):
+ """Distribution expressions to sweep over values of model settings.
+
+:code:`<example>
+Some examples are:
+<code>
+ModelName = "choice('seresnext', 'resnest50')";
+LearningRate = "uniform(0.001, 0.01)";
+LayersToFreeze = "choice(0, 2)";
+</code></example>`
+All distributions can be specified as distribution_name(min, max) or choice(val1, val2, ..., valn)
+where distribution name can be: uniform, quniform, loguniform, etc
+For more details on how to compose distribution expressions please check the documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: str
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: str
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: str
+ :ivar distributed: Whether to use distributer training.
+ :vartype distributed: str
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: str
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: str
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: str
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: str
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: str
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: str
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: str
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: str
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: str
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: str
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: str
+ :ivar optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :vartype optimizer: str
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: str
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: str
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: str
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: str
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: str
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: str
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: str
+ """
+
+ _attribute_map = {
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'str'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'str'},
+ 'beta2': {'key': 'beta2', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'str'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'str'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'str'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'str'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'str'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'str'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'str'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'str'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'str'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'str'},
+ 'nesterov': {'key': 'nesterov', 'type': 'str'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'str'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'str'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'str'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'str'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'str'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'str'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'str'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'str'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'str'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: str
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: str
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: str
+ :keyword distributed: Whether to use distributer training.
+ :paramtype distributed: str
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: str
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: str
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: str
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: str
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: str
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: str
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: str
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: str
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: str
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: str
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: str
+ :keyword optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :paramtype optimizer: str
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: str
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: str
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: str
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: str
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: str
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: str
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: str
+ """
+ super(ImageModelDistributionSettings, self).__init__(**kwargs)
+ self.ams_gradient = kwargs.get('ams_gradient', None)
+ self.augmentations = kwargs.get('augmentations', None)
+ self.beta1 = kwargs.get('beta1', None)
+ self.beta2 = kwargs.get('beta2', None)
+ self.distributed = kwargs.get('distributed', None)
+ self.early_stopping = kwargs.get('early_stopping', None)
+ self.early_stopping_delay = kwargs.get('early_stopping_delay', None)
+ self.early_stopping_patience = kwargs.get('early_stopping_patience', None)
+ self.enable_onnx_normalization = kwargs.get('enable_onnx_normalization', None)
+ self.evaluation_frequency = kwargs.get('evaluation_frequency', None)
+ self.gradient_accumulation_step = kwargs.get('gradient_accumulation_step', None)
+ self.layers_to_freeze = kwargs.get('layers_to_freeze', None)
+ self.learning_rate = kwargs.get('learning_rate', None)
+ self.learning_rate_scheduler = kwargs.get('learning_rate_scheduler', None)
+ self.model_name = kwargs.get('model_name', None)
+ self.momentum = kwargs.get('momentum', None)
+ self.nesterov = kwargs.get('nesterov', None)
+ self.number_of_epochs = kwargs.get('number_of_epochs', None)
+ self.number_of_workers = kwargs.get('number_of_workers', None)
+ self.optimizer = kwargs.get('optimizer', None)
+ self.random_seed = kwargs.get('random_seed', None)
+ self.step_lr_gamma = kwargs.get('step_lr_gamma', None)
+ self.step_lr_step_size = kwargs.get('step_lr_step_size', None)
+ self.training_batch_size = kwargs.get('training_batch_size', None)
+ self.validation_batch_size = kwargs.get('validation_batch_size', None)
+ self.warmup_cosine_lr_cycles = kwargs.get('warmup_cosine_lr_cycles', None)
+ self.warmup_cosine_lr_warmup_epochs = kwargs.get('warmup_cosine_lr_warmup_epochs', None)
+ self.weight_decay = kwargs.get('weight_decay', None)
+
+
+class ImageModelDistributionSettingsClassification(ImageModelDistributionSettings):
+ """Distribution expressions to sweep over values of model settings.
+
+:code:`<example>
+Some examples are:
+<code>
+ModelName = "choice('seresnext', 'resnest50')";
+LearningRate = "uniform(0.001, 0.01)";
+LayersToFreeze = "choice(0, 2)";
+</code></example>`
+For more details on how to compose distribution expressions please check the documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: str
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: str
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: str
+ :ivar distributed: Whether to use distributer training.
+ :vartype distributed: str
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: str
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: str
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: str
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: str
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: str
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: str
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: str
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: str
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: str
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: str
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: str
+ :ivar optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :vartype optimizer: str
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: str
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: str
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: str
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: str
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: str
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: str
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: str
+ :ivar training_crop_size: Image crop size that is input to the neural network for the training
+ dataset. Must be a positive integer.
+ :vartype training_crop_size: str
+ :ivar validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :vartype validation_crop_size: str
+ :ivar validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :vartype validation_resize_size: str
+ :ivar weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :vartype weighted_loss: str
+ """
+
+ _attribute_map = {
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'str'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'str'},
+ 'beta2': {'key': 'beta2', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'str'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'str'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'str'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'str'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'str'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'str'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'str'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'str'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'str'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'str'},
+ 'nesterov': {'key': 'nesterov', 'type': 'str'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'str'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'str'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'str'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'str'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'str'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'str'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'str'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'str'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'str'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'str'},
+ 'training_crop_size': {'key': 'trainingCropSize', 'type': 'str'},
+ 'validation_crop_size': {'key': 'validationCropSize', 'type': 'str'},
+ 'validation_resize_size': {'key': 'validationResizeSize', 'type': 'str'},
+ 'weighted_loss': {'key': 'weightedLoss', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: str
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: str
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: str
+ :keyword distributed: Whether to use distributer training.
+ :paramtype distributed: str
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: str
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: str
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: str
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: str
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: str
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: str
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: str
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: str
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: str
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: str
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: str
+ :keyword optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :paramtype optimizer: str
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: str
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: str
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: str
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: str
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: str
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: str
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: str
+ :keyword training_crop_size: Image crop size that is input to the neural network for the
+ training dataset. Must be a positive integer.
+ :paramtype training_crop_size: str
+ :keyword validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :paramtype validation_crop_size: str
+ :keyword validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :paramtype validation_resize_size: str
+ :keyword weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :paramtype weighted_loss: str
+ """
+ super(ImageModelDistributionSettingsClassification, self).__init__(**kwargs)
+ self.training_crop_size = kwargs.get('training_crop_size', None)
+ self.validation_crop_size = kwargs.get('validation_crop_size', None)
+ self.validation_resize_size = kwargs.get('validation_resize_size', None)
+ self.weighted_loss = kwargs.get('weighted_loss', None)
+
+
+class ImageModelDistributionSettingsObjectDetection(ImageModelDistributionSettings):
+ """Distribution expressions to sweep over values of model settings.
+
+:code:`<example>
+Some examples are:
+<code>
+ModelName = "choice('seresnext', 'resnest50')";
+LearningRate = "uniform(0.001, 0.01)";
+LayersToFreeze = "choice(0, 2)";
+</code></example>`
+For more details on how to compose distribution expressions please check the documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: str
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: str
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: str
+ :ivar distributed: Whether to use distributer training.
+ :vartype distributed: str
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: str
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: str
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: str
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: str
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: str
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: str
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: str
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: str
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: str
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: str
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: str
+ :ivar optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :vartype optimizer: str
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: str
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: str
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: str
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: str
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: str
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: str
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: str
+ :ivar box_detections_per_image: Maximum number of detections per image, for all classes. Must
+ be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype box_detections_per_image: str
+ :ivar box_score_threshold: During inference, only return proposals with a classification score
+ greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :vartype box_score_threshold: str
+ :ivar image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype image_size: str
+ :ivar max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype max_size: str
+ :ivar min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype min_size: str
+ :ivar model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype model_size: str
+ :ivar multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype multi_scale: str
+ :ivar nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be
+ float in the range [0, 1].
+ :vartype nms_iou_threshold: str
+ :ivar tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must not
+ be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_grid_size: str
+ :ivar tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be float
+ in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_overlap_ratio: str
+ :ivar tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ NMS: Non-maximum suppression.
+ :vartype tile_predictions_nms_threshold: str
+ :ivar validation_iou_threshold: IOU threshold to use when computing validation metric. Must be
+ float in the range [0, 1].
+ :vartype validation_iou_threshold: str
+ :ivar validation_metric_type: Metric computation method to use for validation metrics. Must be
+ 'none', 'coco', 'voc', or 'coco_voc'.
+ :vartype validation_metric_type: str
+ """
+
+ _attribute_map = {
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'str'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'str'},
+ 'beta2': {'key': 'beta2', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'str'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'str'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'str'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'str'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'str'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'str'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'str'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'str'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'str'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'str'},
+ 'nesterov': {'key': 'nesterov', 'type': 'str'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'str'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'str'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'str'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'str'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'str'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'str'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'str'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'str'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'str'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'str'},
+ 'box_detections_per_image': {'key': 'boxDetectionsPerImage', 'type': 'str'},
+ 'box_score_threshold': {'key': 'boxScoreThreshold', 'type': 'str'},
+ 'image_size': {'key': 'imageSize', 'type': 'str'},
+ 'max_size': {'key': 'maxSize', 'type': 'str'},
+ 'min_size': {'key': 'minSize', 'type': 'str'},
+ 'model_size': {'key': 'modelSize', 'type': 'str'},
+ 'multi_scale': {'key': 'multiScale', 'type': 'str'},
+ 'nms_iou_threshold': {'key': 'nmsIouThreshold', 'type': 'str'},
+ 'tile_grid_size': {'key': 'tileGridSize', 'type': 'str'},
+ 'tile_overlap_ratio': {'key': 'tileOverlapRatio', 'type': 'str'},
+ 'tile_predictions_nms_threshold': {'key': 'tilePredictionsNmsThreshold', 'type': 'str'},
+ 'validation_iou_threshold': {'key': 'validationIouThreshold', 'type': 'str'},
+ 'validation_metric_type': {'key': 'validationMetricType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: str
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: str
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: str
+ :keyword distributed: Whether to use distributer training.
+ :paramtype distributed: str
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: str
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: str
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: str
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: str
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: str
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: str
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: str
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: str
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: str
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: str
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: str
+ :keyword optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :paramtype optimizer: str
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: str
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: str
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: str
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: str
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: str
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: str
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: str
+ :keyword box_detections_per_image: Maximum number of detections per image, for all classes.
+ Must be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype box_detections_per_image: str
+ :keyword box_score_threshold: During inference, only return proposals with a classification
+ score greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :paramtype box_score_threshold: str
+ :keyword image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype image_size: str
+ :keyword max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype max_size: str
+ :keyword min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype min_size: str
+ :keyword model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype model_size: str
+ :keyword multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype multi_scale: str
+ :keyword nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be
+ float in the range [0, 1].
+ :paramtype nms_iou_threshold: str
+ :keyword tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must
+ not be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_grid_size: str
+ :keyword tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be
+ float in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_overlap_ratio: str
+ :keyword tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ NMS: Non-maximum suppression.
+ :paramtype tile_predictions_nms_threshold: str
+ :keyword validation_iou_threshold: IOU threshold to use when computing validation metric. Must
+ be float in the range [0, 1].
+ :paramtype validation_iou_threshold: str
+ :keyword validation_metric_type: Metric computation method to use for validation metrics. Must
+ be 'none', 'coco', 'voc', or 'coco_voc'.
+ :paramtype validation_metric_type: str
+ """
+ super(ImageModelDistributionSettingsObjectDetection, self).__init__(**kwargs)
+ self.box_detections_per_image = kwargs.get('box_detections_per_image', None)
+ self.box_score_threshold = kwargs.get('box_score_threshold', None)
+ self.image_size = kwargs.get('image_size', None)
+ self.max_size = kwargs.get('max_size', None)
+ self.min_size = kwargs.get('min_size', None)
+ self.model_size = kwargs.get('model_size', None)
+ self.multi_scale = kwargs.get('multi_scale', None)
+ self.nms_iou_threshold = kwargs.get('nms_iou_threshold', None)
+ self.tile_grid_size = kwargs.get('tile_grid_size', None)
+ self.tile_overlap_ratio = kwargs.get('tile_overlap_ratio', None)
+ self.tile_predictions_nms_threshold = kwargs.get('tile_predictions_nms_threshold', None)
+ self.validation_iou_threshold = kwargs.get('validation_iou_threshold', None)
+ self.validation_metric_type = kwargs.get('validation_metric_type', None)
+
+
+class ImageModelSettings(msrest.serialization.Model):
+ """Settings used for training the model.
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar advanced_settings: Settings for advanced scenarios.
+ :vartype advanced_settings: str
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: bool
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: float
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: float
+ :ivar checkpoint_frequency: Frequency to store model checkpoints. Must be a positive integer.
+ :vartype checkpoint_frequency: int
+ :ivar checkpoint_model: The pretrained checkpoint model for incremental training.
+ :vartype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :ivar checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :vartype checkpoint_run_id: str
+ :ivar distributed: Whether to use distributed training.
+ :vartype distributed: bool
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: bool
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: int
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: int
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: bool
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: int
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: int
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: int
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: float
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: bool
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: int
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: int
+ :ivar optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :vartype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: int
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: float
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: int
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: int
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: float
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: int
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: float
+ """
+
+ _attribute_map = {
+ 'advanced_settings': {'key': 'advancedSettings', 'type': 'str'},
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'bool'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'float'},
+ 'beta2': {'key': 'beta2', 'type': 'float'},
+ 'checkpoint_frequency': {'key': 'checkpointFrequency', 'type': 'int'},
+ 'checkpoint_model': {'key': 'checkpointModel', 'type': 'MLFlowModelJobInput'},
+ 'checkpoint_run_id': {'key': 'checkpointRunId', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'bool'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'bool'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'int'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'int'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'bool'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'int'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'int'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'int'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'float'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'float'},
+ 'nesterov': {'key': 'nesterov', 'type': 'bool'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'int'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'int'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'float'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'int'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'int'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'int'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'float'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'int'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'float'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword advanced_settings: Settings for advanced scenarios.
+ :paramtype advanced_settings: str
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: bool
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: float
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: float
+ :keyword checkpoint_frequency: Frequency to store model checkpoints. Must be a positive
+ integer.
+ :paramtype checkpoint_frequency: int
+ :keyword checkpoint_model: The pretrained checkpoint model for incremental training.
+ :paramtype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :keyword checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :paramtype checkpoint_run_id: str
+ :keyword distributed: Whether to use distributed training.
+ :paramtype distributed: bool
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: bool
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: int
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: int
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: bool
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: int
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: int
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: int
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: float
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: bool
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: int
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: int
+ :keyword optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :paramtype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: int
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: float
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: int
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: int
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: float
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: int
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: float
+ """
+ super(ImageModelSettings, self).__init__(**kwargs)
+ self.advanced_settings = kwargs.get('advanced_settings', None)
+ self.ams_gradient = kwargs.get('ams_gradient', None)
+ self.augmentations = kwargs.get('augmentations', None)
+ self.beta1 = kwargs.get('beta1', None)
+ self.beta2 = kwargs.get('beta2', None)
+ self.checkpoint_frequency = kwargs.get('checkpoint_frequency', None)
+ self.checkpoint_model = kwargs.get('checkpoint_model', None)
+ self.checkpoint_run_id = kwargs.get('checkpoint_run_id', None)
+ self.distributed = kwargs.get('distributed', None)
+ self.early_stopping = kwargs.get('early_stopping', None)
+ self.early_stopping_delay = kwargs.get('early_stopping_delay', None)
+ self.early_stopping_patience = kwargs.get('early_stopping_patience', None)
+ self.enable_onnx_normalization = kwargs.get('enable_onnx_normalization', None)
+ self.evaluation_frequency = kwargs.get('evaluation_frequency', None)
+ self.gradient_accumulation_step = kwargs.get('gradient_accumulation_step', None)
+ self.layers_to_freeze = kwargs.get('layers_to_freeze', None)
+ self.learning_rate = kwargs.get('learning_rate', None)
+ self.learning_rate_scheduler = kwargs.get('learning_rate_scheduler', None)
+ self.model_name = kwargs.get('model_name', None)
+ self.momentum = kwargs.get('momentum', None)
+ self.nesterov = kwargs.get('nesterov', None)
+ self.number_of_epochs = kwargs.get('number_of_epochs', None)
+ self.number_of_workers = kwargs.get('number_of_workers', None)
+ self.optimizer = kwargs.get('optimizer', None)
+ self.random_seed = kwargs.get('random_seed', None)
+ self.step_lr_gamma = kwargs.get('step_lr_gamma', None)
+ self.step_lr_step_size = kwargs.get('step_lr_step_size', None)
+ self.training_batch_size = kwargs.get('training_batch_size', None)
+ self.validation_batch_size = kwargs.get('validation_batch_size', None)
+ self.warmup_cosine_lr_cycles = kwargs.get('warmup_cosine_lr_cycles', None)
+ self.warmup_cosine_lr_warmup_epochs = kwargs.get('warmup_cosine_lr_warmup_epochs', None)
+ self.weight_decay = kwargs.get('weight_decay', None)
+
+
+class ImageModelSettingsClassification(ImageModelSettings):
+ """Settings used for training the model.
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar advanced_settings: Settings for advanced scenarios.
+ :vartype advanced_settings: str
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: bool
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: float
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: float
+ :ivar checkpoint_frequency: Frequency to store model checkpoints. Must be a positive integer.
+ :vartype checkpoint_frequency: int
+ :ivar checkpoint_model: The pretrained checkpoint model for incremental training.
+ :vartype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :ivar checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :vartype checkpoint_run_id: str
+ :ivar distributed: Whether to use distributed training.
+ :vartype distributed: bool
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: bool
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: int
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: int
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: bool
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: int
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: int
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: int
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: float
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: bool
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: int
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: int
+ :ivar optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :vartype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: int
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: float
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: int
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: int
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: float
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: int
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: float
+ :ivar training_crop_size: Image crop size that is input to the neural network for the training
+ dataset. Must be a positive integer.
+ :vartype training_crop_size: int
+ :ivar validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :vartype validation_crop_size: int
+ :ivar validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :vartype validation_resize_size: int
+ :ivar weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :vartype weighted_loss: int
+ """
+
+ _attribute_map = {
+ 'advanced_settings': {'key': 'advancedSettings', 'type': 'str'},
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'bool'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'float'},
+ 'beta2': {'key': 'beta2', 'type': 'float'},
+ 'checkpoint_frequency': {'key': 'checkpointFrequency', 'type': 'int'},
+ 'checkpoint_model': {'key': 'checkpointModel', 'type': 'MLFlowModelJobInput'},
+ 'checkpoint_run_id': {'key': 'checkpointRunId', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'bool'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'bool'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'int'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'int'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'bool'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'int'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'int'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'int'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'float'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'float'},
+ 'nesterov': {'key': 'nesterov', 'type': 'bool'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'int'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'int'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'float'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'int'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'int'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'int'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'float'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'int'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'float'},
+ 'training_crop_size': {'key': 'trainingCropSize', 'type': 'int'},
+ 'validation_crop_size': {'key': 'validationCropSize', 'type': 'int'},
+ 'validation_resize_size': {'key': 'validationResizeSize', 'type': 'int'},
+ 'weighted_loss': {'key': 'weightedLoss', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword advanced_settings: Settings for advanced scenarios.
+ :paramtype advanced_settings: str
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: bool
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: float
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: float
+ :keyword checkpoint_frequency: Frequency to store model checkpoints. Must be a positive
+ integer.
+ :paramtype checkpoint_frequency: int
+ :keyword checkpoint_model: The pretrained checkpoint model for incremental training.
+ :paramtype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :keyword checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :paramtype checkpoint_run_id: str
+ :keyword distributed: Whether to use distributed training.
+ :paramtype distributed: bool
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: bool
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: int
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: int
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: bool
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: int
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: int
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: int
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: float
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: bool
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: int
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: int
+ :keyword optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :paramtype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: int
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: float
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: int
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: int
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: float
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: int
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: float
+ :keyword training_crop_size: Image crop size that is input to the neural network for the
+ training dataset. Must be a positive integer.
+ :paramtype training_crop_size: int
+ :keyword validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :paramtype validation_crop_size: int
+ :keyword validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :paramtype validation_resize_size: int
+ :keyword weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :paramtype weighted_loss: int
+ """
+ super(ImageModelSettingsClassification, self).__init__(**kwargs)
+ self.training_crop_size = kwargs.get('training_crop_size', None)
+ self.validation_crop_size = kwargs.get('validation_crop_size', None)
+ self.validation_resize_size = kwargs.get('validation_resize_size', None)
+ self.weighted_loss = kwargs.get('weighted_loss', None)
+
+
+class ImageModelSettingsObjectDetection(ImageModelSettings):
+ """Settings used for training the model.
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar advanced_settings: Settings for advanced scenarios.
+ :vartype advanced_settings: str
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: bool
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: float
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: float
+ :ivar checkpoint_frequency: Frequency to store model checkpoints. Must be a positive integer.
+ :vartype checkpoint_frequency: int
+ :ivar checkpoint_model: The pretrained checkpoint model for incremental training.
+ :vartype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :ivar checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :vartype checkpoint_run_id: str
+ :ivar distributed: Whether to use distributed training.
+ :vartype distributed: bool
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: bool
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: int
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: int
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: bool
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: int
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: int
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: int
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: float
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: bool
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: int
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: int
+ :ivar optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :vartype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: int
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: float
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: int
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: int
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: float
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: int
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: float
+ :ivar box_detections_per_image: Maximum number of detections per image, for all classes. Must
+ be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype box_detections_per_image: int
+ :ivar box_score_threshold: During inference, only return proposals with a classification score
+ greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :vartype box_score_threshold: float
+ :ivar image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype image_size: int
+ :ivar max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype max_size: int
+ :ivar min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype min_size: int
+ :ivar model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm. Possible values include:
+ "None", "Small", "Medium", "Large", "ExtraLarge".
+ :vartype model_size: str or ~azure.mgmt.machinelearningservices.models.ModelSize
+ :ivar multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype multi_scale: bool
+ :ivar nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be a
+ float in the range [0, 1].
+ :vartype nms_iou_threshold: float
+ :ivar tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must not
+ be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_grid_size: str
+ :ivar tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be float
+ in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_overlap_ratio: float
+ :ivar tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_predictions_nms_threshold: float
+ :ivar validation_iou_threshold: IOU threshold to use when computing validation metric. Must be
+ float in the range [0, 1].
+ :vartype validation_iou_threshold: float
+ :ivar validation_metric_type: Metric computation method to use for validation metrics. Possible
+ values include: "None", "Coco", "Voc", "CocoVoc".
+ :vartype validation_metric_type: str or
+ ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ """
+
+ _attribute_map = {
+ 'advanced_settings': {'key': 'advancedSettings', 'type': 'str'},
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'bool'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'float'},
+ 'beta2': {'key': 'beta2', 'type': 'float'},
+ 'checkpoint_frequency': {'key': 'checkpointFrequency', 'type': 'int'},
+ 'checkpoint_model': {'key': 'checkpointModel', 'type': 'MLFlowModelJobInput'},
+ 'checkpoint_run_id': {'key': 'checkpointRunId', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'bool'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'bool'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'int'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'int'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'bool'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'int'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'int'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'int'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'float'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'float'},
+ 'nesterov': {'key': 'nesterov', 'type': 'bool'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'int'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'int'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'float'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'int'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'int'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'int'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'float'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'int'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'float'},
+ 'box_detections_per_image': {'key': 'boxDetectionsPerImage', 'type': 'int'},
+ 'box_score_threshold': {'key': 'boxScoreThreshold', 'type': 'float'},
+ 'image_size': {'key': 'imageSize', 'type': 'int'},
+ 'max_size': {'key': 'maxSize', 'type': 'int'},
+ 'min_size': {'key': 'minSize', 'type': 'int'},
+ 'model_size': {'key': 'modelSize', 'type': 'str'},
+ 'multi_scale': {'key': 'multiScale', 'type': 'bool'},
+ 'nms_iou_threshold': {'key': 'nmsIouThreshold', 'type': 'float'},
+ 'tile_grid_size': {'key': 'tileGridSize', 'type': 'str'},
+ 'tile_overlap_ratio': {'key': 'tileOverlapRatio', 'type': 'float'},
+ 'tile_predictions_nms_threshold': {'key': 'tilePredictionsNmsThreshold', 'type': 'float'},
+ 'validation_iou_threshold': {'key': 'validationIouThreshold', 'type': 'float'},
+ 'validation_metric_type': {'key': 'validationMetricType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword advanced_settings: Settings for advanced scenarios.
+ :paramtype advanced_settings: str
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: bool
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: float
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: float
+ :keyword checkpoint_frequency: Frequency to store model checkpoints. Must be a positive
+ integer.
+ :paramtype checkpoint_frequency: int
+ :keyword checkpoint_model: The pretrained checkpoint model for incremental training.
+ :paramtype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :keyword checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :paramtype checkpoint_run_id: str
+ :keyword distributed: Whether to use distributed training.
+ :paramtype distributed: bool
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: bool
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: int
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: int
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: bool
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: int
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: int
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: int
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: float
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: bool
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: int
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: int
+ :keyword optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :paramtype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: int
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: float
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: int
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: int
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: float
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: int
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: float
+ :keyword box_detections_per_image: Maximum number of detections per image, for all classes.
+ Must be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype box_detections_per_image: int
+ :keyword box_score_threshold: During inference, only return proposals with a classification
+ score greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :paramtype box_score_threshold: float
+ :keyword image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype image_size: int
+ :keyword max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype max_size: int
+ :keyword min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype min_size: int
+ :keyword model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm. Possible values include:
+ "None", "Small", "Medium", "Large", "ExtraLarge".
+ :paramtype model_size: str or ~azure.mgmt.machinelearningservices.models.ModelSize
+ :keyword multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype multi_scale: bool
+ :keyword nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be
+ a float in the range [0, 1].
+ :paramtype nms_iou_threshold: float
+ :keyword tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must
+ not be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_grid_size: str
+ :keyword tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be
+ float in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_overlap_ratio: float
+ :keyword tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_predictions_nms_threshold: float
+ :keyword validation_iou_threshold: IOU threshold to use when computing validation metric. Must
+ be float in the range [0, 1].
+ :paramtype validation_iou_threshold: float
+ :keyword validation_metric_type: Metric computation method to use for validation metrics.
+ Possible values include: "None", "Coco", "Voc", "CocoVoc".
+ :paramtype validation_metric_type: str or
+ ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ """
+ super(ImageModelSettingsObjectDetection, self).__init__(**kwargs)
+ self.box_detections_per_image = kwargs.get('box_detections_per_image', None)
+ self.box_score_threshold = kwargs.get('box_score_threshold', None)
+ self.image_size = kwargs.get('image_size', None)
+ self.max_size = kwargs.get('max_size', None)
+ self.min_size = kwargs.get('min_size', None)
+ self.model_size = kwargs.get('model_size', None)
+ self.multi_scale = kwargs.get('multi_scale', None)
+ self.nms_iou_threshold = kwargs.get('nms_iou_threshold', None)
+ self.tile_grid_size = kwargs.get('tile_grid_size', None)
+ self.tile_overlap_ratio = kwargs.get('tile_overlap_ratio', None)
+ self.tile_predictions_nms_threshold = kwargs.get('tile_predictions_nms_threshold', None)
+ self.validation_iou_threshold = kwargs.get('validation_iou_threshold', None)
+ self.validation_metric_type = kwargs.get('validation_metric_type', None)
+
+
+class ImageObjectDetection(AutoMLVertical, ImageObjectDetectionBase):
+ """Image Object Detection. Object detection is used to identify objects in an image and locate each object with a
+bounding box e.g. locate all dogs and cats in an image and draw a bounding box around each.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsObjectDetection'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsObjectDetection]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ """
+ super(ImageObjectDetection, self).__init__(**kwargs)
+ self.limit_settings = kwargs['limit_settings']
+ self.sweep_settings = kwargs.get('sweep_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.model_settings = kwargs.get('model_settings', None)
+ self.search_space = kwargs.get('search_space', None)
+ self.task_type = 'ImageObjectDetection' # type: str
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class ImageSweepSettings(msrest.serialization.Model):
+ """Model sweeping and hyperparameter sweeping related settings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar early_termination: Type of early termination policy.
+ :vartype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :ivar sampling_algorithm: Required. [Required] Type of the hyperparameter sampling algorithms.
+ Possible values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm': {'required': True},
+ }
+
+ _attribute_map = {
+ 'early_termination': {'key': 'earlyTermination', 'type': 'EarlyTerminationPolicy'},
+ 'sampling_algorithm': {'key': 'samplingAlgorithm', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword early_termination: Type of early termination policy.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword sampling_algorithm: Required. [Required] Type of the hyperparameter sampling
+ algorithms. Possible values include: "Grid", "Random", "Bayesian".
+ :paramtype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+ super(ImageSweepSettings, self).__init__(**kwargs)
+ self.early_termination = kwargs.get('early_termination', None)
+ self.sampling_algorithm = kwargs['sampling_algorithm']
+
+
+class InferenceContainerProperties(msrest.serialization.Model):
+ """InferenceContainerProperties.
+
+ :ivar liveness_route: The route to check the liveness of the inference server container.
+ :vartype liveness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :ivar readiness_route: The route to check the readiness of the inference server container.
+ :vartype readiness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :ivar scoring_route: The port to send the scoring requests to, within the inference server
+ container.
+ :vartype scoring_route: ~azure.mgmt.machinelearningservices.models.Route
+ """
+
+ _attribute_map = {
+ 'liveness_route': {'key': 'livenessRoute', 'type': 'Route'},
+ 'readiness_route': {'key': 'readinessRoute', 'type': 'Route'},
+ 'scoring_route': {'key': 'scoringRoute', 'type': 'Route'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword liveness_route: The route to check the liveness of the inference server container.
+ :paramtype liveness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :keyword readiness_route: The route to check the readiness of the inference server container.
+ :paramtype readiness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :keyword scoring_route: The port to send the scoring requests to, within the inference server
+ container.
+ :paramtype scoring_route: ~azure.mgmt.machinelearningservices.models.Route
+ """
+ super(InferenceContainerProperties, self).__init__(**kwargs)
+ self.liveness_route = kwargs.get('liveness_route', None)
+ self.readiness_route = kwargs.get('readiness_route', None)
+ self.scoring_route = kwargs.get('scoring_route', None)
+
+
+class InstanceTypeSchema(msrest.serialization.Model):
+ """Instance type schema.
+
+ :ivar node_selector: Node Selector.
+ :vartype node_selector: dict[str, str]
+ :ivar resources: Resource requests/limits for this instance type.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.InstanceTypeSchemaResources
+ """
+
+ _attribute_map = {
+ 'node_selector': {'key': 'nodeSelector', 'type': '{str}'},
+ 'resources': {'key': 'resources', 'type': 'InstanceTypeSchemaResources'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword node_selector: Node Selector.
+ :paramtype node_selector: dict[str, str]
+ :keyword resources: Resource requests/limits for this instance type.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.InstanceTypeSchemaResources
+ """
+ super(InstanceTypeSchema, self).__init__(**kwargs)
+ self.node_selector = kwargs.get('node_selector', None)
+ self.resources = kwargs.get('resources', None)
+
+
+class InstanceTypeSchemaResources(msrest.serialization.Model):
+ """Resource requests/limits for this instance type.
+
+ :ivar requests: Resource requests for this instance type.
+ :vartype requests: dict[str, str]
+ :ivar limits: Resource limits for this instance type.
+ :vartype limits: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'requests': {'key': 'requests', 'type': '{str}'},
+ 'limits': {'key': 'limits', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword requests: Resource requests for this instance type.
+ :paramtype requests: dict[str, str]
+ :keyword limits: Resource limits for this instance type.
+ :paramtype limits: dict[str, str]
+ """
+ super(InstanceTypeSchemaResources, self).__init__(**kwargs)
+ self.requests = kwargs.get('requests', None)
+ self.limits = kwargs.get('limits', None)
+
+
+class JobBase(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'JobBaseProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+ super(JobBase, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class JobBaseResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of JobBase entities.
+
+ :ivar next_link: The link to the next page of JobBase objects. If null, there are no additional
+ pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type JobBase.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.JobBase]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[JobBase]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of JobBase objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type JobBase.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.JobBase]
+ """
+ super(JobBaseResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class JobResourceConfiguration(ResourceConfiguration):
+ """JobResourceConfiguration.
+
+ :ivar instance_count: Optional number of instances or nodes used by the compute target.
+ :vartype instance_count: int
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, any]
+ :ivar docker_args: Extra arguments to pass to the Docker run command. This would override any
+ parameters that have already been set by the system, or in this section. This parameter is only
+ supported for Azure ML compute types.
+ :vartype docker_args: str
+ :ivar shm_size: Size of the docker container's shared memory block. This should be in the
+ format of (number)(unit) where number as to be greater than 0 and the unit can be one of
+ b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
+ :vartype shm_size: str
+ """
+
+ _validation = {
+ 'shm_size': {'pattern': r'\d+[bBkKmMgG]'},
+ }
+
+ _attribute_map = {
+ 'instance_count': {'key': 'instanceCount', 'type': 'int'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{object}'},
+ 'docker_args': {'key': 'dockerArgs', 'type': 'str'},
+ 'shm_size': {'key': 'shmSize', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword instance_count: Optional number of instances or nodes used by the compute target.
+ :paramtype instance_count: int
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, any]
+ :keyword docker_args: Extra arguments to pass to the Docker run command. This would override
+ any parameters that have already been set by the system, or in this section. This parameter is
+ only supported for Azure ML compute types.
+ :paramtype docker_args: str
+ :keyword shm_size: Size of the docker container's shared memory block. This should be in the
+ format of (number)(unit) where number as to be greater than 0 and the unit can be one of
+ b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
+ :paramtype shm_size: str
+ """
+ super(JobResourceConfiguration, self).__init__(**kwargs)
+ self.docker_args = kwargs.get('docker_args', None)
+ self.shm_size = kwargs.get('shm_size', "2g")
+
+
+class JobScheduleAction(ScheduleActionBase):
+ """JobScheduleAction.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar action_type: Required. [Required] Specifies the action type of the schedule.Constant
+ filled by server. Possible values include: "CreateJob", "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ :ivar job_definition: Required. [Required] Defines Schedule action definition details.
+ :vartype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+
+ _validation = {
+ 'action_type': {'required': True},
+ 'job_definition': {'required': True},
+ }
+
+ _attribute_map = {
+ 'action_type': {'key': 'actionType', 'type': 'str'},
+ 'job_definition': {'key': 'jobDefinition', 'type': 'JobBaseProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword job_definition: Required. [Required] Defines Schedule action definition details.
+ :paramtype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+ super(JobScheduleAction, self).__init__(**kwargs)
+ self.action_type = 'CreateJob' # type: str
+ self.job_definition = kwargs['job_definition']
+
+
+class JobService(msrest.serialization.Model):
+ """Job endpoint definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar endpoint: Url for endpoint.
+ :vartype endpoint: str
+ :ivar error_message: Any error in the service.
+ :vartype error_message: str
+ :ivar job_service_type: Endpoint type.
+ :vartype job_service_type: str
+ :ivar port: Port for endpoint.
+ :vartype port: int
+ :ivar properties: Additional properties to set on the endpoint.
+ :vartype properties: dict[str, str]
+ :ivar status: Status of endpoint.
+ :vartype status: str
+ """
+
+ _validation = {
+ 'error_message': {'readonly': True},
+ 'status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'error_message': {'key': 'errorMessage', 'type': 'str'},
+ 'job_service_type': {'key': 'jobServiceType', 'type': 'str'},
+ 'port': {'key': 'port', 'type': 'int'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword endpoint: Url for endpoint.
+ :paramtype endpoint: str
+ :keyword job_service_type: Endpoint type.
+ :paramtype job_service_type: str
+ :keyword port: Port for endpoint.
+ :paramtype port: int
+ :keyword properties: Additional properties to set on the endpoint.
+ :paramtype properties: dict[str, str]
+ """
+ super(JobService, self).__init__(**kwargs)
+ self.endpoint = kwargs.get('endpoint', None)
+ self.error_message = None
+ self.job_service_type = kwargs.get('job_service_type', None)
+ self.port = kwargs.get('port', None)
+ self.properties = kwargs.get('properties', None)
+ self.status = None
+
+
+class KubernetesSchema(msrest.serialization.Model):
+ """Kubernetes Compute Schema.
+
+ :ivar properties: Properties of Kubernetes.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'KubernetesProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Kubernetes.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ """
+ super(KubernetesSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class Kubernetes(Compute, KubernetesSchema):
+ """A Machine Learning compute based on Kubernetes Compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of Kubernetes.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'KubernetesProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Kubernetes.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(Kubernetes, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'Kubernetes' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class OnlineDeploymentProperties(EndpointDeploymentPropertiesBase):
+ """OnlineDeploymentProperties.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: KubernetesOnlineDeployment, ManagedOnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar app_insights_enabled: If true, enables Application Insights logging.
+ :vartype app_insights_enabled: bool
+ :ivar egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: Required. [Required] The compute type of the endpoint.Constant
+ filled by server. Possible values include: "Managed", "Kubernetes", "AzureMLCompute".
+ :vartype endpoint_compute_type: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :ivar instance_type: Compute instance type.
+ :vartype instance_type: str
+ :ivar liveness_probe: Liveness probe monitors the health of the container regularly.
+ :vartype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar model: The URI path to the model.
+ :vartype model: str
+ :ivar model_mount_path: The path to mount the model in custom container.
+ :vartype model_mount_path: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :vartype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar request_settings: Request settings for the deployment.
+ :vartype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :ivar scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+
+ _validation = {
+ 'endpoint_compute_type': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
+ 'egress_public_network_access': {'key': 'egressPublicNetworkAccess', 'type': 'str'},
+ 'endpoint_compute_type': {'key': 'endpointComputeType', 'type': 'str'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'liveness_probe': {'key': 'livenessProbe', 'type': 'ProbeSettings'},
+ 'model': {'key': 'model', 'type': 'str'},
+ 'model_mount_path': {'key': 'modelMountPath', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'readiness_probe': {'key': 'readinessProbe', 'type': 'ProbeSettings'},
+ 'request_settings': {'key': 'requestSettings', 'type': 'OnlineRequestSettings'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'OnlineScaleSettings'},
+ }
+
+ _subtype_map = {
+ 'endpoint_compute_type': {'Kubernetes': 'KubernetesOnlineDeployment', 'Managed': 'ManagedOnlineDeployment'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword app_insights_enabled: If true, enables Application Insights logging.
+ :paramtype app_insights_enabled: bool
+ :keyword egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :keyword instance_type: Compute instance type.
+ :paramtype instance_type: str
+ :keyword liveness_probe: Liveness probe monitors the health of the container regularly.
+ :paramtype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword model: The URI path to the model.
+ :paramtype model: str
+ :keyword model_mount_path: The path to mount the model in custom container.
+ :paramtype model_mount_path: str
+ :keyword readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :paramtype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword request_settings: Request settings for the deployment.
+ :paramtype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :keyword scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+ super(OnlineDeploymentProperties, self).__init__(**kwargs)
+ self.app_insights_enabled = kwargs.get('app_insights_enabled', False)
+ self.egress_public_network_access = kwargs.get('egress_public_network_access', None)
+ self.endpoint_compute_type = 'OnlineDeploymentProperties' # type: str
+ self.instance_type = kwargs.get('instance_type', None)
+ self.liveness_probe = kwargs.get('liveness_probe', None)
+ self.model = kwargs.get('model', None)
+ self.model_mount_path = kwargs.get('model_mount_path', None)
+ self.provisioning_state = None
+ self.readiness_probe = kwargs.get('readiness_probe', None)
+ self.request_settings = kwargs.get('request_settings', None)
+ self.scale_settings = kwargs.get('scale_settings', None)
+
+
+class KubernetesOnlineDeployment(OnlineDeploymentProperties):
+ """Properties specific to a KubernetesOnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar app_insights_enabled: If true, enables Application Insights logging.
+ :vartype app_insights_enabled: bool
+ :ivar egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: Required. [Required] The compute type of the endpoint.Constant
+ filled by server. Possible values include: "Managed", "Kubernetes", "AzureMLCompute".
+ :vartype endpoint_compute_type: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :ivar instance_type: Compute instance type.
+ :vartype instance_type: str
+ :ivar liveness_probe: Liveness probe monitors the health of the container regularly.
+ :vartype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar model: The URI path to the model.
+ :vartype model: str
+ :ivar model_mount_path: The path to mount the model in custom container.
+ :vartype model_mount_path: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :vartype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar request_settings: Request settings for the deployment.
+ :vartype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :ivar scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ :ivar container_resource_requirements: The resource requirements for the container (cpu and
+ memory).
+ :vartype container_resource_requirements:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceRequirements
+ """
+
+ _validation = {
+ 'endpoint_compute_type': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
+ 'egress_public_network_access': {'key': 'egressPublicNetworkAccess', 'type': 'str'},
+ 'endpoint_compute_type': {'key': 'endpointComputeType', 'type': 'str'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'liveness_probe': {'key': 'livenessProbe', 'type': 'ProbeSettings'},
+ 'model': {'key': 'model', 'type': 'str'},
+ 'model_mount_path': {'key': 'modelMountPath', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'readiness_probe': {'key': 'readinessProbe', 'type': 'ProbeSettings'},
+ 'request_settings': {'key': 'requestSettings', 'type': 'OnlineRequestSettings'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'OnlineScaleSettings'},
+ 'container_resource_requirements': {'key': 'containerResourceRequirements', 'type': 'ContainerResourceRequirements'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword app_insights_enabled: If true, enables Application Insights logging.
+ :paramtype app_insights_enabled: bool
+ :keyword egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :keyword instance_type: Compute instance type.
+ :paramtype instance_type: str
+ :keyword liveness_probe: Liveness probe monitors the health of the container regularly.
+ :paramtype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword model: The URI path to the model.
+ :paramtype model: str
+ :keyword model_mount_path: The path to mount the model in custom container.
+ :paramtype model_mount_path: str
+ :keyword readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :paramtype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword request_settings: Request settings for the deployment.
+ :paramtype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :keyword scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ :keyword container_resource_requirements: The resource requirements for the container (cpu and
+ memory).
+ :paramtype container_resource_requirements:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceRequirements
+ """
+ super(KubernetesOnlineDeployment, self).__init__(**kwargs)
+ self.endpoint_compute_type = 'Kubernetes' # type: str
+ self.container_resource_requirements = kwargs.get('container_resource_requirements', None)
+
+
+class KubernetesProperties(msrest.serialization.Model):
+ """Kubernetes properties.
+
+ :ivar relay_connection_string: Relay connection string.
+ :vartype relay_connection_string: str
+ :ivar service_bus_connection_string: ServiceBus connection string.
+ :vartype service_bus_connection_string: str
+ :ivar extension_principal_id: Extension principal-id.
+ :vartype extension_principal_id: str
+ :ivar extension_instance_release_train: Extension instance release train.
+ :vartype extension_instance_release_train: str
+ :ivar vc_name: VC name.
+ :vartype vc_name: str
+ :ivar namespace: Compute namespace.
+ :vartype namespace: str
+ :ivar default_instance_type: Default instance type.
+ :vartype default_instance_type: str
+ :ivar instance_types: Instance Type Schema.
+ :vartype instance_types: dict[str,
+ ~azure.mgmt.machinelearningservices.models.InstanceTypeSchema]
+ """
+
+ _attribute_map = {
+ 'relay_connection_string': {'key': 'relayConnectionString', 'type': 'str'},
+ 'service_bus_connection_string': {'key': 'serviceBusConnectionString', 'type': 'str'},
+ 'extension_principal_id': {'key': 'extensionPrincipalId', 'type': 'str'},
+ 'extension_instance_release_train': {'key': 'extensionInstanceReleaseTrain', 'type': 'str'},
+ 'vc_name': {'key': 'vcName', 'type': 'str'},
+ 'namespace': {'key': 'namespace', 'type': 'str'},
+ 'default_instance_type': {'key': 'defaultInstanceType', 'type': 'str'},
+ 'instance_types': {'key': 'instanceTypes', 'type': '{InstanceTypeSchema}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword relay_connection_string: Relay connection string.
+ :paramtype relay_connection_string: str
+ :keyword service_bus_connection_string: ServiceBus connection string.
+ :paramtype service_bus_connection_string: str
+ :keyword extension_principal_id: Extension principal-id.
+ :paramtype extension_principal_id: str
+ :keyword extension_instance_release_train: Extension instance release train.
+ :paramtype extension_instance_release_train: str
+ :keyword vc_name: VC name.
+ :paramtype vc_name: str
+ :keyword namespace: Compute namespace.
+ :paramtype namespace: str
+ :keyword default_instance_type: Default instance type.
+ :paramtype default_instance_type: str
+ :keyword instance_types: Instance Type Schema.
+ :paramtype instance_types: dict[str,
+ ~azure.mgmt.machinelearningservices.models.InstanceTypeSchema]
+ """
+ super(KubernetesProperties, self).__init__(**kwargs)
+ self.relay_connection_string = kwargs.get('relay_connection_string', None)
+ self.service_bus_connection_string = kwargs.get('service_bus_connection_string', None)
+ self.extension_principal_id = kwargs.get('extension_principal_id', None)
+ self.extension_instance_release_train = kwargs.get('extension_instance_release_train', None)
+ self.vc_name = kwargs.get('vc_name', None)
+ self.namespace = kwargs.get('namespace', "default")
+ self.default_instance_type = kwargs.get('default_instance_type', None)
+ self.instance_types = kwargs.get('instance_types', None)
+
+
+class ListAmlUserFeatureResult(msrest.serialization.Model):
+ """The List Aml user feature operation response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of AML user facing features.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.AmlUserFeature]
+ :ivar next_link: The URI to fetch the next page of AML user features information. Call
+ ListNext() with this to fetch the next page of AML user features information.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[AmlUserFeature]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListAmlUserFeatureResult, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class ListNotebookKeysResult(msrest.serialization.Model):
+ """ListNotebookKeysResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar primary_access_key:
+ :vartype primary_access_key: str
+ :ivar secondary_access_key:
+ :vartype secondary_access_key: str
+ """
+
+ _validation = {
+ 'primary_access_key': {'readonly': True},
+ 'secondary_access_key': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'primary_access_key': {'key': 'primaryAccessKey', 'type': 'str'},
+ 'secondary_access_key': {'key': 'secondaryAccessKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListNotebookKeysResult, self).__init__(**kwargs)
+ self.primary_access_key = None
+ self.secondary_access_key = None
+
+
+class ListStorageAccountKeysResult(msrest.serialization.Model):
+ """ListStorageAccountKeysResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar user_storage_key:
+ :vartype user_storage_key: str
+ """
+
+ _validation = {
+ 'user_storage_key': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'user_storage_key': {'key': 'userStorageKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListStorageAccountKeysResult, self).__init__(**kwargs)
+ self.user_storage_key = None
+
+
+class ListUsagesResult(msrest.serialization.Model):
+ """The List Usages operation response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of AML resource usages.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Usage]
+ :ivar next_link: The URI to fetch the next page of AML resource usage information. Call
+ ListNext() with this to fetch the next page of AML resource usage information.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[Usage]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListUsagesResult, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class ListWorkspaceKeysResult(msrest.serialization.Model):
+ """ListWorkspaceKeysResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar user_storage_key:
+ :vartype user_storage_key: str
+ :ivar user_storage_resource_id:
+ :vartype user_storage_resource_id: str
+ :ivar app_insights_instrumentation_key:
+ :vartype app_insights_instrumentation_key: str
+ :ivar container_registry_credentials:
+ :vartype container_registry_credentials:
+ ~azure.mgmt.machinelearningservices.models.RegistryListCredentialsResult
+ :ivar notebook_access_keys:
+ :vartype notebook_access_keys:
+ ~azure.mgmt.machinelearningservices.models.ListNotebookKeysResult
+ """
+
+ _validation = {
+ 'user_storage_key': {'readonly': True},
+ 'user_storage_resource_id': {'readonly': True},
+ 'app_insights_instrumentation_key': {'readonly': True},
+ 'container_registry_credentials': {'readonly': True},
+ 'notebook_access_keys': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'user_storage_key': {'key': 'userStorageKey', 'type': 'str'},
+ 'user_storage_resource_id': {'key': 'userStorageResourceId', 'type': 'str'},
+ 'app_insights_instrumentation_key': {'key': 'appInsightsInstrumentationKey', 'type': 'str'},
+ 'container_registry_credentials': {'key': 'containerRegistryCredentials', 'type': 'RegistryListCredentialsResult'},
+ 'notebook_access_keys': {'key': 'notebookAccessKeys', 'type': 'ListNotebookKeysResult'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListWorkspaceKeysResult, self).__init__(**kwargs)
+ self.user_storage_key = None
+ self.user_storage_resource_id = None
+ self.app_insights_instrumentation_key = None
+ self.container_registry_credentials = None
+ self.notebook_access_keys = None
+
+
+class ListWorkspaceQuotas(msrest.serialization.Model):
+ """The List WorkspaceQuotasByVMFamily operation response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of Workspace Quotas by VM Family.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ResourceQuota]
+ :ivar next_link: The URI to fetch the next page of workspace quota information by VM Family.
+ Call ListNext() with this to fetch the next page of Workspace Quota information.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[ResourceQuota]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListWorkspaceQuotas, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class LiteralJobInput(JobInput):
+ """Literal input type.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ :ivar value: Required. [Required] Literal value for the input.
+ :vartype value: str
+ """
+
+ _validation = {
+ 'job_input_type': {'required': True},
+ 'value': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: Description for the input.
+ :paramtype description: str
+ :keyword value: Required. [Required] Literal value for the input.
+ :paramtype value: str
+ """
+ super(LiteralJobInput, self).__init__(**kwargs)
+ self.job_input_type = 'literal' # type: str
+ self.value = kwargs['value']
+
+
+class ManagedIdentity(IdentityConfiguration):
+ """Managed identity configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ :ivar client_id: Specifies a user-assigned identity by client ID. For system-assigned, do not
+ set this field.
+ :vartype client_id: str
+ :ivar object_id: Specifies a user-assigned identity by object ID. For system-assigned, do not
+ set this field.
+ :vartype object_id: str
+ :ivar resource_id: Specifies a user-assigned identity by ARM resource ID. For system-assigned,
+ do not set this field.
+ :vartype resource_id: str
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ 'object_id': {'key': 'objectId', 'type': 'str'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword client_id: Specifies a user-assigned identity by client ID. For system-assigned, do
+ not set this field.
+ :paramtype client_id: str
+ :keyword object_id: Specifies a user-assigned identity by object ID. For system-assigned, do
+ not set this field.
+ :paramtype object_id: str
+ :keyword resource_id: Specifies a user-assigned identity by ARM resource ID. For
+ system-assigned, do not set this field.
+ :paramtype resource_id: str
+ """
+ super(ManagedIdentity, self).__init__(**kwargs)
+ self.identity_type = 'Managed' # type: str
+ self.client_id = kwargs.get('client_id', None)
+ self.object_id = kwargs.get('object_id', None)
+ self.resource_id = kwargs.get('resource_id', None)
+
+
+class WorkspaceConnectionPropertiesV2(msrest.serialization.Model):
+ """WorkspaceConnectionPropertiesV2.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: ManagedIdentityAuthTypeWorkspaceConnectionProperties, NoneAuthTypeWorkspaceConnectionProperties, PATAuthTypeWorkspaceConnectionProperties, SASAuthTypeWorkspaceConnectionProperties, UsernamePasswordAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'auth_type': {'ManagedIdentity': 'ManagedIdentityAuthTypeWorkspaceConnectionProperties', 'None': 'NoneAuthTypeWorkspaceConnectionProperties', 'PAT': 'PATAuthTypeWorkspaceConnectionProperties', 'SAS': 'SASAuthTypeWorkspaceConnectionProperties', 'UsernamePassword': 'UsernamePasswordAuthTypeWorkspaceConnectionProperties'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+ super(WorkspaceConnectionPropertiesV2, self).__init__(**kwargs)
+ self.auth_type = None # type: Optional[str]
+ self.category = kwargs.get('category', None)
+ self.target = kwargs.get('target', None)
+ self.value = kwargs.get('value', None)
+ self.value_format = kwargs.get('value_format', None)
+
+
+class ManagedIdentityAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """ManagedIdentityAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionManagedIdentity
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionManagedIdentity'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionManagedIdentity
+ """
+ super(ManagedIdentityAuthTypeWorkspaceConnectionProperties, self).__init__(**kwargs)
+ self.auth_type = 'ManagedIdentity' # type: str
+ self.credentials = kwargs.get('credentials', None)
+
+
+class ManagedOnlineDeployment(OnlineDeploymentProperties):
+ """Properties specific to a ManagedOnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar app_insights_enabled: If true, enables Application Insights logging.
+ :vartype app_insights_enabled: bool
+ :ivar egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: Required. [Required] The compute type of the endpoint.Constant
+ filled by server. Possible values include: "Managed", "Kubernetes", "AzureMLCompute".
+ :vartype endpoint_compute_type: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :ivar instance_type: Compute instance type.
+ :vartype instance_type: str
+ :ivar liveness_probe: Liveness probe monitors the health of the container regularly.
+ :vartype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar model: The URI path to the model.
+ :vartype model: str
+ :ivar model_mount_path: The path to mount the model in custom container.
+ :vartype model_mount_path: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :vartype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar request_settings: Request settings for the deployment.
+ :vartype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :ivar scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+
+ _validation = {
+ 'endpoint_compute_type': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
+ 'egress_public_network_access': {'key': 'egressPublicNetworkAccess', 'type': 'str'},
+ 'endpoint_compute_type': {'key': 'endpointComputeType', 'type': 'str'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'liveness_probe': {'key': 'livenessProbe', 'type': 'ProbeSettings'},
+ 'model': {'key': 'model', 'type': 'str'},
+ 'model_mount_path': {'key': 'modelMountPath', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'readiness_probe': {'key': 'readinessProbe', 'type': 'ProbeSettings'},
+ 'request_settings': {'key': 'requestSettings', 'type': 'OnlineRequestSettings'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'OnlineScaleSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword app_insights_enabled: If true, enables Application Insights logging.
+ :paramtype app_insights_enabled: bool
+ :keyword egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :keyword instance_type: Compute instance type.
+ :paramtype instance_type: str
+ :keyword liveness_probe: Liveness probe monitors the health of the container regularly.
+ :paramtype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword model: The URI path to the model.
+ :paramtype model: str
+ :keyword model_mount_path: The path to mount the model in custom container.
+ :paramtype model_mount_path: str
+ :keyword readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :paramtype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword request_settings: Request settings for the deployment.
+ :paramtype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :keyword scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+ super(ManagedOnlineDeployment, self).__init__(**kwargs)
+ self.endpoint_compute_type = 'Managed' # type: str
+
+
+class ManagedServiceIdentity(msrest.serialization.Model):
+ """Managed service identity (system assigned and/or user assigned identities).
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar principal_id: The service principal ID of the system assigned identity. This property
+ will only be provided for a system assigned identity.
+ :vartype principal_id: str
+ :ivar tenant_id: The tenant ID of the system assigned identity. This property will only be
+ provided for a system assigned identity.
+ :vartype tenant_id: str
+ :ivar type: Required. Type of managed service identity (where both SystemAssigned and
+ UserAssigned types are allowed). Possible values include: "None", "SystemAssigned",
+ "UserAssigned", "SystemAssigned,UserAssigned".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :ivar user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :vartype user_assigned_identities: dict[str,
+ ~azure.mgmt.machinelearningservices.models.UserAssignedIdentity]
+ """
+
+ _validation = {
+ 'principal_id': {'readonly': True},
+ 'tenant_id': {'readonly': True},
+ 'type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'principal_id': {'key': 'principalId', 'type': 'str'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword type: Required. Type of managed service identity (where both SystemAssigned and
+ UserAssigned types are allowed). Possible values include: "None", "SystemAssigned",
+ "UserAssigned", "SystemAssigned,UserAssigned".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :keyword user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :paramtype user_assigned_identities: dict[str,
+ ~azure.mgmt.machinelearningservices.models.UserAssignedIdentity]
+ """
+ super(ManagedServiceIdentity, self).__init__(**kwargs)
+ self.principal_id = None
+ self.tenant_id = None
+ self.type = kwargs['type']
+ self.user_assigned_identities = kwargs.get('user_assigned_identities', None)
+
+
+class MedianStoppingPolicy(EarlyTerminationPolicy):
+ """Defines an early termination policy based on running averages of the primary metric of all runs.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ """
+ super(MedianStoppingPolicy, self).__init__(**kwargs)
+ self.policy_type = 'MedianStopping' # type: str
+
+
+class MLFlowModelJobInput(JobInput, AssetJobInput):
+ """MLFlowModelJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(MLFlowModelJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+ self.job_input_type = 'mlflow_model' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class MLFlowModelJobOutput(JobOutput, AssetJobOutput):
+ """MLFlowModelJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(MLFlowModelJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+ self.job_output_type = 'mlflow_model' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class MLTableData(DataVersionBaseProperties):
+ """MLTable data definition.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ :ivar referenced_uris: Uris referenced in the MLTable definition (required for lineage).
+ :vartype referenced_uris: list[str]
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ 'referenced_uris': {'key': 'referencedUris', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ :keyword referenced_uris: Uris referenced in the MLTable definition (required for lineage).
+ :paramtype referenced_uris: list[str]
+ """
+ super(MLTableData, self).__init__(**kwargs)
+ self.data_type = 'mltable' # type: str
+ self.referenced_uris = kwargs.get('referenced_uris', None)
+
+
+class MLTableJobInput(JobInput, AssetJobInput):
+ """MLTableJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(MLTableJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+ self.job_input_type = 'mltable' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class MLTableJobOutput(JobOutput, AssetJobOutput):
+ """MLTableJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(MLTableJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+ self.job_output_type = 'mltable' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class ModelContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ModelContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ModelContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ModelContainerProperties
+ """
+ super(ModelContainer, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class ModelContainerProperties(AssetContainer):
+ """ModelContainerProperties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(ModelContainerProperties, self).__init__(**kwargs)
+
+
+class ModelContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ModelContainer entities.
+
+ :ivar next_link: The link to the next page of ModelContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ModelContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ModelContainer]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ModelContainer objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ModelContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ """
+ super(ModelContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class ModelVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ModelVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ModelVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ModelVersionProperties
+ """
+ super(ModelVersion, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class ModelVersionProperties(AssetBase):
+ """Model asset version details.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar flavors: Mapping of model flavors to their properties.
+ :vartype flavors: dict[str, ~azure.mgmt.machinelearningservices.models.FlavorData]
+ :ivar job_name: Name of the training job which produced this model.
+ :vartype job_name: str
+ :ivar model_type: The storage format for this entity. Used for NCD.
+ :vartype model_type: str
+ :ivar model_uri: The URI path to the model contents.
+ :vartype model_uri: str
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'flavors': {'key': 'flavors', 'type': '{FlavorData}'},
+ 'job_name': {'key': 'jobName', 'type': 'str'},
+ 'model_type': {'key': 'modelType', 'type': 'str'},
+ 'model_uri': {'key': 'modelUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword flavors: Mapping of model flavors to their properties.
+ :paramtype flavors: dict[str, ~azure.mgmt.machinelearningservices.models.FlavorData]
+ :keyword job_name: Name of the training job which produced this model.
+ :paramtype job_name: str
+ :keyword model_type: The storage format for this entity. Used for NCD.
+ :paramtype model_type: str
+ :keyword model_uri: The URI path to the model contents.
+ :paramtype model_uri: str
+ """
+ super(ModelVersionProperties, self).__init__(**kwargs)
+ self.flavors = kwargs.get('flavors', None)
+ self.job_name = kwargs.get('job_name', None)
+ self.model_type = kwargs.get('model_type', None)
+ self.model_uri = kwargs.get('model_uri', None)
+
+
+class ModelVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ModelVersion entities.
+
+ :ivar next_link: The link to the next page of ModelVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ModelVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ModelVersion]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ModelVersion objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ModelVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ """
+ super(ModelVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class Mpi(DistributionConfiguration):
+ """MPI distribution configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ :ivar process_count_per_instance: Number of processes per MPI node.
+ :vartype process_count_per_instance: int
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ 'process_count_per_instance': {'key': 'processCountPerInstance', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword process_count_per_instance: Number of processes per MPI node.
+ :paramtype process_count_per_instance: int
+ """
+ super(Mpi, self).__init__(**kwargs)
+ self.distribution_type = 'Mpi' # type: str
+ self.process_count_per_instance = kwargs.get('process_count_per_instance', None)
+
+
+class NlpVertical(msrest.serialization.Model):
+ """Abstract class for NLP related AutoML tasks.
+NLP - Natural Language Processing.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(NlpVertical, self).__init__(**kwargs)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+
+
+class NlpVerticalFeaturizationSettings(FeaturizationSettings):
+ """NlpVerticalFeaturizationSettings.
+
+ :ivar dataset_language: Dataset language, useful for the text data.
+ :vartype dataset_language: str
+ """
+
+ _attribute_map = {
+ 'dataset_language': {'key': 'datasetLanguage', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ """
+ super(NlpVerticalFeaturizationSettings, self).__init__(**kwargs)
+
+
+class NlpVerticalLimitSettings(msrest.serialization.Model):
+ """Job execution constraints.
+
+ :ivar max_concurrent_trials: Maximum Concurrent AutoML iterations.
+ :vartype max_concurrent_trials: int
+ :ivar max_trials: Number of AutoML iterations.
+ :vartype max_trials: int
+ :ivar timeout: AutoML job timeout.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_trials': {'key': 'maxTrials', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword max_concurrent_trials: Maximum Concurrent AutoML iterations.
+ :paramtype max_concurrent_trials: int
+ :keyword max_trials: Number of AutoML iterations.
+ :paramtype max_trials: int
+ :keyword timeout: AutoML job timeout.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(NlpVerticalLimitSettings, self).__init__(**kwargs)
+ self.max_concurrent_trials = kwargs.get('max_concurrent_trials', 1)
+ self.max_trials = kwargs.get('max_trials', 1)
+ self.timeout = kwargs.get('timeout', None)
+
+
+class NodeStateCounts(msrest.serialization.Model):
+ """Counts of various compute node states on the amlCompute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar idle_node_count: Number of compute nodes in idle state.
+ :vartype idle_node_count: int
+ :ivar running_node_count: Number of compute nodes which are running jobs.
+ :vartype running_node_count: int
+ :ivar preparing_node_count: Number of compute nodes which are being prepared.
+ :vartype preparing_node_count: int
+ :ivar unusable_node_count: Number of compute nodes which are in unusable state.
+ :vartype unusable_node_count: int
+ :ivar leaving_node_count: Number of compute nodes which are leaving the amlCompute.
+ :vartype leaving_node_count: int
+ :ivar preempted_node_count: Number of compute nodes which are in preempted state.
+ :vartype preempted_node_count: int
+ """
+
+ _validation = {
+ 'idle_node_count': {'readonly': True},
+ 'running_node_count': {'readonly': True},
+ 'preparing_node_count': {'readonly': True},
+ 'unusable_node_count': {'readonly': True},
+ 'leaving_node_count': {'readonly': True},
+ 'preempted_node_count': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'idle_node_count': {'key': 'idleNodeCount', 'type': 'int'},
+ 'running_node_count': {'key': 'runningNodeCount', 'type': 'int'},
+ 'preparing_node_count': {'key': 'preparingNodeCount', 'type': 'int'},
+ 'unusable_node_count': {'key': 'unusableNodeCount', 'type': 'int'},
+ 'leaving_node_count': {'key': 'leavingNodeCount', 'type': 'int'},
+ 'preempted_node_count': {'key': 'preemptedNodeCount', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NodeStateCounts, self).__init__(**kwargs)
+ self.idle_node_count = None
+ self.running_node_count = None
+ self.preparing_node_count = None
+ self.unusable_node_count = None
+ self.leaving_node_count = None
+ self.preempted_node_count = None
+
+
+class NoneAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """NoneAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+ super(NoneAuthTypeWorkspaceConnectionProperties, self).__init__(**kwargs)
+ self.auth_type = 'None' # type: str
+
+
+class NoneDatastoreCredentials(DatastoreCredentials):
+ """Empty/none datastore credentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NoneDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'None' # type: str
+
+
+class NotebookAccessTokenResult(msrest.serialization.Model):
+ """NotebookAccessTokenResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar notebook_resource_id:
+ :vartype notebook_resource_id: str
+ :ivar host_name:
+ :vartype host_name: str
+ :ivar public_dns:
+ :vartype public_dns: str
+ :ivar access_token:
+ :vartype access_token: str
+ :ivar token_type:
+ :vartype token_type: str
+ :ivar expires_in:
+ :vartype expires_in: int
+ :ivar refresh_token:
+ :vartype refresh_token: str
+ :ivar scope:
+ :vartype scope: str
+ """
+
+ _validation = {
+ 'notebook_resource_id': {'readonly': True},
+ 'host_name': {'readonly': True},
+ 'public_dns': {'readonly': True},
+ 'access_token': {'readonly': True},
+ 'token_type': {'readonly': True},
+ 'expires_in': {'readonly': True},
+ 'refresh_token': {'readonly': True},
+ 'scope': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'notebook_resource_id': {'key': 'notebookResourceId', 'type': 'str'},
+ 'host_name': {'key': 'hostName', 'type': 'str'},
+ 'public_dns': {'key': 'publicDns', 'type': 'str'},
+ 'access_token': {'key': 'accessToken', 'type': 'str'},
+ 'token_type': {'key': 'tokenType', 'type': 'str'},
+ 'expires_in': {'key': 'expiresIn', 'type': 'int'},
+ 'refresh_token': {'key': 'refreshToken', 'type': 'str'},
+ 'scope': {'key': 'scope', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NotebookAccessTokenResult, self).__init__(**kwargs)
+ self.notebook_resource_id = None
+ self.host_name = None
+ self.public_dns = None
+ self.access_token = None
+ self.token_type = None
+ self.expires_in = None
+ self.refresh_token = None
+ self.scope = None
+
+
+class NotebookPreparationError(msrest.serialization.Model):
+ """NotebookPreparationError.
+
+ :ivar error_message:
+ :vartype error_message: str
+ :ivar status_code:
+ :vartype status_code: int
+ """
+
+ _attribute_map = {
+ 'error_message': {'key': 'errorMessage', 'type': 'str'},
+ 'status_code': {'key': 'statusCode', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword error_message:
+ :paramtype error_message: str
+ :keyword status_code:
+ :paramtype status_code: int
+ """
+ super(NotebookPreparationError, self).__init__(**kwargs)
+ self.error_message = kwargs.get('error_message', None)
+ self.status_code = kwargs.get('status_code', None)
+
+
+class NotebookResourceInfo(msrest.serialization.Model):
+ """NotebookResourceInfo.
+
+ :ivar fqdn:
+ :vartype fqdn: str
+ :ivar resource_id: the data plane resourceId that used to initialize notebook component.
+ :vartype resource_id: str
+ :ivar notebook_preparation_error: The error that occurs when preparing notebook.
+ :vartype notebook_preparation_error:
+ ~azure.mgmt.machinelearningservices.models.NotebookPreparationError
+ """
+
+ _attribute_map = {
+ 'fqdn': {'key': 'fqdn', 'type': 'str'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'notebook_preparation_error': {'key': 'notebookPreparationError', 'type': 'NotebookPreparationError'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword fqdn:
+ :paramtype fqdn: str
+ :keyword resource_id: the data plane resourceId that used to initialize notebook component.
+ :paramtype resource_id: str
+ :keyword notebook_preparation_error: The error that occurs when preparing notebook.
+ :paramtype notebook_preparation_error:
+ ~azure.mgmt.machinelearningservices.models.NotebookPreparationError
+ """
+ super(NotebookResourceInfo, self).__init__(**kwargs)
+ self.fqdn = kwargs.get('fqdn', None)
+ self.resource_id = kwargs.get('resource_id', None)
+ self.notebook_preparation_error = kwargs.get('notebook_preparation_error', None)
+
+
+class Objective(msrest.serialization.Model):
+ """Optimization objective.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar goal: Required. [Required] Defines supported metric goals for hyperparameter tuning.
+ Possible values include: "Minimize", "Maximize".
+ :vartype goal: str or ~azure.mgmt.machinelearningservices.models.Goal
+ :ivar primary_metric: Required. [Required] Name of the metric to optimize.
+ :vartype primary_metric: str
+ """
+
+ _validation = {
+ 'goal': {'required': True},
+ 'primary_metric': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'goal': {'key': 'goal', 'type': 'str'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword goal: Required. [Required] Defines supported metric goals for hyperparameter tuning.
+ Possible values include: "Minimize", "Maximize".
+ :paramtype goal: str or ~azure.mgmt.machinelearningservices.models.Goal
+ :keyword primary_metric: Required. [Required] Name of the metric to optimize.
+ :paramtype primary_metric: str
+ """
+ super(Objective, self).__init__(**kwargs)
+ self.goal = kwargs['goal']
+ self.primary_metric = kwargs['primary_metric']
+
+
+class OnlineDeployment(TrackedResource):
+ """OnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.OnlineDeploymentProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'OnlineDeploymentProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.OnlineDeploymentProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(OnlineDeployment, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.kind = kwargs.get('kind', None)
+ self.properties = kwargs['properties']
+ self.sku = kwargs.get('sku', None)
+
+
+class OnlineDeploymentTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of OnlineDeployment entities.
+
+ :ivar next_link: The link to the next page of OnlineDeployment objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type OnlineDeployment.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[OnlineDeployment]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of OnlineDeployment objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type OnlineDeployment.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ """
+ super(OnlineDeploymentTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class OnlineEndpoint(TrackedResource):
+ """OnlineEndpoint.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.OnlineEndpointProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'OnlineEndpointProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.OnlineEndpointProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(OnlineEndpoint, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.kind = kwargs.get('kind', None)
+ self.properties = kwargs['properties']
+ self.sku = kwargs.get('sku', None)
+
+
+class OnlineEndpointProperties(EndpointPropertiesBase):
+ """Online endpoint configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken' for
+ Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
+ Possible values include: "AMLToken", "Key", "AADToken".
+ :vartype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :ivar description: Description of the inference endpoint.
+ :vartype description: str
+ :ivar keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :vartype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar scoring_uri: Endpoint URI.
+ :vartype scoring_uri: str
+ :ivar swagger_uri: Endpoint Swagger URI.
+ :vartype swagger_uri: str
+ :ivar compute: ARM resource ID of the compute if it exists.
+ optional.
+ :vartype compute: str
+ :ivar provisioning_state: Provisioning state for the endpoint. Possible values include:
+ "Creating", "Deleting", "Succeeded", "Failed", "Updating", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointProvisioningState
+ :ivar public_network_access: Set to "Enabled" for endpoints that should allow public access
+ when Private Link is enabled. Possible values include: "Enabled", "Disabled".
+ :vartype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccessType
+ :ivar traffic: Percentage of traffic from endpoint to divert to each deployment. Traffic values
+ need to sum to 100.
+ :vartype traffic: dict[str, int]
+ """
+
+ _validation = {
+ 'auth_mode': {'required': True},
+ 'scoring_uri': {'readonly': True},
+ 'swagger_uri': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'auth_mode': {'key': 'authMode', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'keys': {'key': 'keys', 'type': 'EndpointAuthKeys'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
+ 'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
+ 'compute': {'key': 'compute', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'},
+ 'traffic': {'key': 'traffic', 'type': '{int}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken'
+ for Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken'
+ does. Possible values include: "AMLToken", "Key", "AADToken".
+ :paramtype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :keyword description: Description of the inference endpoint.
+ :paramtype description: str
+ :keyword keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :paramtype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword compute: ARM resource ID of the compute if it exists.
+ optional.
+ :paramtype compute: str
+ :keyword public_network_access: Set to "Enabled" for endpoints that should allow public access
+ when Private Link is enabled. Possible values include: "Enabled", "Disabled".
+ :paramtype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccessType
+ :keyword traffic: Percentage of traffic from endpoint to divert to each deployment. Traffic
+ values need to sum to 100.
+ :paramtype traffic: dict[str, int]
+ """
+ super(OnlineEndpointProperties, self).__init__(**kwargs)
+ self.compute = kwargs.get('compute', None)
+ self.provisioning_state = None
+ self.public_network_access = kwargs.get('public_network_access', None)
+ self.traffic = kwargs.get('traffic', None)
+
+
+class OnlineEndpointTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of OnlineEndpoint entities.
+
+ :ivar next_link: The link to the next page of OnlineEndpoint objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type OnlineEndpoint.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[OnlineEndpoint]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of OnlineEndpoint objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type OnlineEndpoint.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ """
+ super(OnlineEndpointTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class OnlineRequestSettings(msrest.serialization.Model):
+ """Online deployment scoring requests configuration.
+
+ :ivar max_concurrent_requests_per_instance: The number of maximum concurrent requests per node
+ allowed per deployment. Defaults to 1.
+ :vartype max_concurrent_requests_per_instance: int
+ :ivar max_queue_wait: The maximum amount of time a request will stay in the queue in ISO 8601
+ format.
+ Defaults to 500ms.
+ :vartype max_queue_wait: ~datetime.timedelta
+ :ivar request_timeout: The scoring timeout in ISO 8601 format.
+ Defaults to 5000ms.
+ :vartype request_timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_concurrent_requests_per_instance': {'key': 'maxConcurrentRequestsPerInstance', 'type': 'int'},
+ 'max_queue_wait': {'key': 'maxQueueWait', 'type': 'duration'},
+ 'request_timeout': {'key': 'requestTimeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword max_concurrent_requests_per_instance: The number of maximum concurrent requests per
+ node allowed per deployment. Defaults to 1.
+ :paramtype max_concurrent_requests_per_instance: int
+ :keyword max_queue_wait: The maximum amount of time a request will stay in the queue in ISO
+ 8601 format.
+ Defaults to 500ms.
+ :paramtype max_queue_wait: ~datetime.timedelta
+ :keyword request_timeout: The scoring timeout in ISO 8601 format.
+ Defaults to 5000ms.
+ :paramtype request_timeout: ~datetime.timedelta
+ """
+ super(OnlineRequestSettings, self).__init__(**kwargs)
+ self.max_concurrent_requests_per_instance = kwargs.get('max_concurrent_requests_per_instance', 1)
+ self.max_queue_wait = kwargs.get('max_queue_wait', "PT0.5S")
+ self.request_timeout = kwargs.get('request_timeout', "PT5S")
+
+
+class OutputPathAssetReference(AssetReferenceBase):
+ """Reference to an asset via its path in a job output.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar job_id: ARM resource ID of the job.
+ :vartype job_id: str
+ :ivar path: The path of the file/directory in the job output.
+ :vartype path: str
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ 'job_id': {'key': 'jobId', 'type': 'str'},
+ 'path': {'key': 'path', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword job_id: ARM resource ID of the job.
+ :paramtype job_id: str
+ :keyword path: The path of the file/directory in the job output.
+ :paramtype path: str
+ """
+ super(OutputPathAssetReference, self).__init__(**kwargs)
+ self.reference_type = 'OutputPath' # type: str
+ self.job_id = kwargs.get('job_id', None)
+ self.path = kwargs.get('path', None)
+
+
+class PaginatedComputeResourcesList(msrest.serialization.Model):
+ """Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.
+
+ :ivar value: An array of Machine Learning compute objects wrapped in ARM resource envelope.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :ivar next_link: A continuation link (absolute URI) to the next page of results in the list.
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[ComputeResource]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: An array of Machine Learning compute objects wrapped in ARM resource envelope.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :keyword next_link: A continuation link (absolute URI) to the next page of results in the list.
+ :paramtype next_link: str
+ """
+ super(PaginatedComputeResourcesList, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+ self.next_link = kwargs.get('next_link', None)
+
+
+class PartialBatchDeployment(msrest.serialization.Model):
+ """Mutable batch inference settings per deployment.
+
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ """
+ super(PartialBatchDeployment, self).__init__(**kwargs)
+ self.description = kwargs.get('description', None)
+
+
+class PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties(msrest.serialization.Model):
+ """Strictly used in update requests.
+
+ :ivar properties: Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.PartialBatchDeployment
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'PartialBatchDeployment'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.PartialBatchDeployment
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ """
+ super(PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.tags = kwargs.get('tags', None)
+
+
+class PartialManagedServiceIdentity(msrest.serialization.Model):
+ """Managed service identity (system assigned and/or user assigned identities).
+
+ :ivar type: Managed service identity (system assigned and/or user assigned identities).
+ Possible values include: "None", "SystemAssigned", "UserAssigned",
+ "SystemAssigned,UserAssigned".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :ivar user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :vartype user_assigned_identities: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'type': {'key': 'type', 'type': 'str'},
+ 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword type: Managed service identity (system assigned and/or user assigned identities).
+ Possible values include: "None", "SystemAssigned", "UserAssigned",
+ "SystemAssigned,UserAssigned".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :keyword user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :paramtype user_assigned_identities: dict[str, any]
+ """
+ super(PartialManagedServiceIdentity, self).__init__(**kwargs)
+ self.type = kwargs.get('type', None)
+ self.user_assigned_identities = kwargs.get('user_assigned_identities', None)
+
+
+class PartialMinimalTrackedResource(msrest.serialization.Model):
+ """Strictly used in update requests.
+
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ """
+ super(PartialMinimalTrackedResource, self).__init__(**kwargs)
+ self.tags = kwargs.get('tags', None)
+
+
+class PartialMinimalTrackedResourceWithIdentity(PartialMinimalTrackedResource):
+ """Strictly used in update requests.
+
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.PartialManagedServiceIdentity
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'identity': {'key': 'identity', 'type': 'PartialManagedServiceIdentity'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.PartialManagedServiceIdentity
+ """
+ super(PartialMinimalTrackedResourceWithIdentity, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+
+
+class PartialMinimalTrackedResourceWithSku(PartialMinimalTrackedResource):
+ """Strictly used in update requests.
+
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.PartialSku
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'PartialSku'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.PartialSku
+ """
+ super(PartialMinimalTrackedResourceWithSku, self).__init__(**kwargs)
+ self.sku = kwargs.get('sku', None)
+
+
+class PartialSku(msrest.serialization.Model):
+ """Common SKU definition.
+
+ :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included.
+ If scale out/in is not possible for the resource this may be omitted.
+ :vartype capacity: int
+ :ivar family: If the service has different generations of hardware, for the same SKU, then that
+ can be captured here.
+ :vartype family: str
+ :ivar name: The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :vartype name: str
+ :ivar size: The SKU size. When the name field is the combination of tier and some other value,
+ this would be the standalone code.
+ :vartype size: str
+ :ivar tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+
+ _attribute_map = {
+ 'capacity': {'key': 'capacity', 'type': 'int'},
+ 'family': {'key': 'family', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'size': {'key': 'size', 'type': 'str'},
+ 'tier': {'key': 'tier', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword capacity: If the SKU supports scale out/in then the capacity integer should be
+ included. If scale out/in is not possible for the resource this may be omitted.
+ :paramtype capacity: int
+ :keyword family: If the service has different generations of hardware, for the same SKU, then
+ that can be captured here.
+ :paramtype family: str
+ :keyword name: The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :paramtype name: str
+ :keyword size: The SKU size. When the name field is the combination of tier and some other
+ value, this would be the standalone code.
+ :paramtype size: str
+ :keyword tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+ super(PartialSku, self).__init__(**kwargs)
+ self.capacity = kwargs.get('capacity', None)
+ self.family = kwargs.get('family', None)
+ self.name = kwargs.get('name', None)
+ self.size = kwargs.get('size', None)
+ self.tier = kwargs.get('tier', None)
+
+
+class Password(msrest.serialization.Model):
+ """Password.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name:
+ :vartype name: str
+ :ivar value:
+ :vartype value: str
+ """
+
+ _validation = {
+ 'name': {'readonly': True},
+ 'value': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Password, self).__init__(**kwargs)
+ self.name = None
+ self.value = None
+
+
+class PATAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """PATAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPersonalAccessToken
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionPersonalAccessToken'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPersonalAccessToken
+ """
+ super(PATAuthTypeWorkspaceConnectionProperties, self).__init__(**kwargs)
+ self.auth_type = 'PAT' # type: str
+ self.credentials = kwargs.get('credentials', None)
+
+
+class PersonalComputeInstanceSettings(msrest.serialization.Model):
+ """Settings for a personal compute instance.
+
+ :ivar assigned_user: A user explicitly assigned to a personal compute instance.
+ :vartype assigned_user: ~azure.mgmt.machinelearningservices.models.AssignedUser
+ """
+
+ _attribute_map = {
+ 'assigned_user': {'key': 'assignedUser', 'type': 'AssignedUser'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword assigned_user: A user explicitly assigned to a personal compute instance.
+ :paramtype assigned_user: ~azure.mgmt.machinelearningservices.models.AssignedUser
+ """
+ super(PersonalComputeInstanceSettings, self).__init__(**kwargs)
+ self.assigned_user = kwargs.get('assigned_user', None)
+
+
+class PipelineJob(JobBaseProperties):
+ """Pipeline Job definition: defines generic to MFE attributes.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar inputs: Inputs for the pipeline job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar jobs: Jobs construct the Pipeline Job.
+ :vartype jobs: dict[str, any]
+ :ivar outputs: Outputs for the pipeline job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar settings: Pipeline settings, for things like ContinueRunOnStepFailure etc.
+ :vartype settings: any
+ :ivar source_job_id: ARM resource ID of source job.
+ :vartype source_job_id: str
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'inputs': {'key': 'inputs', 'type': '{JobInput}'},
+ 'jobs': {'key': 'jobs', 'type': '{object}'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'settings': {'key': 'settings', 'type': 'object'},
+ 'source_job_id': {'key': 'sourceJobId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword inputs: Inputs for the pipeline job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword jobs: Jobs construct the Pipeline Job.
+ :paramtype jobs: dict[str, any]
+ :keyword outputs: Outputs for the pipeline job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword settings: Pipeline settings, for things like ContinueRunOnStepFailure etc.
+ :paramtype settings: any
+ :keyword source_job_id: ARM resource ID of source job.
+ :paramtype source_job_id: str
+ """
+ super(PipelineJob, self).__init__(**kwargs)
+ self.job_type = 'Pipeline' # type: str
+ self.inputs = kwargs.get('inputs', None)
+ self.jobs = kwargs.get('jobs', None)
+ self.outputs = kwargs.get('outputs', None)
+ self.settings = kwargs.get('settings', None)
+ self.source_job_id = kwargs.get('source_job_id', None)
+
+
+class PrivateEndpoint(msrest.serialization.Model):
+ """The Private Endpoint resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: The ARM identifier for Private Endpoint.
+ :vartype id: str
+ :ivar subnet_arm_id: The ARM identifier for Subnet resource that private endpoint links to.
+ :vartype subnet_arm_id: str
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'subnet_arm_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'subnet_arm_id': {'key': 'subnetArmId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(PrivateEndpoint, self).__init__(**kwargs)
+ self.id = None
+ self.subnet_arm_id = None
+
+
+class PrivateEndpointConnection(Resource):
+ """The Private Endpoint Connection resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar private_endpoint: The resource of private end point.
+ :vartype private_endpoint: ~azure.mgmt.machinelearningservices.models.PrivateEndpoint
+ :ivar private_link_service_connection_state: A collection of information about the state of the
+ connection between service consumer and provider.
+ :vartype private_link_service_connection_state:
+ ~azure.mgmt.machinelearningservices.models.PrivateLinkServiceConnectionState
+ :ivar provisioning_state: The provisioning state of the private endpoint connection resource.
+ Possible values include: "Succeeded", "Creating", "Deleting", "Failed".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnectionProvisioningState
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'},
+ 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'},
+ 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword private_endpoint: The resource of private end point.
+ :paramtype private_endpoint: ~azure.mgmt.machinelearningservices.models.PrivateEndpoint
+ :keyword private_link_service_connection_state: A collection of information about the state of
+ the connection between service consumer and provider.
+ :paramtype private_link_service_connection_state:
+ ~azure.mgmt.machinelearningservices.models.PrivateLinkServiceConnectionState
+ """
+ super(PrivateEndpointConnection, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.location = kwargs.get('location', None)
+ self.tags = kwargs.get('tags', None)
+ self.sku = kwargs.get('sku', None)
+ self.private_endpoint = kwargs.get('private_endpoint', None)
+ self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None)
+ self.provisioning_state = None
+
+
+class PrivateEndpointConnectionListResult(msrest.serialization.Model):
+ """List of private endpoint connection associated with the specified workspace.
+
+ :ivar value: Array of private endpoint connections.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Array of private endpoint connections.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
+ """
+ super(PrivateEndpointConnectionListResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class PrivateLinkResource(Resource):
+ """A private link resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar group_id: The private link resource group id.
+ :vartype group_id: str
+ :ivar required_members: The private link resource required member names.
+ :vartype required_members: list[str]
+ :ivar required_zone_names: The private link resource Private link DNS zone name.
+ :vartype required_zone_names: list[str]
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'group_id': {'readonly': True},
+ 'required_members': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'group_id': {'key': 'properties.groupId', 'type': 'str'},
+ 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'},
+ 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword required_zone_names: The private link resource Private link DNS zone name.
+ :paramtype required_zone_names: list[str]
+ """
+ super(PrivateLinkResource, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.location = kwargs.get('location', None)
+ self.tags = kwargs.get('tags', None)
+ self.sku = kwargs.get('sku', None)
+ self.group_id = None
+ self.required_members = None
+ self.required_zone_names = kwargs.get('required_zone_names', None)
+
+
+class PrivateLinkResourceListResult(msrest.serialization.Model):
+ """A list of private link resources.
+
+ :ivar value: Array of private link resources.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.PrivateLinkResource]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[PrivateLinkResource]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: Array of private link resources.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.PrivateLinkResource]
+ """
+ super(PrivateLinkResourceListResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class PrivateLinkServiceConnectionState(msrest.serialization.Model):
+ """A collection of information about the state of the connection between service consumer and provider.
+
+ :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner
+ of the service. Possible values include: "Pending", "Approved", "Rejected", "Disconnected",
+ "Timeout".
+ :vartype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ :ivar description: The reason for approval/rejection of the connection.
+ :vartype description: str
+ :ivar actions_required: A message indicating if changes on the service provider require any
+ updates on the consumer.
+ :vartype actions_required: str
+ """
+
+ _attribute_map = {
+ 'status': {'key': 'status', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'actions_required': {'key': 'actionsRequired', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the
+ owner of the service. Possible values include: "Pending", "Approved", "Rejected",
+ "Disconnected", "Timeout".
+ :paramtype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ :keyword description: The reason for approval/rejection of the connection.
+ :paramtype description: str
+ :keyword actions_required: A message indicating if changes on the service provider require any
+ updates on the consumer.
+ :paramtype actions_required: str
+ """
+ super(PrivateLinkServiceConnectionState, self).__init__(**kwargs)
+ self.status = kwargs.get('status', None)
+ self.description = kwargs.get('description', None)
+ self.actions_required = kwargs.get('actions_required', None)
+
+
+class ProbeSettings(msrest.serialization.Model):
+ """Deployment container liveness/readiness probe configuration.
+
+ :ivar failure_threshold: The number of failures to allow before returning an unhealthy status.
+ :vartype failure_threshold: int
+ :ivar initial_delay: The delay before the first probe in ISO 8601 format.
+ :vartype initial_delay: ~datetime.timedelta
+ :ivar period: The length of time between probes in ISO 8601 format.
+ :vartype period: ~datetime.timedelta
+ :ivar success_threshold: The number of successful probes before returning a healthy status.
+ :vartype success_threshold: int
+ :ivar timeout: The probe timeout in ISO 8601 format.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'failure_threshold': {'key': 'failureThreshold', 'type': 'int'},
+ 'initial_delay': {'key': 'initialDelay', 'type': 'duration'},
+ 'period': {'key': 'period', 'type': 'duration'},
+ 'success_threshold': {'key': 'successThreshold', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword failure_threshold: The number of failures to allow before returning an unhealthy
+ status.
+ :paramtype failure_threshold: int
+ :keyword initial_delay: The delay before the first probe in ISO 8601 format.
+ :paramtype initial_delay: ~datetime.timedelta
+ :keyword period: The length of time between probes in ISO 8601 format.
+ :paramtype period: ~datetime.timedelta
+ :keyword success_threshold: The number of successful probes before returning a healthy status.
+ :paramtype success_threshold: int
+ :keyword timeout: The probe timeout in ISO 8601 format.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(ProbeSettings, self).__init__(**kwargs)
+ self.failure_threshold = kwargs.get('failure_threshold', 30)
+ self.initial_delay = kwargs.get('initial_delay', None)
+ self.period = kwargs.get('period', "PT10S")
+ self.success_threshold = kwargs.get('success_threshold', 1)
+ self.timeout = kwargs.get('timeout', "PT2S")
+
+
+class PyTorch(DistributionConfiguration):
+ """PyTorch distribution configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ :ivar process_count_per_instance: Number of processes per node.
+ :vartype process_count_per_instance: int
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ 'process_count_per_instance': {'key': 'processCountPerInstance', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword process_count_per_instance: Number of processes per node.
+ :paramtype process_count_per_instance: int
+ """
+ super(PyTorch, self).__init__(**kwargs)
+ self.distribution_type = 'PyTorch' # type: str
+ self.process_count_per_instance = kwargs.get('process_count_per_instance', None)
+
+
+class QuotaBaseProperties(msrest.serialization.Model):
+ """The properties for Quota update or retrieval.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar limit: The maximum permitted quota of the resource.
+ :vartype limit: long
+ :ivar unit: An enum describing the unit of quota measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ """
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword id: Specifies the resource ID.
+ :paramtype id: str
+ :keyword type: Specifies the resource type.
+ :paramtype type: str
+ :keyword limit: The maximum permitted quota of the resource.
+ :paramtype limit: long
+ :keyword unit: An enum describing the unit of quota measurement. Possible values include:
+ "Count".
+ :paramtype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ """
+ super(QuotaBaseProperties, self).__init__(**kwargs)
+ self.id = kwargs.get('id', None)
+ self.type = kwargs.get('type', None)
+ self.limit = kwargs.get('limit', None)
+ self.unit = kwargs.get('unit', None)
+
+
+class QuotaUpdateParameters(msrest.serialization.Model):
+ """Quota update parameters.
+
+ :ivar value: The list for update quota.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.QuotaBaseProperties]
+ :ivar location: Region of workspace quota to be updated.
+ :vartype location: str
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[QuotaBaseProperties]'},
+ 'location': {'key': 'location', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: The list for update quota.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.QuotaBaseProperties]
+ :keyword location: Region of workspace quota to be updated.
+ :paramtype location: str
+ """
+ super(QuotaUpdateParameters, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+ self.location = kwargs.get('location', None)
+
+
+class RandomSamplingAlgorithm(SamplingAlgorithm):
+ """Defines a Sampling Algorithm that generates values randomly.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :ivar rule: The specific type of random algorithm. Possible values include: "Random", "Sobol".
+ :vartype rule: str or ~azure.mgmt.machinelearningservices.models.RandomSamplingAlgorithmRule
+ :ivar seed: An optional integer to use as the seed for random number generation.
+ :vartype seed: int
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ 'rule': {'key': 'rule', 'type': 'str'},
+ 'seed': {'key': 'seed', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword rule: The specific type of random algorithm. Possible values include: "Random",
+ "Sobol".
+ :paramtype rule: str or ~azure.mgmt.machinelearningservices.models.RandomSamplingAlgorithmRule
+ :keyword seed: An optional integer to use as the seed for random number generation.
+ :paramtype seed: int
+ """
+ super(RandomSamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = 'Random' # type: str
+ self.rule = kwargs.get('rule', None)
+ self.seed = kwargs.get('seed', None)
+
+
+class RecurrenceSchedule(msrest.serialization.Model):
+ """RecurrenceSchedule.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar hours: Required. [Required] List of hours for the schedule.
+ :vartype hours: list[int]
+ :ivar minutes: Required. [Required] List of minutes for the schedule.
+ :vartype minutes: list[int]
+ :ivar month_days: List of month days for the schedule.
+ :vartype month_days: list[int]
+ :ivar week_days: List of days for the schedule.
+ :vartype week_days: list[str or ~azure.mgmt.machinelearningservices.models.WeekDay]
+ """
+
+ _validation = {
+ 'hours': {'required': True},
+ 'minutes': {'required': True},
+ }
+
+ _attribute_map = {
+ 'hours': {'key': 'hours', 'type': '[int]'},
+ 'minutes': {'key': 'minutes', 'type': '[int]'},
+ 'month_days': {'key': 'monthDays', 'type': '[int]'},
+ 'week_days': {'key': 'weekDays', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword hours: Required. [Required] List of hours for the schedule.
+ :paramtype hours: list[int]
+ :keyword minutes: Required. [Required] List of minutes for the schedule.
+ :paramtype minutes: list[int]
+ :keyword month_days: List of month days for the schedule.
+ :paramtype month_days: list[int]
+ :keyword week_days: List of days for the schedule.
+ :paramtype week_days: list[str or ~azure.mgmt.machinelearningservices.models.WeekDay]
+ """
+ super(RecurrenceSchedule, self).__init__(**kwargs)
+ self.hours = kwargs['hours']
+ self.minutes = kwargs['minutes']
+ self.month_days = kwargs.get('month_days', None)
+ self.week_days = kwargs.get('week_days', None)
+
+
+class RecurrenceTrigger(TriggerBase):
+ """RecurrenceTrigger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :vartype end_time: str
+ :ivar start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar trigger_type: Required. [Required].Constant filled by server. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :ivar frequency: Required. [Required] The frequency to trigger schedule. Possible values
+ include: "Minute", "Hour", "Day", "Week", "Month".
+ :vartype frequency: str or ~azure.mgmt.machinelearningservices.models.RecurrenceFrequency
+ :ivar interval: Required. [Required] Specifies schedule interval in conjunction with frequency.
+ :vartype interval: int
+ :ivar schedule: The recurrence schedule.
+ :vartype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceSchedule
+ """
+
+ _validation = {
+ 'trigger_type': {'required': True},
+ 'frequency': {'required': True},
+ 'interval': {'required': True},
+ }
+
+ _attribute_map = {
+ 'end_time': {'key': 'endTime', 'type': 'str'},
+ 'start_time': {'key': 'startTime', 'type': 'str'},
+ 'time_zone': {'key': 'timeZone', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ 'frequency': {'key': 'frequency', 'type': 'str'},
+ 'interval': {'key': 'interval', 'type': 'int'},
+ 'schedule': {'key': 'schedule', 'type': 'RecurrenceSchedule'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :paramtype end_time: str
+ :keyword start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ :keyword frequency: Required. [Required] The frequency to trigger schedule. Possible values
+ include: "Minute", "Hour", "Day", "Week", "Month".
+ :paramtype frequency: str or ~azure.mgmt.machinelearningservices.models.RecurrenceFrequency
+ :keyword interval: Required. [Required] Specifies schedule interval in conjunction with
+ frequency.
+ :paramtype interval: int
+ :keyword schedule: The recurrence schedule.
+ :paramtype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceSchedule
+ """
+ super(RecurrenceTrigger, self).__init__(**kwargs)
+ self.trigger_type = 'Recurrence' # type: str
+ self.frequency = kwargs['frequency']
+ self.interval = kwargs['interval']
+ self.schedule = kwargs.get('schedule', None)
+
+
+class RegenerateEndpointKeysRequest(msrest.serialization.Model):
+ """RegenerateEndpointKeysRequest.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar key_type: Required. [Required] Specification for which type of key to generate. Primary
+ or Secondary. Possible values include: "Primary", "Secondary".
+ :vartype key_type: str or ~azure.mgmt.machinelearningservices.models.KeyType
+ :ivar key_value: The value the key is set to.
+ :vartype key_value: str
+ """
+
+ _validation = {
+ 'key_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'key_type': {'key': 'keyType', 'type': 'str'},
+ 'key_value': {'key': 'keyValue', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword key_type: Required. [Required] Specification for which type of key to generate.
+ Primary or Secondary. Possible values include: "Primary", "Secondary".
+ :paramtype key_type: str or ~azure.mgmt.machinelearningservices.models.KeyType
+ :keyword key_value: The value the key is set to.
+ :paramtype key_value: str
+ """
+ super(RegenerateEndpointKeysRequest, self).__init__(**kwargs)
+ self.key_type = kwargs['key_type']
+ self.key_value = kwargs.get('key_value', None)
+
+
+class RegistryListCredentialsResult(msrest.serialization.Model):
+ """RegistryListCredentialsResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar location:
+ :vartype location: str
+ :ivar username:
+ :vartype username: str
+ :ivar passwords:
+ :vartype passwords: list[~azure.mgmt.machinelearningservices.models.Password]
+ """
+
+ _validation = {
+ 'location': {'readonly': True},
+ 'username': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'location': {'key': 'location', 'type': 'str'},
+ 'username': {'key': 'username', 'type': 'str'},
+ 'passwords': {'key': 'passwords', 'type': '[Password]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword passwords:
+ :paramtype passwords: list[~azure.mgmt.machinelearningservices.models.Password]
+ """
+ super(RegistryListCredentialsResult, self).__init__(**kwargs)
+ self.location = None
+ self.username = None
+ self.passwords = kwargs.get('passwords', None)
+
+
+class Regression(AutoMLVertical, TableVertical):
+ """Regression task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for regression task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.RegressionPrimaryMetrics
+ :ivar training_settings: Inputs for training phase for an AutoML Job.
+ :vartype training_settings:
+ ~azure.mgmt.machinelearningservices.models.RegressionTrainingSettings
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ 'training_settings': {'key': 'trainingSettings', 'type': 'RegressionTrainingSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric for regression task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.RegressionPrimaryMetrics
+ :keyword training_settings: Inputs for training phase for an AutoML Job.
+ :paramtype training_settings:
+ ~azure.mgmt.machinelearningservices.models.RegressionTrainingSettings
+ """
+ super(Regression, self).__init__(**kwargs)
+ self.cv_split_column_names = kwargs.get('cv_split_column_names', None)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.n_cross_validations = kwargs.get('n_cross_validations', None)
+ self.test_data = kwargs.get('test_data', None)
+ self.test_data_size = kwargs.get('test_data_size', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.validation_data_size = kwargs.get('validation_data_size', None)
+ self.weight_column_name = kwargs.get('weight_column_name', None)
+ self.task_type = 'Regression' # type: str
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.training_settings = kwargs.get('training_settings', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class RegressionTrainingSettings(TrainingSettings):
+ """Regression Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar allowed_training_algorithms: Allowed models for regression task.
+ :vartype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ :ivar blocked_training_algorithms: Blocked models for regression task.
+ :vartype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ 'allowed_training_algorithms': {'key': 'allowedTrainingAlgorithms', 'type': '[str]'},
+ 'blocked_training_algorithms': {'key': 'blockedTrainingAlgorithms', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword allowed_training_algorithms: Allowed models for regression task.
+ :paramtype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ :keyword blocked_training_algorithms: Blocked models for regression task.
+ :paramtype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ """
+ super(RegressionTrainingSettings, self).__init__(**kwargs)
+ self.allowed_training_algorithms = kwargs.get('allowed_training_algorithms', None)
+ self.blocked_training_algorithms = kwargs.get('blocked_training_algorithms', None)
+
+
+class ResourceId(msrest.serialization.Model):
+ """Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required. The ID of the resource.
+ :vartype id: str
+ """
+
+ _validation = {
+ 'id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword id: Required. The ID of the resource.
+ :paramtype id: str
+ """
+ super(ResourceId, self).__init__(**kwargs)
+ self.id = kwargs['id']
+
+
+class ResourceName(msrest.serialization.Model):
+ """The Resource Name.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The name of the resource.
+ :vartype value: str
+ :ivar localized_value: The localized name of the resource.
+ :vartype localized_value: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'localized_value': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'str'},
+ 'localized_value': {'key': 'localizedValue', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ResourceName, self).__init__(**kwargs)
+ self.value = None
+ self.localized_value = None
+
+
+class ResourceQuota(msrest.serialization.Model):
+ """The quota assigned to a resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar aml_workspace_location: Region of the AML workspace in the id.
+ :vartype aml_workspace_location: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar name: Name of the resource.
+ :vartype name: ~azure.mgmt.machinelearningservices.models.ResourceName
+ :ivar limit: The maximum permitted quota of the resource.
+ :vartype limit: long
+ :ivar unit: An enum describing the unit of quota measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'aml_workspace_location': {'readonly': True},
+ 'type': {'readonly': True},
+ 'name': {'readonly': True},
+ 'limit': {'readonly': True},
+ 'unit': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'aml_workspace_location': {'key': 'amlWorkspaceLocation', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'ResourceName'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ResourceQuota, self).__init__(**kwargs)
+ self.id = None
+ self.aml_workspace_location = None
+ self.type = None
+ self.name = None
+ self.limit = None
+ self.unit = None
+
+
+class Route(msrest.serialization.Model):
+ """Route.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar path: Required. [Required] The path for the route.
+ :vartype path: str
+ :ivar port: Required. [Required] The port for the route.
+ :vartype port: int
+ """
+
+ _validation = {
+ 'path': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'port': {'required': True},
+ }
+
+ _attribute_map = {
+ 'path': {'key': 'path', 'type': 'str'},
+ 'port': {'key': 'port', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword path: Required. [Required] The path for the route.
+ :paramtype path: str
+ :keyword port: Required. [Required] The port for the route.
+ :paramtype port: int
+ """
+ super(Route, self).__init__(**kwargs)
+ self.path = kwargs['path']
+ self.port = kwargs['port']
+
+
+class SASAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """SASAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionSharedAccessSignature
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionSharedAccessSignature'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionSharedAccessSignature
+ """
+ super(SASAuthTypeWorkspaceConnectionProperties, self).__init__(**kwargs)
+ self.auth_type = 'SAS' # type: str
+ self.credentials = kwargs.get('credentials', None)
+
+
+class SasDatastoreCredentials(DatastoreCredentials):
+ """SAS datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar secrets: Required. [Required] Storage container secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.SasDatastoreSecrets
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'secrets': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'SasDatastoreSecrets'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword secrets: Required. [Required] Storage container secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.SasDatastoreSecrets
+ """
+ super(SasDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'Sas' # type: str
+ self.secrets = kwargs['secrets']
+
+
+class SasDatastoreSecrets(DatastoreSecrets):
+ """Datastore SAS secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar sas_token: Storage container SAS token.
+ :vartype sas_token: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'sas_token': {'key': 'sasToken', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword sas_token: Storage container SAS token.
+ :paramtype sas_token: str
+ """
+ super(SasDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'Sas' # type: str
+ self.sas_token = kwargs.get('sas_token', None)
+
+
+class ScaleSettings(msrest.serialization.Model):
+ """scale settings for AML Compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar max_node_count: Required. Max number of nodes to use.
+ :vartype max_node_count: int
+ :ivar min_node_count: Min number of nodes to use.
+ :vartype min_node_count: int
+ :ivar node_idle_time_before_scale_down: Node Idle Time before scaling down amlCompute. This
+ string needs to be in the RFC Format.
+ :vartype node_idle_time_before_scale_down: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'max_node_count': {'required': True},
+ }
+
+ _attribute_map = {
+ 'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
+ 'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
+ 'node_idle_time_before_scale_down': {'key': 'nodeIdleTimeBeforeScaleDown', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword max_node_count: Required. Max number of nodes to use.
+ :paramtype max_node_count: int
+ :keyword min_node_count: Min number of nodes to use.
+ :paramtype min_node_count: int
+ :keyword node_idle_time_before_scale_down: Node Idle Time before scaling down amlCompute. This
+ string needs to be in the RFC Format.
+ :paramtype node_idle_time_before_scale_down: ~datetime.timedelta
+ """
+ super(ScaleSettings, self).__init__(**kwargs)
+ self.max_node_count = kwargs['max_node_count']
+ self.min_node_count = kwargs.get('min_node_count', 0)
+ self.node_idle_time_before_scale_down = kwargs.get('node_idle_time_before_scale_down', None)
+
+
+class ScaleSettingsInformation(msrest.serialization.Model):
+ """Desired scale settings for the amlCompute.
+
+ :ivar scale_settings: scale settings for AML Compute.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ """
+
+ _attribute_map = {
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'ScaleSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword scale_settings: scale settings for AML Compute.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ """
+ super(ScaleSettingsInformation, self).__init__(**kwargs)
+ self.scale_settings = kwargs.get('scale_settings', None)
+
+
+class Schedule(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ScheduleProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ScheduleProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ScheduleProperties
+ """
+ super(Schedule, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class ScheduleBase(msrest.serialization.Model):
+ """ScheduleBase.
+
+ :ivar id: A system assigned id for the schedule.
+ :vartype id: str
+ :ivar provisioning_status: The current deployment state of schedule. Possible values include:
+ "Completed", "Provisioning", "Failed".
+ :vartype provisioning_status: str or
+ ~azure.mgmt.machinelearningservices.models.ScheduleProvisioningState
+ :ivar status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ """
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword id: A system assigned id for the schedule.
+ :paramtype id: str
+ :keyword provisioning_status: The current deployment state of schedule. Possible values
+ include: "Completed", "Provisioning", "Failed".
+ :paramtype provisioning_status: str or
+ ~azure.mgmt.machinelearningservices.models.ScheduleProvisioningState
+ :keyword status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ """
+ super(ScheduleBase, self).__init__(**kwargs)
+ self.id = kwargs.get('id', None)
+ self.provisioning_status = kwargs.get('provisioning_status', None)
+ self.status = kwargs.get('status', None)
+
+
+class ScheduleProperties(ResourceBase):
+ """Base definition of a schedule.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar action: Required. [Required] Specifies the action of the schedule.
+ :vartype action: ~azure.mgmt.machinelearningservices.models.ScheduleActionBase
+ :ivar display_name: Display name of schedule.
+ :vartype display_name: str
+ :ivar is_enabled: Is the schedule enabled?.
+ :vartype is_enabled: bool
+ :ivar provisioning_state: Provisioning state for the schedule. Possible values include:
+ "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ScheduleProvisioningStatus
+ :ivar trigger: Required. [Required] Specifies the trigger details.
+ :vartype trigger: ~azure.mgmt.machinelearningservices.models.TriggerBase
+ """
+
+ _validation = {
+ 'action': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ 'trigger': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'action': {'key': 'action', 'type': 'ScheduleActionBase'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'is_enabled': {'key': 'isEnabled', 'type': 'bool'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'trigger': {'key': 'trigger', 'type': 'TriggerBase'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword action: Required. [Required] Specifies the action of the schedule.
+ :paramtype action: ~azure.mgmt.machinelearningservices.models.ScheduleActionBase
+ :keyword display_name: Display name of schedule.
+ :paramtype display_name: str
+ :keyword is_enabled: Is the schedule enabled?.
+ :paramtype is_enabled: bool
+ :keyword trigger: Required. [Required] Specifies the trigger details.
+ :paramtype trigger: ~azure.mgmt.machinelearningservices.models.TriggerBase
+ """
+ super(ScheduleProperties, self).__init__(**kwargs)
+ self.action = kwargs['action']
+ self.display_name = kwargs.get('display_name', None)
+ self.is_enabled = kwargs.get('is_enabled', True)
+ self.provisioning_state = None
+ self.trigger = kwargs['trigger']
+
+
+class ScheduleResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of Schedule entities.
+
+ :ivar next_link: The link to the next page of Schedule objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type Schedule.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Schedule]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[Schedule]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of Schedule objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type Schedule.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Schedule]
+ """
+ super(ScheduleResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class ScriptReference(msrest.serialization.Model):
+ """Script reference.
+
+ :ivar script_source: The storage source of the script: inline, workspace.
+ :vartype script_source: str
+ :ivar script_data: The location of scripts in the mounted volume.
+ :vartype script_data: str
+ :ivar script_arguments: Optional command line arguments passed to the script to run.
+ :vartype script_arguments: str
+ :ivar timeout: Optional time period passed to timeout command.
+ :vartype timeout: str
+ """
+
+ _attribute_map = {
+ 'script_source': {'key': 'scriptSource', 'type': 'str'},
+ 'script_data': {'key': 'scriptData', 'type': 'str'},
+ 'script_arguments': {'key': 'scriptArguments', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword script_source: The storage source of the script: inline, workspace.
+ :paramtype script_source: str
+ :keyword script_data: The location of scripts in the mounted volume.
+ :paramtype script_data: str
+ :keyword script_arguments: Optional command line arguments passed to the script to run.
+ :paramtype script_arguments: str
+ :keyword timeout: Optional time period passed to timeout command.
+ :paramtype timeout: str
+ """
+ super(ScriptReference, self).__init__(**kwargs)
+ self.script_source = kwargs.get('script_source', None)
+ self.script_data = kwargs.get('script_data', None)
+ self.script_arguments = kwargs.get('script_arguments', None)
+ self.timeout = kwargs.get('timeout', None)
+
+
+class ScriptsToExecute(msrest.serialization.Model):
+ """Customized setup scripts.
+
+ :ivar startup_script: Script that's run every time the machine starts.
+ :vartype startup_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ :ivar creation_script: Script that's run only once during provision of the compute.
+ :vartype creation_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ """
+
+ _attribute_map = {
+ 'startup_script': {'key': 'startupScript', 'type': 'ScriptReference'},
+ 'creation_script': {'key': 'creationScript', 'type': 'ScriptReference'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword startup_script: Script that's run every time the machine starts.
+ :paramtype startup_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ :keyword creation_script: Script that's run only once during provision of the compute.
+ :paramtype creation_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ """
+ super(ScriptsToExecute, self).__init__(**kwargs)
+ self.startup_script = kwargs.get('startup_script', None)
+ self.creation_script = kwargs.get('creation_script', None)
+
+
+class ServiceManagedResourcesSettings(msrest.serialization.Model):
+ """ServiceManagedResourcesSettings.
+
+ :ivar cosmos_db: The settings for the service managed cosmosdb account.
+ :vartype cosmos_db: ~azure.mgmt.machinelearningservices.models.CosmosDbSettings
+ """
+
+ _attribute_map = {
+ 'cosmos_db': {'key': 'cosmosDb', 'type': 'CosmosDbSettings'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword cosmos_db: The settings for the service managed cosmosdb account.
+ :paramtype cosmos_db: ~azure.mgmt.machinelearningservices.models.CosmosDbSettings
+ """
+ super(ServiceManagedResourcesSettings, self).__init__(**kwargs)
+ self.cosmos_db = kwargs.get('cosmos_db', None)
+
+
+class ServicePrincipalDatastoreCredentials(DatastoreCredentials):
+ """Service Principal datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar authority_url: Authority URL used for authentication.
+ :vartype authority_url: str
+ :ivar client_id: Required. [Required] Service principal client ID.
+ :vartype client_id: str
+ :ivar resource_url: Resource the service principal has access to.
+ :vartype resource_url: str
+ :ivar secrets: Required. [Required] Service principal secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.ServicePrincipalDatastoreSecrets
+ :ivar tenant_id: Required. [Required] ID of the tenant to which the service principal belongs.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'client_id': {'required': True},
+ 'secrets': {'required': True},
+ 'tenant_id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'authority_url': {'key': 'authorityUrl', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ 'resource_url': {'key': 'resourceUrl', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'ServicePrincipalDatastoreSecrets'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword authority_url: Authority URL used for authentication.
+ :paramtype authority_url: str
+ :keyword client_id: Required. [Required] Service principal client ID.
+ :paramtype client_id: str
+ :keyword resource_url: Resource the service principal has access to.
+ :paramtype resource_url: str
+ :keyword secrets: Required. [Required] Service principal secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.ServicePrincipalDatastoreSecrets
+ :keyword tenant_id: Required. [Required] ID of the tenant to which the service principal
+ belongs.
+ :paramtype tenant_id: str
+ """
+ super(ServicePrincipalDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'ServicePrincipal' # type: str
+ self.authority_url = kwargs.get('authority_url', None)
+ self.client_id = kwargs['client_id']
+ self.resource_url = kwargs.get('resource_url', None)
+ self.secrets = kwargs['secrets']
+ self.tenant_id = kwargs['tenant_id']
+
+
+class ServicePrincipalDatastoreSecrets(DatastoreSecrets):
+ """Datastore Service Principal secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar client_secret: Service principal secret.
+ :vartype client_secret: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'client_secret': {'key': 'clientSecret', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword client_secret: Service principal secret.
+ :paramtype client_secret: str
+ """
+ super(ServicePrincipalDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'ServicePrincipal' # type: str
+ self.client_secret = kwargs.get('client_secret', None)
+
+
+class SetupScripts(msrest.serialization.Model):
+ """Details of customized scripts to execute for setting up the cluster.
+
+ :ivar scripts: Customized setup scripts.
+ :vartype scripts: ~azure.mgmt.machinelearningservices.models.ScriptsToExecute
+ """
+
+ _attribute_map = {
+ 'scripts': {'key': 'scripts', 'type': 'ScriptsToExecute'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword scripts: Customized setup scripts.
+ :paramtype scripts: ~azure.mgmt.machinelearningservices.models.ScriptsToExecute
+ """
+ super(SetupScripts, self).__init__(**kwargs)
+ self.scripts = kwargs.get('scripts', None)
+
+
+class SharedPrivateLinkResource(msrest.serialization.Model):
+ """SharedPrivateLinkResource.
+
+ :ivar name: Unique name of the private link.
+ :vartype name: str
+ :ivar private_link_resource_id: The resource id that private link links to.
+ :vartype private_link_resource_id: str
+ :ivar group_id: The private link resource group id.
+ :vartype group_id: str
+ :ivar request_message: Request message.
+ :vartype request_message: str
+ :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner
+ of the service. Possible values include: "Pending", "Approved", "Rejected", "Disconnected",
+ "Timeout".
+ :vartype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ """
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'private_link_resource_id': {'key': 'properties.privateLinkResourceId', 'type': 'str'},
+ 'group_id': {'key': 'properties.groupId', 'type': 'str'},
+ 'request_message': {'key': 'properties.requestMessage', 'type': 'str'},
+ 'status': {'key': 'properties.status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword name: Unique name of the private link.
+ :paramtype name: str
+ :keyword private_link_resource_id: The resource id that private link links to.
+ :paramtype private_link_resource_id: str
+ :keyword group_id: The private link resource group id.
+ :paramtype group_id: str
+ :keyword request_message: Request message.
+ :paramtype request_message: str
+ :keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the
+ owner of the service. Possible values include: "Pending", "Approved", "Rejected",
+ "Disconnected", "Timeout".
+ :paramtype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ """
+ super(SharedPrivateLinkResource, self).__init__(**kwargs)
+ self.name = kwargs.get('name', None)
+ self.private_link_resource_id = kwargs.get('private_link_resource_id', None)
+ self.group_id = kwargs.get('group_id', None)
+ self.request_message = kwargs.get('request_message', None)
+ self.status = kwargs.get('status', None)
+
+
+class Sku(msrest.serialization.Model):
+ """The resource model definition representing SKU.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :vartype name: str
+ :ivar tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ :ivar size: The SKU size. When the name field is the combination of tier and some other value,
+ this would be the standalone code.
+ :vartype size: str
+ :ivar family: If the service has different generations of hardware, for the same SKU, then that
+ can be captured here.
+ :vartype family: str
+ :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included.
+ If scale out/in is not possible for the resource this may be omitted.
+ :vartype capacity: int
+ """
+
+ _validation = {
+ 'name': {'required': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'tier': {'key': 'tier', 'type': 'str'},
+ 'size': {'key': 'size', 'type': 'str'},
+ 'family': {'key': 'family', 'type': 'str'},
+ 'capacity': {'key': 'capacity', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :paramtype name: str
+ :keyword tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ :keyword size: The SKU size. When the name field is the combination of tier and some other
+ value, this would be the standalone code.
+ :paramtype size: str
+ :keyword family: If the service has different generations of hardware, for the same SKU, then
+ that can be captured here.
+ :paramtype family: str
+ :keyword capacity: If the SKU supports scale out/in then the capacity integer should be
+ included. If scale out/in is not possible for the resource this may be omitted.
+ :paramtype capacity: int
+ """
+ super(Sku, self).__init__(**kwargs)
+ self.name = kwargs['name']
+ self.tier = kwargs.get('tier', None)
+ self.size = kwargs.get('size', None)
+ self.family = kwargs.get('family', None)
+ self.capacity = kwargs.get('capacity', None)
+
+
+class SkuCapacity(msrest.serialization.Model):
+ """SKU capacity information.
+
+ :ivar default: Gets or sets the default capacity.
+ :vartype default: int
+ :ivar maximum: Gets or sets the maximum.
+ :vartype maximum: int
+ :ivar minimum: Gets or sets the minimum.
+ :vartype minimum: int
+ :ivar scale_type: Gets or sets the type of the scale. Possible values include: "Automatic",
+ "Manual", "None".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
+ """
+
+ _attribute_map = {
+ 'default': {'key': 'default', 'type': 'int'},
+ 'maximum': {'key': 'maximum', 'type': 'int'},
+ 'minimum': {'key': 'minimum', 'type': 'int'},
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword default: Gets or sets the default capacity.
+ :paramtype default: int
+ :keyword maximum: Gets or sets the maximum.
+ :paramtype maximum: int
+ :keyword minimum: Gets or sets the minimum.
+ :paramtype minimum: int
+ :keyword scale_type: Gets or sets the type of the scale. Possible values include: "Automatic",
+ "Manual", "None".
+ :paramtype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
+ """
+ super(SkuCapacity, self).__init__(**kwargs)
+ self.default = kwargs.get('default', 0)
+ self.maximum = kwargs.get('maximum', 0)
+ self.minimum = kwargs.get('minimum', 0)
+ self.scale_type = kwargs.get('scale_type', None)
+
+
+class SkuResource(msrest.serialization.Model):
+ """Fulfills ARM Contract requirement to list all available SKUS for a resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar capacity: Gets or sets the Sku Capacity.
+ :vartype capacity: ~azure.mgmt.machinelearningservices.models.SkuCapacity
+ :ivar resource_type: The resource type name.
+ :vartype resource_type: str
+ :ivar sku: Gets or sets the Sku.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.SkuSetting
+ """
+
+ _validation = {
+ 'resource_type': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'},
+ 'resource_type': {'key': 'resourceType', 'type': 'str'},
+ 'sku': {'key': 'sku', 'type': 'SkuSetting'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword capacity: Gets or sets the Sku Capacity.
+ :paramtype capacity: ~azure.mgmt.machinelearningservices.models.SkuCapacity
+ :keyword sku: Gets or sets the Sku.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.SkuSetting
+ """
+ super(SkuResource, self).__init__(**kwargs)
+ self.capacity = kwargs.get('capacity', None)
+ self.resource_type = None
+ self.sku = kwargs.get('sku', None)
+
+
+class SkuResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of SkuResource entities.
+
+ :ivar next_link: The link to the next page of SkuResource objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type SkuResource.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.SkuResource]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[SkuResource]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of SkuResource objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type SkuResource.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.SkuResource]
+ """
+ super(SkuResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = kwargs.get('next_link', None)
+ self.value = kwargs.get('value', None)
+
+
+class SkuSetting(msrest.serialization.Model):
+ """SkuSetting fulfills the need for stripped down SKU info in ARM contract.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required. [Required] The name of the SKU. Ex - P3. It is typically a letter+number
+ code.
+ :vartype name: str
+ :ivar tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+
+ _validation = {
+ 'name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'tier': {'key': 'tier', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword name: Required. [Required] The name of the SKU. Ex - P3. It is typically a
+ letter+number code.
+ :paramtype name: str
+ :keyword tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+ super(SkuSetting, self).__init__(**kwargs)
+ self.name = kwargs['name']
+ self.tier = kwargs.get('tier', None)
+
+
+class SslConfiguration(msrest.serialization.Model):
+ """The ssl configuration for scoring.
+
+ :ivar status: Enable or disable ssl for scoring. Possible values include: "Disabled",
+ "Enabled", "Auto".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.SslConfigStatus
+ :ivar cert: Cert data.
+ :vartype cert: str
+ :ivar key: Key data.
+ :vartype key: str
+ :ivar cname: CNAME of the cert.
+ :vartype cname: str
+ :ivar leaf_domain_label: Leaf domain label of public endpoint.
+ :vartype leaf_domain_label: str
+ :ivar overwrite_existing_domain: Indicates whether to overwrite existing domain label.
+ :vartype overwrite_existing_domain: bool
+ """
+
+ _attribute_map = {
+ 'status': {'key': 'status', 'type': 'str'},
+ 'cert': {'key': 'cert', 'type': 'str'},
+ 'key': {'key': 'key', 'type': 'str'},
+ 'cname': {'key': 'cname', 'type': 'str'},
+ 'leaf_domain_label': {'key': 'leafDomainLabel', 'type': 'str'},
+ 'overwrite_existing_domain': {'key': 'overwriteExistingDomain', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword status: Enable or disable ssl for scoring. Possible values include: "Disabled",
+ "Enabled", "Auto".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.SslConfigStatus
+ :keyword cert: Cert data.
+ :paramtype cert: str
+ :keyword key: Key data.
+ :paramtype key: str
+ :keyword cname: CNAME of the cert.
+ :paramtype cname: str
+ :keyword leaf_domain_label: Leaf domain label of public endpoint.
+ :paramtype leaf_domain_label: str
+ :keyword overwrite_existing_domain: Indicates whether to overwrite existing domain label.
+ :paramtype overwrite_existing_domain: bool
+ """
+ super(SslConfiguration, self).__init__(**kwargs)
+ self.status = kwargs.get('status', None)
+ self.cert = kwargs.get('cert', None)
+ self.key = kwargs.get('key', None)
+ self.cname = kwargs.get('cname', None)
+ self.leaf_domain_label = kwargs.get('leaf_domain_label', None)
+ self.overwrite_existing_domain = kwargs.get('overwrite_existing_domain', None)
+
+
+class StackEnsembleSettings(msrest.serialization.Model):
+ """Advances setting to customize StackEnsemble run.
+
+ :ivar stack_meta_learner_k_wargs: Optional parameters to pass to the initializer of the
+ meta-learner.
+ :vartype stack_meta_learner_k_wargs: any
+ :ivar stack_meta_learner_train_percentage: Specifies the proportion of the training set (when
+ choosing train and validation type of training) to be reserved for training the meta-learner.
+ Default value is 0.2.
+ :vartype stack_meta_learner_train_percentage: float
+ :ivar stack_meta_learner_type: The meta-learner is a model trained on the output of the
+ individual heterogeneous models. Possible values include: "None", "LogisticRegression",
+ "LogisticRegressionCV", "LightGBMClassifier", "ElasticNet", "ElasticNetCV",
+ "LightGBMRegressor", "LinearRegression".
+ :vartype stack_meta_learner_type: str or
+ ~azure.mgmt.machinelearningservices.models.StackMetaLearnerType
+ """
+
+ _attribute_map = {
+ 'stack_meta_learner_k_wargs': {'key': 'stackMetaLearnerKWargs', 'type': 'object'},
+ 'stack_meta_learner_train_percentage': {'key': 'stackMetaLearnerTrainPercentage', 'type': 'float'},
+ 'stack_meta_learner_type': {'key': 'stackMetaLearnerType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword stack_meta_learner_k_wargs: Optional parameters to pass to the initializer of the
+ meta-learner.
+ :paramtype stack_meta_learner_k_wargs: any
+ :keyword stack_meta_learner_train_percentage: Specifies the proportion of the training set
+ (when choosing train and validation type of training) to be reserved for training the
+ meta-learner. Default value is 0.2.
+ :paramtype stack_meta_learner_train_percentage: float
+ :keyword stack_meta_learner_type: The meta-learner is a model trained on the output of the
+ individual heterogeneous models. Possible values include: "None", "LogisticRegression",
+ "LogisticRegressionCV", "LightGBMClassifier", "ElasticNet", "ElasticNetCV",
+ "LightGBMRegressor", "LinearRegression".
+ :paramtype stack_meta_learner_type: str or
+ ~azure.mgmt.machinelearningservices.models.StackMetaLearnerType
+ """
+ super(StackEnsembleSettings, self).__init__(**kwargs)
+ self.stack_meta_learner_k_wargs = kwargs.get('stack_meta_learner_k_wargs', None)
+ self.stack_meta_learner_train_percentage = kwargs.get('stack_meta_learner_train_percentage', 0.2)
+ self.stack_meta_learner_type = kwargs.get('stack_meta_learner_type', None)
+
+
+class SweepJob(JobBaseProperties):
+ """Sweep job definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar early_termination: Early termination policies enable canceling poor-performing runs
+ before they complete.
+ :vartype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :ivar inputs: Mapping of input data bindings used in the job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar limits: Sweep Job limit.
+ :vartype limits: ~azure.mgmt.machinelearningservices.models.SweepJobLimits
+ :ivar objective: Required. [Required] Optimization objective.
+ :vartype objective: ~azure.mgmt.machinelearningservices.models.Objective
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar sampling_algorithm: Required. [Required] The hyperparameter sampling algorithm.
+ :vartype sampling_algorithm: ~azure.mgmt.machinelearningservices.models.SamplingAlgorithm
+ :ivar search_space: Required. [Required] A dictionary containing each parameter and its
+ distribution. The dictionary key is the name of the parameter.
+ :vartype search_space: any
+ :ivar trial: Required. [Required] Trial component definition.
+ :vartype trial: ~azure.mgmt.machinelearningservices.models.TrialComponent
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ 'objective': {'required': True},
+ 'sampling_algorithm': {'required': True},
+ 'search_space': {'required': True},
+ 'trial': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'early_termination': {'key': 'earlyTermination', 'type': 'EarlyTerminationPolicy'},
+ 'inputs': {'key': 'inputs', 'type': '{JobInput}'},
+ 'limits': {'key': 'limits', 'type': 'SweepJobLimits'},
+ 'objective': {'key': 'objective', 'type': 'Objective'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'sampling_algorithm': {'key': 'samplingAlgorithm', 'type': 'SamplingAlgorithm'},
+ 'search_space': {'key': 'searchSpace', 'type': 'object'},
+ 'trial': {'key': 'trial', 'type': 'TrialComponent'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword early_termination: Early termination policies enable canceling poor-performing runs
+ before they complete.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword inputs: Mapping of input data bindings used in the job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword limits: Sweep Job limit.
+ :paramtype limits: ~azure.mgmt.machinelearningservices.models.SweepJobLimits
+ :keyword objective: Required. [Required] Optimization objective.
+ :paramtype objective: ~azure.mgmt.machinelearningservices.models.Objective
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword sampling_algorithm: Required. [Required] The hyperparameter sampling algorithm.
+ :paramtype sampling_algorithm: ~azure.mgmt.machinelearningservices.models.SamplingAlgorithm
+ :keyword search_space: Required. [Required] A dictionary containing each parameter and its
+ distribution. The dictionary key is the name of the parameter.
+ :paramtype search_space: any
+ :keyword trial: Required. [Required] Trial component definition.
+ :paramtype trial: ~azure.mgmt.machinelearningservices.models.TrialComponent
+ """
+ super(SweepJob, self).__init__(**kwargs)
+ self.job_type = 'Sweep' # type: str
+ self.early_termination = kwargs.get('early_termination', None)
+ self.inputs = kwargs.get('inputs', None)
+ self.limits = kwargs.get('limits', None)
+ self.objective = kwargs['objective']
+ self.outputs = kwargs.get('outputs', None)
+ self.sampling_algorithm = kwargs['sampling_algorithm']
+ self.search_space = kwargs['search_space']
+ self.trial = kwargs['trial']
+
+
+class SweepJobLimits(JobLimits):
+ """Sweep Job limit class.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar job_limits_type: Required. [Required] JobLimit type.Constant filled by server. Possible
+ values include: "Command", "Sweep".
+ :vartype job_limits_type: str or ~azure.mgmt.machinelearningservices.models.JobLimitsType
+ :ivar timeout: The max run duration in ISO 8601 format, after which the job will be cancelled.
+ Only supports duration with precision as low as Seconds.
+ :vartype timeout: ~datetime.timedelta
+ :ivar max_concurrent_trials: Sweep Job max concurrent trials.
+ :vartype max_concurrent_trials: int
+ :ivar max_total_trials: Sweep Job max total trials.
+ :vartype max_total_trials: int
+ :ivar trial_timeout: Sweep Job Trial timeout value.
+ :vartype trial_timeout: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'job_limits_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'job_limits_type': {'key': 'jobLimitsType', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_total_trials': {'key': 'maxTotalTrials', 'type': 'int'},
+ 'trial_timeout': {'key': 'trialTimeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword timeout: The max run duration in ISO 8601 format, after which the job will be
+ cancelled. Only supports duration with precision as low as Seconds.
+ :paramtype timeout: ~datetime.timedelta
+ :keyword max_concurrent_trials: Sweep Job max concurrent trials.
+ :paramtype max_concurrent_trials: int
+ :keyword max_total_trials: Sweep Job max total trials.
+ :paramtype max_total_trials: int
+ :keyword trial_timeout: Sweep Job Trial timeout value.
+ :paramtype trial_timeout: ~datetime.timedelta
+ """
+ super(SweepJobLimits, self).__init__(**kwargs)
+ self.job_limits_type = 'Sweep' # type: str
+ self.max_concurrent_trials = kwargs.get('max_concurrent_trials', None)
+ self.max_total_trials = kwargs.get('max_total_trials', None)
+ self.trial_timeout = kwargs.get('trial_timeout', None)
+
+
+class SynapseSpark(Compute):
+ """A SynapseSpark compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.SynapseSparkProperties
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ 'properties': {'key': 'properties', 'type': 'SynapseSparkProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ :keyword properties:
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.SynapseSparkProperties
+ """
+ super(SynapseSpark, self).__init__(**kwargs)
+ self.compute_type = 'SynapseSpark' # type: str
+ self.properties = kwargs.get('properties', None)
+
+
+class SynapseSparkProperties(msrest.serialization.Model):
+ """SynapseSparkProperties.
+
+ :ivar auto_scale_properties: Auto scale properties.
+ :vartype auto_scale_properties: ~azure.mgmt.machinelearningservices.models.AutoScaleProperties
+ :ivar auto_pause_properties: Auto pause properties.
+ :vartype auto_pause_properties: ~azure.mgmt.machinelearningservices.models.AutoPauseProperties
+ :ivar spark_version: Spark version.
+ :vartype spark_version: str
+ :ivar node_count: The number of compute nodes currently assigned to the compute.
+ :vartype node_count: int
+ :ivar node_size: Node size.
+ :vartype node_size: str
+ :ivar node_size_family: Node size family.
+ :vartype node_size_family: str
+ :ivar subscription_id: Azure subscription identifier.
+ :vartype subscription_id: str
+ :ivar resource_group: Name of the resource group in which workspace is located.
+ :vartype resource_group: str
+ :ivar workspace_name: Name of Azure Machine Learning workspace.
+ :vartype workspace_name: str
+ :ivar pool_name: Pool name.
+ :vartype pool_name: str
+ """
+
+ _attribute_map = {
+ 'auto_scale_properties': {'key': 'autoScaleProperties', 'type': 'AutoScaleProperties'},
+ 'auto_pause_properties': {'key': 'autoPauseProperties', 'type': 'AutoPauseProperties'},
+ 'spark_version': {'key': 'sparkVersion', 'type': 'str'},
+ 'node_count': {'key': 'nodeCount', 'type': 'int'},
+ 'node_size': {'key': 'nodeSize', 'type': 'str'},
+ 'node_size_family': {'key': 'nodeSizeFamily', 'type': 'str'},
+ 'subscription_id': {'key': 'subscriptionId', 'type': 'str'},
+ 'resource_group': {'key': 'resourceGroup', 'type': 'str'},
+ 'workspace_name': {'key': 'workspaceName', 'type': 'str'},
+ 'pool_name': {'key': 'poolName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword auto_scale_properties: Auto scale properties.
+ :paramtype auto_scale_properties:
+ ~azure.mgmt.machinelearningservices.models.AutoScaleProperties
+ :keyword auto_pause_properties: Auto pause properties.
+ :paramtype auto_pause_properties:
+ ~azure.mgmt.machinelearningservices.models.AutoPauseProperties
+ :keyword spark_version: Spark version.
+ :paramtype spark_version: str
+ :keyword node_count: The number of compute nodes currently assigned to the compute.
+ :paramtype node_count: int
+ :keyword node_size: Node size.
+ :paramtype node_size: str
+ :keyword node_size_family: Node size family.
+ :paramtype node_size_family: str
+ :keyword subscription_id: Azure subscription identifier.
+ :paramtype subscription_id: str
+ :keyword resource_group: Name of the resource group in which workspace is located.
+ :paramtype resource_group: str
+ :keyword workspace_name: Name of Azure Machine Learning workspace.
+ :paramtype workspace_name: str
+ :keyword pool_name: Pool name.
+ :paramtype pool_name: str
+ """
+ super(SynapseSparkProperties, self).__init__(**kwargs)
+ self.auto_scale_properties = kwargs.get('auto_scale_properties', None)
+ self.auto_pause_properties = kwargs.get('auto_pause_properties', None)
+ self.spark_version = kwargs.get('spark_version', None)
+ self.node_count = kwargs.get('node_count', None)
+ self.node_size = kwargs.get('node_size', None)
+ self.node_size_family = kwargs.get('node_size_family', None)
+ self.subscription_id = kwargs.get('subscription_id', None)
+ self.resource_group = kwargs.get('resource_group', None)
+ self.workspace_name = kwargs.get('workspace_name', None)
+ self.pool_name = kwargs.get('pool_name', None)
+
+
+class SystemData(msrest.serialization.Model):
+ """Metadata pertaining to creation and last modification of the resource.
+
+ :ivar created_by: The identity that created the resource.
+ :vartype created_by: str
+ :ivar created_by_type: The type of identity that created the resource. Possible values include:
+ "User", "Application", "ManagedIdentity", "Key".
+ :vartype created_by_type: str or ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :ivar created_at: The timestamp of resource creation (UTC).
+ :vartype created_at: ~datetime.datetime
+ :ivar last_modified_by: The identity that last modified the resource.
+ :vartype last_modified_by: str
+ :ivar last_modified_by_type: The type of identity that last modified the resource. Possible
+ values include: "User", "Application", "ManagedIdentity", "Key".
+ :vartype last_modified_by_type: str or ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :ivar last_modified_at: The timestamp of resource last modification (UTC).
+ :vartype last_modified_at: ~datetime.datetime
+ """
+
+ _attribute_map = {
+ 'created_by': {'key': 'createdBy', 'type': 'str'},
+ 'created_by_type': {'key': 'createdByType', 'type': 'str'},
+ 'created_at': {'key': 'createdAt', 'type': 'iso-8601'},
+ 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'},
+ 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'},
+ 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword created_by: The identity that created the resource.
+ :paramtype created_by: str
+ :keyword created_by_type: The type of identity that created the resource. Possible values
+ include: "User", "Application", "ManagedIdentity", "Key".
+ :paramtype created_by_type: str or ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :keyword created_at: The timestamp of resource creation (UTC).
+ :paramtype created_at: ~datetime.datetime
+ :keyword last_modified_by: The identity that last modified the resource.
+ :paramtype last_modified_by: str
+ :keyword last_modified_by_type: The type of identity that last modified the resource. Possible
+ values include: "User", "Application", "ManagedIdentity", "Key".
+ :paramtype last_modified_by_type: str or
+ ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :keyword last_modified_at: The timestamp of resource last modification (UTC).
+ :paramtype last_modified_at: ~datetime.datetime
+ """
+ super(SystemData, self).__init__(**kwargs)
+ self.created_by = kwargs.get('created_by', None)
+ self.created_by_type = kwargs.get('created_by_type', None)
+ self.created_at = kwargs.get('created_at', None)
+ self.last_modified_by = kwargs.get('last_modified_by', None)
+ self.last_modified_by_type = kwargs.get('last_modified_by_type', None)
+ self.last_modified_at = kwargs.get('last_modified_at', None)
+
+
+class SystemService(msrest.serialization.Model):
+ """A system service running on a compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar system_service_type: The type of this system service.
+ :vartype system_service_type: str
+ :ivar public_ip_address: Public IP address.
+ :vartype public_ip_address: str
+ :ivar version: The version for this type.
+ :vartype version: str
+ """
+
+ _validation = {
+ 'system_service_type': {'readonly': True},
+ 'public_ip_address': {'readonly': True},
+ 'version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'system_service_type': {'key': 'systemServiceType', 'type': 'str'},
+ 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'},
+ 'version': {'key': 'version', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(SystemService, self).__init__(**kwargs)
+ self.system_service_type = None
+ self.public_ip_address = None
+ self.version = None
+
+
+class TableVerticalFeaturizationSettings(FeaturizationSettings):
+ """Featurization Configuration.
+
+ :ivar dataset_language: Dataset language, useful for the text data.
+ :vartype dataset_language: str
+ :ivar blocked_transformers: These transformers shall not be used in featurization.
+ :vartype blocked_transformers: list[str or
+ ~azure.mgmt.machinelearningservices.models.BlockedTransformers]
+ :ivar column_name_and_types: Dictionary of column name and its type (int, float, string,
+ datetime etc).
+ :vartype column_name_and_types: dict[str, str]
+ :ivar enable_dnn_featurization: Determines whether to use Dnn based featurizers for data
+ featurization.
+ :vartype enable_dnn_featurization: bool
+ :ivar mode: Featurization mode - User can keep the default 'Auto' mode and AutoML will take
+ care of necessary transformation of the data in featurization phase.
+ If 'Off' is selected then no featurization is done.
+ If 'Custom' is selected then user can specify additional inputs to customize how featurization
+ is done. Possible values include: "Auto", "Custom", "Off".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.FeaturizationMode
+ :ivar transformer_params: User can specify additional transformers to be used along with the
+ columns to which it would be applied and parameters for the transformer constructor.
+ :vartype transformer_params: dict[str,
+ list[~azure.mgmt.machinelearningservices.models.ColumnTransformer]]
+ """
+
+ _attribute_map = {
+ 'dataset_language': {'key': 'datasetLanguage', 'type': 'str'},
+ 'blocked_transformers': {'key': 'blockedTransformers', 'type': '[str]'},
+ 'column_name_and_types': {'key': 'columnNameAndTypes', 'type': '{str}'},
+ 'enable_dnn_featurization': {'key': 'enableDnnFeaturization', 'type': 'bool'},
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'transformer_params': {'key': 'transformerParams', 'type': '{[ColumnTransformer]}'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ :keyword blocked_transformers: These transformers shall not be used in featurization.
+ :paramtype blocked_transformers: list[str or
+ ~azure.mgmt.machinelearningservices.models.BlockedTransformers]
+ :keyword column_name_and_types: Dictionary of column name and its type (int, float, string,
+ datetime etc).
+ :paramtype column_name_and_types: dict[str, str]
+ :keyword enable_dnn_featurization: Determines whether to use Dnn based featurizers for data
+ featurization.
+ :paramtype enable_dnn_featurization: bool
+ :keyword mode: Featurization mode - User can keep the default 'Auto' mode and AutoML will take
+ care of necessary transformation of the data in featurization phase.
+ If 'Off' is selected then no featurization is done.
+ If 'Custom' is selected then user can specify additional inputs to customize how featurization
+ is done. Possible values include: "Auto", "Custom", "Off".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.FeaturizationMode
+ :keyword transformer_params: User can specify additional transformers to be used along with the
+ columns to which it would be applied and parameters for the transformer constructor.
+ :paramtype transformer_params: dict[str,
+ list[~azure.mgmt.machinelearningservices.models.ColumnTransformer]]
+ """
+ super(TableVerticalFeaturizationSettings, self).__init__(**kwargs)
+ self.blocked_transformers = kwargs.get('blocked_transformers', None)
+ self.column_name_and_types = kwargs.get('column_name_and_types', None)
+ self.enable_dnn_featurization = kwargs.get('enable_dnn_featurization', False)
+ self.mode = kwargs.get('mode', None)
+ self.transformer_params = kwargs.get('transformer_params', None)
+
+
+class TableVerticalLimitSettings(msrest.serialization.Model):
+ """Job execution constraints.
+
+ :ivar enable_early_termination: Enable early termination, determines whether or not if
+ AutoMLJob will terminate early if there is no score improvement in last 20 iterations.
+ :vartype enable_early_termination: bool
+ :ivar exit_score: Exit score for the AutoML job.
+ :vartype exit_score: float
+ :ivar max_concurrent_trials: Maximum Concurrent iterations.
+ :vartype max_concurrent_trials: int
+ :ivar max_cores_per_trial: Max cores per iteration.
+ :vartype max_cores_per_trial: int
+ :ivar max_trials: Number of iterations.
+ :vartype max_trials: int
+ :ivar timeout: AutoML job timeout.
+ :vartype timeout: ~datetime.timedelta
+ :ivar trial_timeout: Iteration timeout.
+ :vartype trial_timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'enable_early_termination': {'key': 'enableEarlyTermination', 'type': 'bool'},
+ 'exit_score': {'key': 'exitScore', 'type': 'float'},
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_cores_per_trial': {'key': 'maxCoresPerTrial', 'type': 'int'},
+ 'max_trials': {'key': 'maxTrials', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ 'trial_timeout': {'key': 'trialTimeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword enable_early_termination: Enable early termination, determines whether or not if
+ AutoMLJob will terminate early if there is no score improvement in last 20 iterations.
+ :paramtype enable_early_termination: bool
+ :keyword exit_score: Exit score for the AutoML job.
+ :paramtype exit_score: float
+ :keyword max_concurrent_trials: Maximum Concurrent iterations.
+ :paramtype max_concurrent_trials: int
+ :keyword max_cores_per_trial: Max cores per iteration.
+ :paramtype max_cores_per_trial: int
+ :keyword max_trials: Number of iterations.
+ :paramtype max_trials: int
+ :keyword timeout: AutoML job timeout.
+ :paramtype timeout: ~datetime.timedelta
+ :keyword trial_timeout: Iteration timeout.
+ :paramtype trial_timeout: ~datetime.timedelta
+ """
+ super(TableVerticalLimitSettings, self).__init__(**kwargs)
+ self.enable_early_termination = kwargs.get('enable_early_termination', True)
+ self.exit_score = kwargs.get('exit_score', None)
+ self.max_concurrent_trials = kwargs.get('max_concurrent_trials', 1)
+ self.max_cores_per_trial = kwargs.get('max_cores_per_trial', -1)
+ self.max_trials = kwargs.get('max_trials', 1000)
+ self.timeout = kwargs.get('timeout', "PT6H")
+ self.trial_timeout = kwargs.get('trial_timeout', "PT30M")
+
+
+class TargetUtilizationScaleSettings(OnlineScaleSettings):
+ """TargetUtilizationScaleSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scale_type: Required. [Required] Type of deployment scaling algorithm.Constant filled by
+ server. Possible values include: "Default", "TargetUtilization".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.ScaleType
+ :ivar max_instances: The maximum number of instances that the deployment can scale to. The
+ quota will be reserved for max_instances.
+ :vartype max_instances: int
+ :ivar min_instances: The minimum number of instances to always be present.
+ :vartype min_instances: int
+ :ivar polling_interval: The polling interval in ISO 8691 format. Only supports duration with
+ precision as low as Seconds.
+ :vartype polling_interval: ~datetime.timedelta
+ :ivar target_utilization_percentage: Target CPU usage for the autoscaler.
+ :vartype target_utilization_percentage: int
+ """
+
+ _validation = {
+ 'scale_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ 'max_instances': {'key': 'maxInstances', 'type': 'int'},
+ 'min_instances': {'key': 'minInstances', 'type': 'int'},
+ 'polling_interval': {'key': 'pollingInterval', 'type': 'duration'},
+ 'target_utilization_percentage': {'key': 'targetUtilizationPercentage', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword max_instances: The maximum number of instances that the deployment can scale to. The
+ quota will be reserved for max_instances.
+ :paramtype max_instances: int
+ :keyword min_instances: The minimum number of instances to always be present.
+ :paramtype min_instances: int
+ :keyword polling_interval: The polling interval in ISO 8691 format. Only supports duration with
+ precision as low as Seconds.
+ :paramtype polling_interval: ~datetime.timedelta
+ :keyword target_utilization_percentage: Target CPU usage for the autoscaler.
+ :paramtype target_utilization_percentage: int
+ """
+ super(TargetUtilizationScaleSettings, self).__init__(**kwargs)
+ self.scale_type = 'TargetUtilization' # type: str
+ self.max_instances = kwargs.get('max_instances', 1)
+ self.min_instances = kwargs.get('min_instances', 1)
+ self.polling_interval = kwargs.get('polling_interval', "PT1S")
+ self.target_utilization_percentage = kwargs.get('target_utilization_percentage', 70)
+
+
+class TensorFlow(DistributionConfiguration):
+ """TensorFlow distribution configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ :ivar parameter_server_count: Number of parameter server tasks.
+ :vartype parameter_server_count: int
+ :ivar worker_count: Number of workers. If not specified, will default to the instance count.
+ :vartype worker_count: int
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ 'parameter_server_count': {'key': 'parameterServerCount', 'type': 'int'},
+ 'worker_count': {'key': 'workerCount', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword parameter_server_count: Number of parameter server tasks.
+ :paramtype parameter_server_count: int
+ :keyword worker_count: Number of workers. If not specified, will default to the instance count.
+ :paramtype worker_count: int
+ """
+ super(TensorFlow, self).__init__(**kwargs)
+ self.distribution_type = 'TensorFlow' # type: str
+ self.parameter_server_count = kwargs.get('parameter_server_count', 0)
+ self.worker_count = kwargs.get('worker_count', None)
+
+
+class TextClassification(AutoMLVertical, NlpVertical):
+ """Text Classification task in AutoML NLP vertical.
+NLP - Natural Language Processing.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-Classification task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric for Text-Classification task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+ super(TextClassification, self).__init__(**kwargs)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.task_type = 'TextClassification' # type: str
+ self.primary_metric = kwargs.get('primary_metric', None)
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class TextClassificationMultilabel(AutoMLVertical, NlpVertical):
+ """Text Classification Multilabel task in AutoML NLP vertical.
+NLP - Natural Language Processing.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-Classification-Multilabel task.
+ Currently only Accuracy is supported as primary metric, hence user need not set it explicitly.
+ Possible values include: "AUCWeighted", "Accuracy", "NormMacroRecall",
+ "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted", "IOU".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ 'primary_metric': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(TextClassificationMultilabel, self).__init__(**kwargs)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.task_type = 'TextClassificationMultilabel' # type: str
+ self.primary_metric = None
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class TextNer(AutoMLVertical, NlpVertical):
+ """Text-NER task in AutoML NLP vertical.
+NER - Named Entity Recognition.
+NLP - Natural Language Processing.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-NER task.
+ Only 'Accuracy' is supported for Text-NER, so user need not set this explicitly. Possible
+ values include: "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ 'primary_metric': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(TextNer, self).__init__(**kwargs)
+ self.featurization_settings = kwargs.get('featurization_settings', None)
+ self.limit_settings = kwargs.get('limit_settings', None)
+ self.validation_data = kwargs.get('validation_data', None)
+ self.task_type = 'TextNER' # type: str
+ self.primary_metric = None
+ self.log_verbosity = kwargs.get('log_verbosity', None)
+ self.target_column_name = kwargs.get('target_column_name', None)
+ self.training_data = kwargs['training_data']
+
+
+class TrialComponent(msrest.serialization.Model):
+ """Trial component definition.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_id: ARM resource ID of the code asset.
+ :vartype code_id: str
+ :ivar command: Required. [Required] The command to execute on startup of the job. eg. "python
+ train.py".
+ :vartype command: str
+ :ivar distribution: Distribution configuration of the job. If set, this should be one of Mpi,
+ Tensorflow, PyTorch, or null.
+ :vartype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :ivar environment_id: Required. [Required] The ARM resource ID of the Environment specification
+ for the job.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables included in the job.
+ :vartype environment_variables: dict[str, str]
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+
+ _validation = {
+ 'command': {'required': True, 'min_length': 1, 'pattern': r'[a-zA-Z0-9_]'},
+ 'environment_id': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'code_id': {'key': 'codeId', 'type': 'str'},
+ 'command': {'key': 'command', 'type': 'str'},
+ 'distribution': {'key': 'distribution', 'type': 'DistributionConfiguration'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'resources': {'key': 'resources', 'type': 'JobResourceConfiguration'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword code_id: ARM resource ID of the code asset.
+ :paramtype code_id: str
+ :keyword command: Required. [Required] The command to execute on startup of the job. eg.
+ "python train.py".
+ :paramtype command: str
+ :keyword distribution: Distribution configuration of the job. If set, this should be one of
+ Mpi, Tensorflow, PyTorch, or null.
+ :paramtype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :keyword environment_id: Required. [Required] The ARM resource ID of the Environment
+ specification for the job.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables included in the job.
+ :paramtype environment_variables: dict[str, str]
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+ super(TrialComponent, self).__init__(**kwargs)
+ self.code_id = kwargs.get('code_id', None)
+ self.command = kwargs['command']
+ self.distribution = kwargs.get('distribution', None)
+ self.environment_id = kwargs['environment_id']
+ self.environment_variables = kwargs.get('environment_variables', None)
+ self.resources = kwargs.get('resources', None)
+
+
+class TritonModelJobInput(JobInput, AssetJobInput):
+ """TritonModelJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(TritonModelJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+ self.job_input_type = 'triton_model' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class TritonModelJobOutput(JobOutput, AssetJobOutput):
+ """TritonModelJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(TritonModelJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+ self.job_output_type = 'triton_model' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class TruncationSelectionPolicy(EarlyTerminationPolicy):
+ """Defines an early termination policy that cancels a given percentage of runs at each evaluation interval.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ :ivar truncation_percentage: The percentage of runs to cancel at each evaluation interval.
+ :vartype truncation_percentage: int
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ 'truncation_percentage': {'key': 'truncationPercentage', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ :keyword truncation_percentage: The percentage of runs to cancel at each evaluation interval.
+ :paramtype truncation_percentage: int
+ """
+ super(TruncationSelectionPolicy, self).__init__(**kwargs)
+ self.policy_type = 'TruncationSelection' # type: str
+ self.truncation_percentage = kwargs.get('truncation_percentage', 0)
+
+
+class UpdateWorkspaceQuotas(msrest.serialization.Model):
+ """The properties for update Quota response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar limit: The maximum permitted quota of the resource.
+ :vartype limit: long
+ :ivar unit: An enum describing the unit of quota measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ :ivar status: Status of update workspace quota. Possible values include: "Undefined",
+ "Success", "Failure", "InvalidQuotaBelowClusterMinimum",
+ "InvalidQuotaExceedsSubscriptionLimit", "InvalidVMFamilyName", "OperationNotSupportedForSku",
+ "OperationNotEnabledForRegion".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.Status
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'type': {'readonly': True},
+ 'unit': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword limit: The maximum permitted quota of the resource.
+ :paramtype limit: long
+ :keyword status: Status of update workspace quota. Possible values include: "Undefined",
+ "Success", "Failure", "InvalidQuotaBelowClusterMinimum",
+ "InvalidQuotaExceedsSubscriptionLimit", "InvalidVMFamilyName", "OperationNotSupportedForSku",
+ "OperationNotEnabledForRegion".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.Status
+ """
+ super(UpdateWorkspaceQuotas, self).__init__(**kwargs)
+ self.id = None
+ self.type = None
+ self.limit = kwargs.get('limit', None)
+ self.unit = None
+ self.status = kwargs.get('status', None)
+
+
+class UpdateWorkspaceQuotasResult(msrest.serialization.Model):
+ """The result of update workspace quota.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of workspace quota update result.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.UpdateWorkspaceQuotas]
+ :ivar next_link: The URI to fetch the next page of workspace quota update result. Call
+ ListNext() with this to fetch the next page of Workspace Quota update result.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[UpdateWorkspaceQuotas]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UpdateWorkspaceQuotasResult, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class UriFileDataVersion(DataVersionBaseProperties):
+ """uri-file data version entity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ """
+ super(UriFileDataVersion, self).__init__(**kwargs)
+ self.data_type = 'uri_file' # type: str
+
+
+class UriFileJobInput(JobInput, AssetJobInput):
+ """UriFileJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(UriFileJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+ self.job_input_type = 'uri_file' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class UriFileJobOutput(JobOutput, AssetJobOutput):
+ """UriFileJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(UriFileJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+ self.job_output_type = 'uri_file' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class UriFolderDataVersion(DataVersionBaseProperties):
+ """uri-folder data version entity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ """
+ super(UriFolderDataVersion, self).__init__(**kwargs)
+ self.data_type = 'uri_folder' # type: str
+
+
+class UriFolderJobInput(JobInput, AssetJobInput):
+ """UriFolderJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(UriFolderJobInput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs['uri']
+ self.job_input_type = 'uri_folder' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class UriFolderJobOutput(JobOutput, AssetJobOutput):
+ """UriFolderJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(UriFolderJobOutput, self).__init__(**kwargs)
+ self.mode = kwargs.get('mode', None)
+ self.uri = kwargs.get('uri', None)
+ self.job_output_type = 'uri_folder' # type: str
+ self.description = kwargs.get('description', None)
+
+
+class Usage(msrest.serialization.Model):
+ """Describes AML Resource Usage.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar aml_workspace_location: Region of the AML workspace in the id.
+ :vartype aml_workspace_location: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar unit: An enum describing the unit of usage measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.UsageUnit
+ :ivar current_value: The current usage of the resource.
+ :vartype current_value: long
+ :ivar limit: The maximum permitted usage of the resource.
+ :vartype limit: long
+ :ivar name: The name of the type of usage.
+ :vartype name: ~azure.mgmt.machinelearningservices.models.UsageName
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'aml_workspace_location': {'readonly': True},
+ 'type': {'readonly': True},
+ 'unit': {'readonly': True},
+ 'current_value': {'readonly': True},
+ 'limit': {'readonly': True},
+ 'name': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'aml_workspace_location': {'key': 'amlWorkspaceLocation', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ 'current_value': {'key': 'currentValue', 'type': 'long'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'name': {'key': 'name', 'type': 'UsageName'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Usage, self).__init__(**kwargs)
+ self.id = None
+ self.aml_workspace_location = None
+ self.type = None
+ self.unit = None
+ self.current_value = None
+ self.limit = None
+ self.name = None
+
+
+class UsageName(msrest.serialization.Model):
+ """The Usage Names.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The name of the resource.
+ :vartype value: str
+ :ivar localized_value: The localized name of the resource.
+ :vartype localized_value: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'localized_value': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'str'},
+ 'localized_value': {'key': 'localizedValue', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UsageName, self).__init__(**kwargs)
+ self.value = None
+ self.localized_value = None
+
+
+class UserAccountCredentials(msrest.serialization.Model):
+ """Settings for user account that gets created on each on the nodes of a compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar admin_user_name: Required. Name of the administrator user account which can be used to
+ SSH to nodes.
+ :vartype admin_user_name: str
+ :ivar admin_user_ssh_public_key: SSH public key of the administrator user account.
+ :vartype admin_user_ssh_public_key: str
+ :ivar admin_user_password: Password of the administrator user account.
+ :vartype admin_user_password: str
+ """
+
+ _validation = {
+ 'admin_user_name': {'required': True},
+ }
+
+ _attribute_map = {
+ 'admin_user_name': {'key': 'adminUserName', 'type': 'str'},
+ 'admin_user_ssh_public_key': {'key': 'adminUserSshPublicKey', 'type': 'str'},
+ 'admin_user_password': {'key': 'adminUserPassword', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword admin_user_name: Required. Name of the administrator user account which can be used to
+ SSH to nodes.
+ :paramtype admin_user_name: str
+ :keyword admin_user_ssh_public_key: SSH public key of the administrator user account.
+ :paramtype admin_user_ssh_public_key: str
+ :keyword admin_user_password: Password of the administrator user account.
+ :paramtype admin_user_password: str
+ """
+ super(UserAccountCredentials, self).__init__(**kwargs)
+ self.admin_user_name = kwargs['admin_user_name']
+ self.admin_user_ssh_public_key = kwargs.get('admin_user_ssh_public_key', None)
+ self.admin_user_password = kwargs.get('admin_user_password', None)
+
+
+class UserAssignedIdentity(msrest.serialization.Model):
+ """User assigned identity properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar principal_id: The principal ID of the assigned identity.
+ :vartype principal_id: str
+ :ivar client_id: The client ID of the assigned identity.
+ :vartype client_id: str
+ """
+
+ _validation = {
+ 'principal_id': {'readonly': True},
+ 'client_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'principal_id': {'key': 'principalId', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UserAssignedIdentity, self).__init__(**kwargs)
+ self.principal_id = None
+ self.client_id = None
+
+
+class UserIdentity(IdentityConfiguration):
+ """User identity configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UserIdentity, self).__init__(**kwargs)
+ self.identity_type = 'UserIdentity' # type: str
+
+
+class UsernamePasswordAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """UsernamePasswordAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionUsernamePassword
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionUsernamePassword'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionUsernamePassword
+ """
+ super(UsernamePasswordAuthTypeWorkspaceConnectionProperties, self).__init__(**kwargs)
+ self.auth_type = 'UsernamePassword' # type: str
+ self.credentials = kwargs.get('credentials', None)
+
+
+class VirtualMachineSchema(msrest.serialization.Model):
+ """VirtualMachineSchema.
+
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'VirtualMachineSchemaProperties'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ """
+ super(VirtualMachineSchema, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+
+
+class VirtualMachine(Compute, VirtualMachineSchema):
+ """A Machine Learning compute based on Azure Virtual Machines.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'VirtualMachineSchemaProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(VirtualMachine, self).__init__(**kwargs)
+ self.properties = kwargs.get('properties', None)
+ self.compute_type = 'VirtualMachine' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = kwargs.get('description', None)
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = kwargs.get('resource_id', None)
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class VirtualMachineImage(msrest.serialization.Model):
+ """Virtual Machine image for Windows AML Compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required. Virtual Machine image path.
+ :vartype id: str
+ """
+
+ _validation = {
+ 'id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword id: Required. Virtual Machine image path.
+ :paramtype id: str
+ """
+ super(VirtualMachineImage, self).__init__(**kwargs)
+ self.id = kwargs['id']
+
+
+class VirtualMachineSchemaProperties(msrest.serialization.Model):
+ """VirtualMachineSchemaProperties.
+
+ :ivar virtual_machine_size: Virtual Machine size.
+ :vartype virtual_machine_size: str
+ :ivar ssh_port: Port open for ssh connections.
+ :vartype ssh_port: int
+ :ivar notebook_server_port: Notebook server port open for ssh connections.
+ :vartype notebook_server_port: int
+ :ivar address: Public IP address of the virtual machine.
+ :vartype address: str
+ :ivar administrator_account: Admin credentials for virtual machine.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ :ivar is_notebook_instance_compute: Indicates whether this compute will be used for running
+ notebooks.
+ :vartype is_notebook_instance_compute: bool
+ """
+
+ _attribute_map = {
+ 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'},
+ 'ssh_port': {'key': 'sshPort', 'type': 'int'},
+ 'notebook_server_port': {'key': 'notebookServerPort', 'type': 'int'},
+ 'address': {'key': 'address', 'type': 'str'},
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ 'is_notebook_instance_compute': {'key': 'isNotebookInstanceCompute', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword virtual_machine_size: Virtual Machine size.
+ :paramtype virtual_machine_size: str
+ :keyword ssh_port: Port open for ssh connections.
+ :paramtype ssh_port: int
+ :keyword notebook_server_port: Notebook server port open for ssh connections.
+ :paramtype notebook_server_port: int
+ :keyword address: Public IP address of the virtual machine.
+ :paramtype address: str
+ :keyword administrator_account: Admin credentials for virtual machine.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ :keyword is_notebook_instance_compute: Indicates whether this compute will be used for running
+ notebooks.
+ :paramtype is_notebook_instance_compute: bool
+ """
+ super(VirtualMachineSchemaProperties, self).__init__(**kwargs)
+ self.virtual_machine_size = kwargs.get('virtual_machine_size', None)
+ self.ssh_port = kwargs.get('ssh_port', None)
+ self.notebook_server_port = kwargs.get('notebook_server_port', None)
+ self.address = kwargs.get('address', None)
+ self.administrator_account = kwargs.get('administrator_account', None)
+ self.is_notebook_instance_compute = kwargs.get('is_notebook_instance_compute', None)
+
+
+class VirtualMachineSecretsSchema(msrest.serialization.Model):
+ """VirtualMachineSecretsSchema.
+
+ :ivar administrator_account: Admin credentials for virtual machine.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+
+ _attribute_map = {
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword administrator_account: Admin credentials for virtual machine.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+ super(VirtualMachineSecretsSchema, self).__init__(**kwargs)
+ self.administrator_account = kwargs.get('administrator_account', None)
+
+
+class VirtualMachineSecrets(ComputeSecrets, VirtualMachineSecretsSchema):
+ """Secrets related to a Machine Learning compute based on AKS.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar administrator_account: Admin credentials for virtual machine.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword administrator_account: Admin credentials for virtual machine.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+ super(VirtualMachineSecrets, self).__init__(**kwargs)
+ self.administrator_account = kwargs.get('administrator_account', None)
+ self.compute_type = 'VirtualMachine' # type: str
+
+
+class VirtualMachineSize(msrest.serialization.Model):
+ """Describes the properties of a VM size.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: The name of the virtual machine size.
+ :vartype name: str
+ :ivar family: The family name of the virtual machine size.
+ :vartype family: str
+ :ivar v_cp_us: The number of vCPUs supported by the virtual machine size.
+ :vartype v_cp_us: int
+ :ivar gpus: The number of gPUs supported by the virtual machine size.
+ :vartype gpus: int
+ :ivar os_vhd_size_mb: The OS VHD disk size, in MB, allowed by the virtual machine size.
+ :vartype os_vhd_size_mb: int
+ :ivar max_resource_volume_mb: The resource volume size, in MB, allowed by the virtual machine
+ size.
+ :vartype max_resource_volume_mb: int
+ :ivar memory_gb: The amount of memory, in GB, supported by the virtual machine size.
+ :vartype memory_gb: float
+ :ivar low_priority_capable: Specifies if the virtual machine size supports low priority VMs.
+ :vartype low_priority_capable: bool
+ :ivar premium_io: Specifies if the virtual machine size supports premium IO.
+ :vartype premium_io: bool
+ :ivar estimated_vm_prices: The estimated price information for using a VM.
+ :vartype estimated_vm_prices: ~azure.mgmt.machinelearningservices.models.EstimatedVMPrices
+ :ivar supported_compute_types: Specifies the compute types supported by the virtual machine
+ size.
+ :vartype supported_compute_types: list[str]
+ """
+
+ _validation = {
+ 'name': {'readonly': True},
+ 'family': {'readonly': True},
+ 'v_cp_us': {'readonly': True},
+ 'gpus': {'readonly': True},
+ 'os_vhd_size_mb': {'readonly': True},
+ 'max_resource_volume_mb': {'readonly': True},
+ 'memory_gb': {'readonly': True},
+ 'low_priority_capable': {'readonly': True},
+ 'premium_io': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'family': {'key': 'family', 'type': 'str'},
+ 'v_cp_us': {'key': 'vCPUs', 'type': 'int'},
+ 'gpus': {'key': 'gpus', 'type': 'int'},
+ 'os_vhd_size_mb': {'key': 'osVhdSizeMB', 'type': 'int'},
+ 'max_resource_volume_mb': {'key': 'maxResourceVolumeMB', 'type': 'int'},
+ 'memory_gb': {'key': 'memoryGB', 'type': 'float'},
+ 'low_priority_capable': {'key': 'lowPriorityCapable', 'type': 'bool'},
+ 'premium_io': {'key': 'premiumIO', 'type': 'bool'},
+ 'estimated_vm_prices': {'key': 'estimatedVMPrices', 'type': 'EstimatedVMPrices'},
+ 'supported_compute_types': {'key': 'supportedComputeTypes', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword estimated_vm_prices: The estimated price information for using a VM.
+ :paramtype estimated_vm_prices: ~azure.mgmt.machinelearningservices.models.EstimatedVMPrices
+ :keyword supported_compute_types: Specifies the compute types supported by the virtual machine
+ size.
+ :paramtype supported_compute_types: list[str]
+ """
+ super(VirtualMachineSize, self).__init__(**kwargs)
+ self.name = None
+ self.family = None
+ self.v_cp_us = None
+ self.gpus = None
+ self.os_vhd_size_mb = None
+ self.max_resource_volume_mb = None
+ self.memory_gb = None
+ self.low_priority_capable = None
+ self.premium_io = None
+ self.estimated_vm_prices = kwargs.get('estimated_vm_prices', None)
+ self.supported_compute_types = kwargs.get('supported_compute_types', None)
+
+
+class VirtualMachineSizeListResult(msrest.serialization.Model):
+ """The List Virtual Machine size operation response.
+
+ :ivar value: The list of virtual machine sizes supported by AmlCompute.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.VirtualMachineSize]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[VirtualMachineSize]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: The list of virtual machine sizes supported by AmlCompute.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.VirtualMachineSize]
+ """
+ super(VirtualMachineSizeListResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+
+
+class VirtualMachineSshCredentials(msrest.serialization.Model):
+ """Admin credentials for virtual machine.
+
+ :ivar username: Username of admin account.
+ :vartype username: str
+ :ivar password: Password of admin account.
+ :vartype password: str
+ :ivar public_key_data: Public key data.
+ :vartype public_key_data: str
+ :ivar private_key_data: Private key data.
+ :vartype private_key_data: str
+ """
+
+ _attribute_map = {
+ 'username': {'key': 'username', 'type': 'str'},
+ 'password': {'key': 'password', 'type': 'str'},
+ 'public_key_data': {'key': 'publicKeyData', 'type': 'str'},
+ 'private_key_data': {'key': 'privateKeyData', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword username: Username of admin account.
+ :paramtype username: str
+ :keyword password: Password of admin account.
+ :paramtype password: str
+ :keyword public_key_data: Public key data.
+ :paramtype public_key_data: str
+ :keyword private_key_data: Private key data.
+ :paramtype private_key_data: str
+ """
+ super(VirtualMachineSshCredentials, self).__init__(**kwargs)
+ self.username = kwargs.get('username', None)
+ self.password = kwargs.get('password', None)
+ self.public_key_data = kwargs.get('public_key_data', None)
+ self.private_key_data = kwargs.get('private_key_data', None)
+
+
+class Workspace(Resource):
+ """An object that represents a machine learning workspace.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar workspace_id: The immutable id associated with this workspace.
+ :vartype workspace_id: str
+ :ivar description: The description of this workspace.
+ :vartype description: str
+ :ivar friendly_name: The friendly name for this workspace. This name in mutable.
+ :vartype friendly_name: str
+ :ivar key_vault: ARM id of the key vault associated with this workspace. This cannot be changed
+ once the workspace has been created.
+ :vartype key_vault: str
+ :ivar application_insights: ARM id of the application insights associated with this workspace.
+ :vartype application_insights: str
+ :ivar container_registry: ARM id of the container registry associated with this workspace.
+ :vartype container_registry: str
+ :ivar storage_account: ARM id of the storage account associated with this workspace. This
+ cannot be changed once the workspace has been created.
+ :vartype storage_account: str
+ :ivar discovery_url: Url for the discovery service to identify regional endpoints for machine
+ learning experimentation services.
+ :vartype discovery_url: str
+ :ivar provisioning_state: The current deployment state of workspace resource. The
+ provisioningState is to indicate states for resource provisioning. Possible values include:
+ "Unknown", "Updating", "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar encryption: The encryption settings of Azure ML workspace.
+ :vartype encryption: ~azure.mgmt.machinelearningservices.models.EncryptionProperty
+ :ivar hbi_workspace: The flag to signal HBI data in the workspace and reduce diagnostic data
+ collected by the service.
+ :vartype hbi_workspace: bool
+ :ivar service_provisioned_resource_group: The name of the managed resource group created by
+ workspace RP in customer subscription if the workspace is CMK workspace.
+ :vartype service_provisioned_resource_group: str
+ :ivar private_link_count: Count of private connections in the workspace.
+ :vartype private_link_count: int
+ :ivar image_build_compute: The compute name for image build.
+ :vartype image_build_compute: str
+ :ivar allow_public_access_when_behind_vnet: The flag to indicate whether to allow public access
+ when behind VNet.
+ :vartype allow_public_access_when_behind_vnet: bool
+ :ivar public_network_access: Whether requests from Public Network are allowed. Possible values
+ include: "Enabled", "Disabled".
+ :vartype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :ivar private_endpoint_connections: The list of private endpoint connections in the workspace.
+ :vartype private_endpoint_connections:
+ list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
+ :ivar shared_private_link_resources: The list of shared private link resources in this
+ workspace.
+ :vartype shared_private_link_resources:
+ list[~azure.mgmt.machinelearningservices.models.SharedPrivateLinkResource]
+ :ivar notebook_info: The notebook info of Azure ML workspace.
+ :vartype notebook_info: ~azure.mgmt.machinelearningservices.models.NotebookResourceInfo
+ :ivar service_managed_resources_settings: The service managed resource settings.
+ :vartype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :ivar primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :vartype primary_user_assigned_identity: str
+ :ivar tenant_id: The tenant id associated with this workspace.
+ :vartype tenant_id: str
+ :ivar storage_hns_enabled: If the storage associated with the workspace has hierarchical
+ namespace(HNS) enabled.
+ :vartype storage_hns_enabled: bool
+ :ivar ml_flow_tracking_uri: The URI associated with this workspace that machine learning flow
+ must point at to set up tracking.
+ :vartype ml_flow_tracking_uri: str
+ :ivar v1_legacy_mode: Enabling v1_legacy_mode may prevent you from using features provided by
+ the v2 API.
+ :vartype v1_legacy_mode: bool
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'workspace_id': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'service_provisioned_resource_group': {'readonly': True},
+ 'private_link_count': {'readonly': True},
+ 'private_endpoint_connections': {'readonly': True},
+ 'notebook_info': {'readonly': True},
+ 'tenant_id': {'readonly': True},
+ 'storage_hns_enabled': {'readonly': True},
+ 'ml_flow_tracking_uri': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'},
+ 'description': {'key': 'properties.description', 'type': 'str'},
+ 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'},
+ 'key_vault': {'key': 'properties.keyVault', 'type': 'str'},
+ 'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'},
+ 'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'},
+ 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'},
+ 'discovery_url': {'key': 'properties.discoveryUrl', 'type': 'str'},
+ 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
+ 'encryption': {'key': 'properties.encryption', 'type': 'EncryptionProperty'},
+ 'hbi_workspace': {'key': 'properties.hbiWorkspace', 'type': 'bool'},
+ 'service_provisioned_resource_group': {'key': 'properties.serviceProvisionedResourceGroup', 'type': 'str'},
+ 'private_link_count': {'key': 'properties.privateLinkCount', 'type': 'int'},
+ 'image_build_compute': {'key': 'properties.imageBuildCompute', 'type': 'str'},
+ 'allow_public_access_when_behind_vnet': {'key': 'properties.allowPublicAccessWhenBehindVnet', 'type': 'bool'},
+ 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
+ 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'},
+ 'shared_private_link_resources': {'key': 'properties.sharedPrivateLinkResources', 'type': '[SharedPrivateLinkResource]'},
+ 'notebook_info': {'key': 'properties.notebookInfo', 'type': 'NotebookResourceInfo'},
+ 'service_managed_resources_settings': {'key': 'properties.serviceManagedResourcesSettings', 'type': 'ServiceManagedResourcesSettings'},
+ 'primary_user_assigned_identity': {'key': 'properties.primaryUserAssignedIdentity', 'type': 'str'},
+ 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'},
+ 'storage_hns_enabled': {'key': 'properties.storageHnsEnabled', 'type': 'bool'},
+ 'ml_flow_tracking_uri': {'key': 'properties.mlFlowTrackingUri', 'type': 'str'},
+ 'v1_legacy_mode': {'key': 'properties.v1LegacyMode', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword description: The description of this workspace.
+ :paramtype description: str
+ :keyword friendly_name: The friendly name for this workspace. This name in mutable.
+ :paramtype friendly_name: str
+ :keyword key_vault: ARM id of the key vault associated with this workspace. This cannot be
+ changed once the workspace has been created.
+ :paramtype key_vault: str
+ :keyword application_insights: ARM id of the application insights associated with this
+ workspace.
+ :paramtype application_insights: str
+ :keyword container_registry: ARM id of the container registry associated with this workspace.
+ :paramtype container_registry: str
+ :keyword storage_account: ARM id of the storage account associated with this workspace. This
+ cannot be changed once the workspace has been created.
+ :paramtype storage_account: str
+ :keyword discovery_url: Url for the discovery service to identify regional endpoints for
+ machine learning experimentation services.
+ :paramtype discovery_url: str
+ :keyword encryption: The encryption settings of Azure ML workspace.
+ :paramtype encryption: ~azure.mgmt.machinelearningservices.models.EncryptionProperty
+ :keyword hbi_workspace: The flag to signal HBI data in the workspace and reduce diagnostic data
+ collected by the service.
+ :paramtype hbi_workspace: bool
+ :keyword image_build_compute: The compute name for image build.
+ :paramtype image_build_compute: str
+ :keyword allow_public_access_when_behind_vnet: The flag to indicate whether to allow public
+ access when behind VNet.
+ :paramtype allow_public_access_when_behind_vnet: bool
+ :keyword public_network_access: Whether requests from Public Network are allowed. Possible
+ values include: "Enabled", "Disabled".
+ :paramtype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :keyword shared_private_link_resources: The list of shared private link resources in this
+ workspace.
+ :paramtype shared_private_link_resources:
+ list[~azure.mgmt.machinelearningservices.models.SharedPrivateLinkResource]
+ :keyword service_managed_resources_settings: The service managed resource settings.
+ :paramtype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :keyword primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :paramtype primary_user_assigned_identity: str
+ :keyword v1_legacy_mode: Enabling v1_legacy_mode may prevent you from using features provided
+ by the v2 API.
+ :paramtype v1_legacy_mode: bool
+ """
+ super(Workspace, self).__init__(**kwargs)
+ self.identity = kwargs.get('identity', None)
+ self.location = kwargs.get('location', None)
+ self.tags = kwargs.get('tags', None)
+ self.sku = kwargs.get('sku', None)
+ self.workspace_id = None
+ self.description = kwargs.get('description', None)
+ self.friendly_name = kwargs.get('friendly_name', None)
+ self.key_vault = kwargs.get('key_vault', None)
+ self.application_insights = kwargs.get('application_insights', None)
+ self.container_registry = kwargs.get('container_registry', None)
+ self.storage_account = kwargs.get('storage_account', None)
+ self.discovery_url = kwargs.get('discovery_url', None)
+ self.provisioning_state = None
+ self.encryption = kwargs.get('encryption', None)
+ self.hbi_workspace = kwargs.get('hbi_workspace', False)
+ self.service_provisioned_resource_group = None
+ self.private_link_count = None
+ self.image_build_compute = kwargs.get('image_build_compute', None)
+ self.allow_public_access_when_behind_vnet = kwargs.get('allow_public_access_when_behind_vnet', False)
+ self.public_network_access = kwargs.get('public_network_access', None)
+ self.private_endpoint_connections = None
+ self.shared_private_link_resources = kwargs.get('shared_private_link_resources', None)
+ self.notebook_info = None
+ self.service_managed_resources_settings = kwargs.get('service_managed_resources_settings', None)
+ self.primary_user_assigned_identity = kwargs.get('primary_user_assigned_identity', None)
+ self.tenant_id = None
+ self.storage_hns_enabled = None
+ self.ml_flow_tracking_uri = None
+ self.v1_legacy_mode = kwargs.get('v1_legacy_mode', False)
+
+
+class WorkspaceConnectionManagedIdentity(msrest.serialization.Model):
+ """WorkspaceConnectionManagedIdentity.
+
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar client_id:
+ :vartype client_id: str
+ """
+
+ _attribute_map = {
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword client_id:
+ :paramtype client_id: str
+ """
+ super(WorkspaceConnectionManagedIdentity, self).__init__(**kwargs)
+ self.resource_id = kwargs.get('resource_id', None)
+ self.client_id = kwargs.get('client_id', None)
+
+
+class WorkspaceConnectionPersonalAccessToken(msrest.serialization.Model):
+ """WorkspaceConnectionPersonalAccessToken.
+
+ :ivar pat:
+ :vartype pat: str
+ """
+
+ _attribute_map = {
+ 'pat': {'key': 'pat', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword pat:
+ :paramtype pat: str
+ """
+ super(WorkspaceConnectionPersonalAccessToken, self).__init__(**kwargs)
+ self.pat = kwargs.get('pat', None)
+
+
+class WorkspaceConnectionPropertiesV2BasicResource(Resource):
+ """WorkspaceConnectionPropertiesV2BasicResource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'WorkspaceConnectionPropertiesV2'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword properties: Required.
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2
+ """
+ super(WorkspaceConnectionPropertiesV2BasicResource, self).__init__(**kwargs)
+ self.properties = kwargs['properties']
+
+
+class WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult(msrest.serialization.Model):
+ """WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value:
+ :vartype value:
+ list[~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource]
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[WorkspaceConnectionPropertiesV2BasicResource]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value:
+ list[~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource]
+ """
+ super(WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+ self.next_link = None
+
+
+class WorkspaceConnectionSharedAccessSignature(msrest.serialization.Model):
+ """WorkspaceConnectionSharedAccessSignature.
+
+ :ivar sas:
+ :vartype sas: str
+ """
+
+ _attribute_map = {
+ 'sas': {'key': 'sas', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword sas:
+ :paramtype sas: str
+ """
+ super(WorkspaceConnectionSharedAccessSignature, self).__init__(**kwargs)
+ self.sas = kwargs.get('sas', None)
+
+
+class WorkspaceConnectionUsernamePassword(msrest.serialization.Model):
+ """WorkspaceConnectionUsernamePassword.
+
+ :ivar username:
+ :vartype username: str
+ :ivar password:
+ :vartype password: str
+ """
+
+ _attribute_map = {
+ 'username': {'key': 'username', 'type': 'str'},
+ 'password': {'key': 'password', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword username:
+ :paramtype username: str
+ :keyword password:
+ :paramtype password: str
+ """
+ super(WorkspaceConnectionUsernamePassword, self).__init__(**kwargs)
+ self.username = kwargs.get('username', None)
+ self.password = kwargs.get('password', None)
+
+
+class WorkspaceListResult(msrest.serialization.Model):
+ """The result of a request to list machine learning workspaces.
+
+ :ivar value: The list of machine learning workspaces. Since this list may be incomplete, the
+ nextLink field should be used to request the next list of machine learning workspaces.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Workspace]
+ :ivar next_link: The URI that can be used to request the next list of machine learning
+ workspaces.
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[Workspace]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword value: The list of machine learning workspaces. Since this list may be incomplete, the
+ nextLink field should be used to request the next list of machine learning workspaces.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Workspace]
+ :keyword next_link: The URI that can be used to request the next list of machine learning
+ workspaces.
+ :paramtype next_link: str
+ """
+ super(WorkspaceListResult, self).__init__(**kwargs)
+ self.value = kwargs.get('value', None)
+ self.next_link = kwargs.get('next_link', None)
+
+
+class WorkspaceUpdateParameters(msrest.serialization.Model):
+ """The parameters for updating a machine learning workspace.
+
+ :ivar tags: A set of tags. The resource tags for the machine learning workspace.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar description: The description of this workspace.
+ :vartype description: str
+ :ivar friendly_name: The friendly name for this workspace.
+ :vartype friendly_name: str
+ :ivar image_build_compute: The compute name for image build.
+ :vartype image_build_compute: str
+ :ivar service_managed_resources_settings: The service managed resource settings.
+ :vartype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :ivar primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :vartype primary_user_assigned_identity: str
+ :ivar public_network_access: Whether requests from Public Network are allowed. Possible values
+ include: "Enabled", "Disabled".
+ :vartype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :ivar application_insights: ARM id of the application insights associated with this workspace.
+ :vartype application_insights: str
+ :ivar container_registry: ARM id of the container registry associated with this workspace.
+ :vartype container_registry: str
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'description': {'key': 'properties.description', 'type': 'str'},
+ 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'},
+ 'image_build_compute': {'key': 'properties.imageBuildCompute', 'type': 'str'},
+ 'service_managed_resources_settings': {'key': 'properties.serviceManagedResourcesSettings', 'type': 'ServiceManagedResourcesSettings'},
+ 'primary_user_assigned_identity': {'key': 'properties.primaryUserAssignedIdentity', 'type': 'str'},
+ 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
+ 'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'},
+ 'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. The resource tags for the machine learning workspace.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword description: The description of this workspace.
+ :paramtype description: str
+ :keyword friendly_name: The friendly name for this workspace.
+ :paramtype friendly_name: str
+ :keyword image_build_compute: The compute name for image build.
+ :paramtype image_build_compute: str
+ :keyword service_managed_resources_settings: The service managed resource settings.
+ :paramtype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :keyword primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :paramtype primary_user_assigned_identity: str
+ :keyword public_network_access: Whether requests from Public Network are allowed. Possible
+ values include: "Enabled", "Disabled".
+ :paramtype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :keyword application_insights: ARM id of the application insights associated with this
+ workspace.
+ :paramtype application_insights: str
+ :keyword container_registry: ARM id of the container registry associated with this workspace.
+ :paramtype container_registry: str
+ """
+ super(WorkspaceUpdateParameters, self).__init__(**kwargs)
+ self.tags = kwargs.get('tags', None)
+ self.sku = kwargs.get('sku', None)
+ self.identity = kwargs.get('identity', None)
+ self.description = kwargs.get('description', None)
+ self.friendly_name = kwargs.get('friendly_name', None)
+ self.image_build_compute = kwargs.get('image_build_compute', None)
+ self.service_managed_resources_settings = kwargs.get('service_managed_resources_settings', None)
+ self.primary_user_assigned_identity = kwargs.get('primary_user_assigned_identity', None)
+ self.public_network_access = kwargs.get('public_network_access', None)
+ self.application_insights = kwargs.get('application_insights', None)
+ self.container_registry = kwargs.get('container_registry', None)
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models_py3.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models_py3.py
new file mode 100644
index 00000000..9265fff1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/models/_models_py3.py
@@ -0,0 +1,21370 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+import datetime
+from typing import Any, Dict, List, Optional, Union
+
+from azure.core.exceptions import HttpResponseError
+import msrest.serialization
+
+from ._azure_machine_learning_workspaces_enums import *
+
+
+class DatastoreCredentials(msrest.serialization.Model):
+ """Base definition for datastore credentials.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AccountKeyDatastoreCredentials, CertificateDatastoreCredentials, NoneDatastoreCredentials, SasDatastoreCredentials, ServicePrincipalDatastoreCredentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'credentials_type': {'AccountKey': 'AccountKeyDatastoreCredentials', 'Certificate': 'CertificateDatastoreCredentials', 'None': 'NoneDatastoreCredentials', 'Sas': 'SasDatastoreCredentials', 'ServicePrincipal': 'ServicePrincipalDatastoreCredentials'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = None # type: Optional[str]
+
+
+class AccountKeyDatastoreCredentials(DatastoreCredentials):
+ """Account key datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar secrets: Required. [Required] Storage account secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.AccountKeyDatastoreSecrets
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'secrets': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'AccountKeyDatastoreSecrets'},
+ }
+
+ def __init__(
+ self,
+ *,
+ secrets: "AccountKeyDatastoreSecrets",
+ **kwargs
+ ):
+ """
+ :keyword secrets: Required. [Required] Storage account secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.AccountKeyDatastoreSecrets
+ """
+ super(AccountKeyDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'AccountKey' # type: str
+ self.secrets = secrets
+
+
+class DatastoreSecrets(msrest.serialization.Model):
+ """Base definition for datastore secrets.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AccountKeyDatastoreSecrets, CertificateDatastoreSecrets, SasDatastoreSecrets, ServicePrincipalDatastoreSecrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'secrets_type': {'AccountKey': 'AccountKeyDatastoreSecrets', 'Certificate': 'CertificateDatastoreSecrets', 'Sas': 'SasDatastoreSecrets', 'ServicePrincipal': 'ServicePrincipalDatastoreSecrets'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = None # type: Optional[str]
+
+
+class AccountKeyDatastoreSecrets(DatastoreSecrets):
+ """Datastore account key secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar key: Storage account key.
+ :vartype key: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'key': {'key': 'key', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ key: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword key: Storage account key.
+ :paramtype key: str
+ """
+ super(AccountKeyDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'AccountKey' # type: str
+ self.key = key
+
+
+class AKSSchema(msrest.serialization.Model):
+ """AKSSchema.
+
+ :ivar properties: AKS properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AKSSchemaProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["AKSSchemaProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: AKS properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ """
+ super(AKSSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class Compute(msrest.serialization.Model):
+ """Machine Learning compute object.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AKS, AmlCompute, ComputeInstance, DataFactory, DataLakeAnalytics, Databricks, HDInsight, Kubernetes, SynapseSpark, VirtualMachine.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ _subtype_map = {
+ 'compute_type': {'AKS': 'AKS', 'AmlCompute': 'AmlCompute', 'ComputeInstance': 'ComputeInstance', 'DataFactory': 'DataFactory', 'DataLakeAnalytics': 'DataLakeAnalytics', 'Databricks': 'Databricks', 'HDInsight': 'HDInsight', 'Kubernetes': 'Kubernetes', 'SynapseSpark': 'SynapseSpark', 'VirtualMachine': 'VirtualMachine'}
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(Compute, self).__init__(**kwargs)
+ self.compute_type = None # type: Optional[str]
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class AKS(Compute, AKSSchema):
+ """A Machine Learning compute based on AKS.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: AKS properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AKSSchemaProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["AKSSchemaProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: AKS properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(AKS, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'AKS' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class AksComputeSecretsProperties(msrest.serialization.Model):
+ """Properties of AksComputeSecrets.
+
+ :ivar user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype user_kube_config: str
+ :ivar admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype admin_kube_config: str
+ :ivar image_pull_secret_name: Image registry pull secret.
+ :vartype image_pull_secret_name: str
+ """
+
+ _attribute_map = {
+ 'user_kube_config': {'key': 'userKubeConfig', 'type': 'str'},
+ 'admin_kube_config': {'key': 'adminKubeConfig', 'type': 'str'},
+ 'image_pull_secret_name': {'key': 'imagePullSecretName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ user_kube_config: Optional[str] = None,
+ admin_kube_config: Optional[str] = None,
+ image_pull_secret_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype user_kube_config: str
+ :keyword admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype admin_kube_config: str
+ :keyword image_pull_secret_name: Image registry pull secret.
+ :paramtype image_pull_secret_name: str
+ """
+ super(AksComputeSecretsProperties, self).__init__(**kwargs)
+ self.user_kube_config = user_kube_config
+ self.admin_kube_config = admin_kube_config
+ self.image_pull_secret_name = image_pull_secret_name
+
+
+class ComputeSecrets(msrest.serialization.Model):
+ """Secrets related to a Machine Learning compute. Might differ for every type of compute.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AksComputeSecrets, DatabricksComputeSecrets, VirtualMachineSecrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'compute_type': {'AKS': 'AksComputeSecrets', 'Databricks': 'DatabricksComputeSecrets', 'VirtualMachine': 'VirtualMachineSecrets'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ComputeSecrets, self).__init__(**kwargs)
+ self.compute_type = None # type: Optional[str]
+
+
+class AksComputeSecrets(ComputeSecrets, AksComputeSecretsProperties):
+ """Secrets related to a Machine Learning compute based on AKS.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype user_kube_config: str
+ :ivar admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :vartype admin_kube_config: str
+ :ivar image_pull_secret_name: Image registry pull secret.
+ :vartype image_pull_secret_name: str
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'user_kube_config': {'key': 'userKubeConfig', 'type': 'str'},
+ 'admin_kube_config': {'key': 'adminKubeConfig', 'type': 'str'},
+ 'image_pull_secret_name': {'key': 'imagePullSecretName', 'type': 'str'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ user_kube_config: Optional[str] = None,
+ admin_kube_config: Optional[str] = None,
+ image_pull_secret_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword user_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype user_kube_config: str
+ :keyword admin_kube_config: Content of kubeconfig file that can be used to connect to the
+ Kubernetes cluster.
+ :paramtype admin_kube_config: str
+ :keyword image_pull_secret_name: Image registry pull secret.
+ :paramtype image_pull_secret_name: str
+ """
+ super(AksComputeSecrets, self).__init__(user_kube_config=user_kube_config, admin_kube_config=admin_kube_config, image_pull_secret_name=image_pull_secret_name, **kwargs)
+ self.user_kube_config = user_kube_config
+ self.admin_kube_config = admin_kube_config
+ self.image_pull_secret_name = image_pull_secret_name
+ self.compute_type = 'AKS' # type: str
+
+
+class AksNetworkingConfiguration(msrest.serialization.Model):
+ """Advance configuration for AKS networking.
+
+ :ivar subnet_id: Virtual network subnet resource ID the compute nodes belong to.
+ :vartype subnet_id: str
+ :ivar service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must
+ not overlap with any Subnet IP ranges.
+ :vartype service_cidr: str
+ :ivar dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within
+ the Kubernetes service address range specified in serviceCidr.
+ :vartype dns_service_ip: str
+ :ivar docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It
+ must not overlap with any Subnet IP ranges or the Kubernetes service address range.
+ :vartype docker_bridge_cidr: str
+ """
+
+ _validation = {
+ 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'},
+ 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'},
+ 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'},
+ }
+
+ _attribute_map = {
+ 'subnet_id': {'key': 'subnetId', 'type': 'str'},
+ 'service_cidr': {'key': 'serviceCidr', 'type': 'str'},
+ 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'},
+ 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ subnet_id: Optional[str] = None,
+ service_cidr: Optional[str] = None,
+ dns_service_ip: Optional[str] = None,
+ docker_bridge_cidr: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword subnet_id: Virtual network subnet resource ID the compute nodes belong to.
+ :paramtype subnet_id: str
+ :keyword service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It
+ must not overlap with any Subnet IP ranges.
+ :paramtype service_cidr: str
+ :keyword dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be
+ within the Kubernetes service address range specified in serviceCidr.
+ :paramtype dns_service_ip: str
+ :keyword docker_bridge_cidr: A CIDR notation IP range assigned to the Docker bridge network. It
+ must not overlap with any Subnet IP ranges or the Kubernetes service address range.
+ :paramtype docker_bridge_cidr: str
+ """
+ super(AksNetworkingConfiguration, self).__init__(**kwargs)
+ self.subnet_id = subnet_id
+ self.service_cidr = service_cidr
+ self.dns_service_ip = dns_service_ip
+ self.docker_bridge_cidr = docker_bridge_cidr
+
+
+class AKSSchemaProperties(msrest.serialization.Model):
+ """AKS properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar cluster_fqdn: Cluster full qualified domain name.
+ :vartype cluster_fqdn: str
+ :ivar system_services: System services.
+ :vartype system_services: list[~azure.mgmt.machinelearningservices.models.SystemService]
+ :ivar agent_count: Number of agents.
+ :vartype agent_count: int
+ :ivar agent_vm_size: Agent virtual machine size.
+ :vartype agent_vm_size: str
+ :ivar cluster_purpose: Intended usage of the cluster. Possible values include: "FastProd",
+ "DenseProd", "DevTest". Default value: "FastProd".
+ :vartype cluster_purpose: str or ~azure.mgmt.machinelearningservices.models.ClusterPurpose
+ :ivar ssl_configuration: SSL configuration.
+ :vartype ssl_configuration: ~azure.mgmt.machinelearningservices.models.SslConfiguration
+ :ivar aks_networking_configuration: AKS networking configuration for vnet.
+ :vartype aks_networking_configuration:
+ ~azure.mgmt.machinelearningservices.models.AksNetworkingConfiguration
+ :ivar load_balancer_type: Load Balancer Type. Possible values include: "PublicIp",
+ "InternalLoadBalancer". Default value: "PublicIp".
+ :vartype load_balancer_type: str or ~azure.mgmt.machinelearningservices.models.LoadBalancerType
+ :ivar load_balancer_subnet: Load Balancer Subnet.
+ :vartype load_balancer_subnet: str
+ """
+
+ _validation = {
+ 'system_services': {'readonly': True},
+ 'agent_count': {'minimum': 0},
+ }
+
+ _attribute_map = {
+ 'cluster_fqdn': {'key': 'clusterFqdn', 'type': 'str'},
+ 'system_services': {'key': 'systemServices', 'type': '[SystemService]'},
+ 'agent_count': {'key': 'agentCount', 'type': 'int'},
+ 'agent_vm_size': {'key': 'agentVmSize', 'type': 'str'},
+ 'cluster_purpose': {'key': 'clusterPurpose', 'type': 'str'},
+ 'ssl_configuration': {'key': 'sslConfiguration', 'type': 'SslConfiguration'},
+ 'aks_networking_configuration': {'key': 'aksNetworkingConfiguration', 'type': 'AksNetworkingConfiguration'},
+ 'load_balancer_type': {'key': 'loadBalancerType', 'type': 'str'},
+ 'load_balancer_subnet': {'key': 'loadBalancerSubnet', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ cluster_fqdn: Optional[str] = None,
+ agent_count: Optional[int] = None,
+ agent_vm_size: Optional[str] = None,
+ cluster_purpose: Optional[Union[str, "ClusterPurpose"]] = "FastProd",
+ ssl_configuration: Optional["SslConfiguration"] = None,
+ aks_networking_configuration: Optional["AksNetworkingConfiguration"] = None,
+ load_balancer_type: Optional[Union[str, "LoadBalancerType"]] = "PublicIp",
+ load_balancer_subnet: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword cluster_fqdn: Cluster full qualified domain name.
+ :paramtype cluster_fqdn: str
+ :keyword agent_count: Number of agents.
+ :paramtype agent_count: int
+ :keyword agent_vm_size: Agent virtual machine size.
+ :paramtype agent_vm_size: str
+ :keyword cluster_purpose: Intended usage of the cluster. Possible values include: "FastProd",
+ "DenseProd", "DevTest". Default value: "FastProd".
+ :paramtype cluster_purpose: str or ~azure.mgmt.machinelearningservices.models.ClusterPurpose
+ :keyword ssl_configuration: SSL configuration.
+ :paramtype ssl_configuration: ~azure.mgmt.machinelearningservices.models.SslConfiguration
+ :keyword aks_networking_configuration: AKS networking configuration for vnet.
+ :paramtype aks_networking_configuration:
+ ~azure.mgmt.machinelearningservices.models.AksNetworkingConfiguration
+ :keyword load_balancer_type: Load Balancer Type. Possible values include: "PublicIp",
+ "InternalLoadBalancer". Default value: "PublicIp".
+ :paramtype load_balancer_type: str or
+ ~azure.mgmt.machinelearningservices.models.LoadBalancerType
+ :keyword load_balancer_subnet: Load Balancer Subnet.
+ :paramtype load_balancer_subnet: str
+ """
+ super(AKSSchemaProperties, self).__init__(**kwargs)
+ self.cluster_fqdn = cluster_fqdn
+ self.system_services = None
+ self.agent_count = agent_count
+ self.agent_vm_size = agent_vm_size
+ self.cluster_purpose = cluster_purpose
+ self.ssl_configuration = ssl_configuration
+ self.aks_networking_configuration = aks_networking_configuration
+ self.load_balancer_type = load_balancer_type
+ self.load_balancer_subnet = load_balancer_subnet
+
+
+class AmlComputeSchema(msrest.serialization.Model):
+ """Properties(top level) of AmlCompute.
+
+ :ivar properties: Properties of AmlCompute.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AmlComputeProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["AmlComputeProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of AmlCompute.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ """
+ super(AmlComputeSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class AmlCompute(Compute, AmlComputeSchema):
+ """An Azure Machine Learning compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of AmlCompute.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'AmlComputeProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["AmlComputeProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of AmlCompute.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(AmlCompute, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'AmlCompute' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class AmlComputeNodeInformation(msrest.serialization.Model):
+ """Compute node information related to a AmlCompute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar node_id: ID of the compute node.
+ :vartype node_id: str
+ :ivar private_ip_address: Private IP address of the compute node.
+ :vartype private_ip_address: str
+ :ivar public_ip_address: Public IP address of the compute node.
+ :vartype public_ip_address: str
+ :ivar port: SSH port number of the node.
+ :vartype port: int
+ :ivar node_state: State of the compute node. Values are idle, running, preparing, unusable,
+ leaving and preempted. Possible values include: "idle", "running", "preparing", "unusable",
+ "leaving", "preempted".
+ :vartype node_state: str or ~azure.mgmt.machinelearningservices.models.NodeState
+ :ivar run_id: ID of the Experiment running on the node, if any else null.
+ :vartype run_id: str
+ """
+
+ _validation = {
+ 'node_id': {'readonly': True},
+ 'private_ip_address': {'readonly': True},
+ 'public_ip_address': {'readonly': True},
+ 'port': {'readonly': True},
+ 'node_state': {'readonly': True},
+ 'run_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'node_id': {'key': 'nodeId', 'type': 'str'},
+ 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'},
+ 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'},
+ 'port': {'key': 'port', 'type': 'int'},
+ 'node_state': {'key': 'nodeState', 'type': 'str'},
+ 'run_id': {'key': 'runId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AmlComputeNodeInformation, self).__init__(**kwargs)
+ self.node_id = None
+ self.private_ip_address = None
+ self.public_ip_address = None
+ self.port = None
+ self.node_state = None
+ self.run_id = None
+
+
+class AmlComputeNodesInformation(msrest.serialization.Model):
+ """Result of AmlCompute Nodes.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar nodes: The collection of returned AmlCompute nodes details.
+ :vartype nodes: list[~azure.mgmt.machinelearningservices.models.AmlComputeNodeInformation]
+ :ivar next_link: The continuation token.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'nodes': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'nodes': {'key': 'nodes', 'type': '[AmlComputeNodeInformation]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AmlComputeNodesInformation, self).__init__(**kwargs)
+ self.nodes = None
+ self.next_link = None
+
+
+class AmlComputeProperties(msrest.serialization.Model):
+ """AML Compute properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar os_type: Compute OS Type. Possible values include: "Linux", "Windows". Default value:
+ "Linux".
+ :vartype os_type: str or ~azure.mgmt.machinelearningservices.models.OsType
+ :ivar vm_size: Virtual Machine Size.
+ :vartype vm_size: str
+ :ivar vm_priority: Virtual Machine priority. Possible values include: "Dedicated",
+ "LowPriority".
+ :vartype vm_priority: str or ~azure.mgmt.machinelearningservices.models.VmPriority
+ :ivar virtual_machine_image: Virtual Machine image for AML Compute - windows only.
+ :vartype virtual_machine_image: ~azure.mgmt.machinelearningservices.models.VirtualMachineImage
+ :ivar isolated_network: Network is isolated or not.
+ :vartype isolated_network: bool
+ :ivar scale_settings: Scale settings for AML Compute.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ :ivar user_account_credentials: Credentials for an administrator user account that will be
+ created on each compute node.
+ :vartype user_account_credentials:
+ ~azure.mgmt.machinelearningservices.models.UserAccountCredentials
+ :ivar subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :vartype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :ivar remote_login_port_public_access: State of the public SSH port. Possible values are:
+ Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled -
+ Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified -
+ Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined,
+ else is open all public nodes. It can be default only during cluster creation time, after
+ creation it will be either enabled or disabled. Possible values include: "Enabled", "Disabled",
+ "NotSpecified". Default value: "NotSpecified".
+ :vartype remote_login_port_public_access: str or
+ ~azure.mgmt.machinelearningservices.models.RemoteLoginPortPublicAccess
+ :ivar allocation_state: Allocation state of the compute. Possible values are: steady -
+ Indicates that the compute is not resizing. There are no changes to the number of compute nodes
+ in the compute in progress. A compute enters this state when it is created and when no
+ operations are being performed on the compute to change the number of compute nodes. resizing -
+ Indicates that the compute is resizing; that is, compute nodes are being added to or removed
+ from the compute. Possible values include: "Steady", "Resizing".
+ :vartype allocation_state: str or ~azure.mgmt.machinelearningservices.models.AllocationState
+ :ivar allocation_state_transition_time: The time at which the compute entered its current
+ allocation state.
+ :vartype allocation_state_transition_time: ~datetime.datetime
+ :ivar errors: Collection of errors encountered by various compute nodes during node setup.
+ :vartype errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar current_node_count: The number of compute nodes currently assigned to the compute.
+ :vartype current_node_count: int
+ :ivar target_node_count: The target number of compute nodes for the compute. If the
+ allocationState is resizing, this property denotes the target node count for the ongoing resize
+ operation. If the allocationState is steady, this property denotes the target node count for
+ the previous resize operation.
+ :vartype target_node_count: int
+ :ivar node_state_counts: Counts of various node states on the compute.
+ :vartype node_state_counts: ~azure.mgmt.machinelearningservices.models.NodeStateCounts
+ :ivar enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :vartype enable_node_public_ip: bool
+ :ivar property_bag: A property bag containing additional properties.
+ :vartype property_bag: any
+ """
+
+ _validation = {
+ 'allocation_state': {'readonly': True},
+ 'allocation_state_transition_time': {'readonly': True},
+ 'errors': {'readonly': True},
+ 'current_node_count': {'readonly': True},
+ 'target_node_count': {'readonly': True},
+ 'node_state_counts': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'os_type': {'key': 'osType', 'type': 'str'},
+ 'vm_size': {'key': 'vmSize', 'type': 'str'},
+ 'vm_priority': {'key': 'vmPriority', 'type': 'str'},
+ 'virtual_machine_image': {'key': 'virtualMachineImage', 'type': 'VirtualMachineImage'},
+ 'isolated_network': {'key': 'isolatedNetwork', 'type': 'bool'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'ScaleSettings'},
+ 'user_account_credentials': {'key': 'userAccountCredentials', 'type': 'UserAccountCredentials'},
+ 'subnet': {'key': 'subnet', 'type': 'ResourceId'},
+ 'remote_login_port_public_access': {'key': 'remoteLoginPortPublicAccess', 'type': 'str'},
+ 'allocation_state': {'key': 'allocationState', 'type': 'str'},
+ 'allocation_state_transition_time': {'key': 'allocationStateTransitionTime', 'type': 'iso-8601'},
+ 'errors': {'key': 'errors', 'type': '[ErrorResponse]'},
+ 'current_node_count': {'key': 'currentNodeCount', 'type': 'int'},
+ 'target_node_count': {'key': 'targetNodeCount', 'type': 'int'},
+ 'node_state_counts': {'key': 'nodeStateCounts', 'type': 'NodeStateCounts'},
+ 'enable_node_public_ip': {'key': 'enableNodePublicIp', 'type': 'bool'},
+ 'property_bag': {'key': 'propertyBag', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ *,
+ os_type: Optional[Union[str, "OsType"]] = "Linux",
+ vm_size: Optional[str] = None,
+ vm_priority: Optional[Union[str, "VmPriority"]] = None,
+ virtual_machine_image: Optional["VirtualMachineImage"] = None,
+ isolated_network: Optional[bool] = None,
+ scale_settings: Optional["ScaleSettings"] = None,
+ user_account_credentials: Optional["UserAccountCredentials"] = None,
+ subnet: Optional["ResourceId"] = None,
+ remote_login_port_public_access: Optional[Union[str, "RemoteLoginPortPublicAccess"]] = "NotSpecified",
+ enable_node_public_ip: Optional[bool] = True,
+ property_bag: Optional[Any] = None,
+ **kwargs
+ ):
+ """
+ :keyword os_type: Compute OS Type. Possible values include: "Linux", "Windows". Default value:
+ "Linux".
+ :paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.OsType
+ :keyword vm_size: Virtual Machine Size.
+ :paramtype vm_size: str
+ :keyword vm_priority: Virtual Machine priority. Possible values include: "Dedicated",
+ "LowPriority".
+ :paramtype vm_priority: str or ~azure.mgmt.machinelearningservices.models.VmPriority
+ :keyword virtual_machine_image: Virtual Machine image for AML Compute - windows only.
+ :paramtype virtual_machine_image:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineImage
+ :keyword isolated_network: Network is isolated or not.
+ :paramtype isolated_network: bool
+ :keyword scale_settings: Scale settings for AML Compute.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ :keyword user_account_credentials: Credentials for an administrator user account that will be
+ created on each compute node.
+ :paramtype user_account_credentials:
+ ~azure.mgmt.machinelearningservices.models.UserAccountCredentials
+ :keyword subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :paramtype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :keyword remote_login_port_public_access: State of the public SSH port. Possible values are:
+ Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled -
+ Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified -
+ Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined,
+ else is open all public nodes. It can be default only during cluster creation time, after
+ creation it will be either enabled or disabled. Possible values include: "Enabled", "Disabled",
+ "NotSpecified". Default value: "NotSpecified".
+ :paramtype remote_login_port_public_access: str or
+ ~azure.mgmt.machinelearningservices.models.RemoteLoginPortPublicAccess
+ :keyword enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :paramtype enable_node_public_ip: bool
+ :keyword property_bag: A property bag containing additional properties.
+ :paramtype property_bag: any
+ """
+ super(AmlComputeProperties, self).__init__(**kwargs)
+ self.os_type = os_type
+ self.vm_size = vm_size
+ self.vm_priority = vm_priority
+ self.virtual_machine_image = virtual_machine_image
+ self.isolated_network = isolated_network
+ self.scale_settings = scale_settings
+ self.user_account_credentials = user_account_credentials
+ self.subnet = subnet
+ self.remote_login_port_public_access = remote_login_port_public_access
+ self.allocation_state = None
+ self.allocation_state_transition_time = None
+ self.errors = None
+ self.current_node_count = None
+ self.target_node_count = None
+ self.node_state_counts = None
+ self.enable_node_public_ip = enable_node_public_ip
+ self.property_bag = property_bag
+
+
+class AmlOperation(msrest.serialization.Model):
+ """Azure Machine Learning workspace REST API operation.
+
+ :ivar name: Operation name: {provider}/{resource}/{operation}.
+ :vartype name: str
+ :ivar display: Display name of operation.
+ :vartype display: ~azure.mgmt.machinelearningservices.models.AmlOperationDisplay
+ :ivar is_data_action: Indicates whether the operation applies to data-plane.
+ :vartype is_data_action: bool
+ """
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'display': {'key': 'display', 'type': 'AmlOperationDisplay'},
+ 'is_data_action': {'key': 'isDataAction', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ display: Optional["AmlOperationDisplay"] = None,
+ is_data_action: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword name: Operation name: {provider}/{resource}/{operation}.
+ :paramtype name: str
+ :keyword display: Display name of operation.
+ :paramtype display: ~azure.mgmt.machinelearningservices.models.AmlOperationDisplay
+ :keyword is_data_action: Indicates whether the operation applies to data-plane.
+ :paramtype is_data_action: bool
+ """
+ super(AmlOperation, self).__init__(**kwargs)
+ self.name = name
+ self.display = display
+ self.is_data_action = is_data_action
+
+
+class AmlOperationDisplay(msrest.serialization.Model):
+ """Display name of operation.
+
+ :ivar provider: The resource provider name: Microsoft.MachineLearningExperimentation.
+ :vartype provider: str
+ :ivar resource: The resource on which the operation is performed.
+ :vartype resource: str
+ :ivar operation: The operation that users can perform.
+ :vartype operation: str
+ :ivar description: The description for the operation.
+ :vartype description: str
+ """
+
+ _attribute_map = {
+ 'provider': {'key': 'provider', 'type': 'str'},
+ 'resource': {'key': 'resource', 'type': 'str'},
+ 'operation': {'key': 'operation', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ provider: Optional[str] = None,
+ resource: Optional[str] = None,
+ operation: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword provider: The resource provider name: Microsoft.MachineLearningExperimentation.
+ :paramtype provider: str
+ :keyword resource: The resource on which the operation is performed.
+ :paramtype resource: str
+ :keyword operation: The operation that users can perform.
+ :paramtype operation: str
+ :keyword description: The description for the operation.
+ :paramtype description: str
+ """
+ super(AmlOperationDisplay, self).__init__(**kwargs)
+ self.provider = provider
+ self.resource = resource
+ self.operation = operation
+ self.description = description
+
+
+class AmlOperationListResult(msrest.serialization.Model):
+ """An array of operations supported by the resource provider.
+
+ :ivar value: List of AML workspace operations supported by the AML workspace resource provider.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.AmlOperation]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[AmlOperation]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["AmlOperation"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: List of AML workspace operations supported by the AML workspace resource
+ provider.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.AmlOperation]
+ """
+ super(AmlOperationListResult, self).__init__(**kwargs)
+ self.value = value
+
+
+class IdentityConfiguration(msrest.serialization.Model):
+ """Base definition for identity configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AmlToken, ManagedIdentity, UserIdentity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'identity_type': {'AMLToken': 'AmlToken', 'Managed': 'ManagedIdentity', 'UserIdentity': 'UserIdentity'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(IdentityConfiguration, self).__init__(**kwargs)
+ self.identity_type = None # type: Optional[str]
+
+
+class AmlToken(IdentityConfiguration):
+ """AML Token identity configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AmlToken, self).__init__(**kwargs)
+ self.identity_type = 'AMLToken' # type: str
+
+
+class AmlUserFeature(msrest.serialization.Model):
+ """Features enabled for a workspace.
+
+ :ivar id: Specifies the feature ID.
+ :vartype id: str
+ :ivar display_name: Specifies the feature name.
+ :vartype display_name: str
+ :ivar description: Describes the feature for user experience.
+ :vartype description: str
+ """
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword id: Specifies the feature ID.
+ :paramtype id: str
+ :keyword display_name: Specifies the feature name.
+ :paramtype display_name: str
+ :keyword description: Describes the feature for user experience.
+ :paramtype description: str
+ """
+ super(AmlUserFeature, self).__init__(**kwargs)
+ self.id = id
+ self.display_name = display_name
+ self.description = description
+
+
+class ResourceBase(msrest.serialization.Model):
+ """ResourceBase.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ """
+ super(ResourceBase, self).__init__(**kwargs)
+ self.description = description
+ self.properties = properties
+ self.tags = tags
+
+
+class AssetBase(ResourceBase):
+ """AssetBase.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(AssetBase, self).__init__(description=description, properties=properties, tags=tags, **kwargs)
+ self.is_anonymous = is_anonymous
+ self.is_archived = is_archived
+
+
+class AssetContainer(ResourceBase):
+ """AssetContainer.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(AssetContainer, self).__init__(description=description, properties=properties, tags=tags, **kwargs)
+ self.is_archived = is_archived
+ self.latest_version = None
+ self.next_version = None
+
+
+class AssetJobInput(msrest.serialization.Model):
+ """Asset input type.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ """
+ super(AssetJobInput, self).__init__(**kwargs)
+ self.mode = mode
+ self.uri = uri
+
+
+class AssetJobOutput(msrest.serialization.Model):
+ """Asset output type.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ """
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ """
+ super(AssetJobOutput, self).__init__(**kwargs)
+ self.mode = mode
+ self.uri = uri
+
+
+class AssetReferenceBase(msrest.serialization.Model):
+ """Base definition for asset references.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: DataPathAssetReference, IdAssetReference, OutputPathAssetReference.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'reference_type': {'DataPath': 'DataPathAssetReference', 'Id': 'IdAssetReference', 'OutputPath': 'OutputPathAssetReference'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AssetReferenceBase, self).__init__(**kwargs)
+ self.reference_type = None # type: Optional[str]
+
+
+class AssignedUser(msrest.serialization.Model):
+ """A user that can be assigned to a compute instance.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar object_id: Required. User�s AAD Object Id.
+ :vartype object_id: str
+ :ivar tenant_id: Required. User�s AAD Tenant Id.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ 'object_id': {'required': True},
+ 'tenant_id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'object_id': {'key': 'objectId', 'type': 'str'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ object_id: str,
+ tenant_id: str,
+ **kwargs
+ ):
+ """
+ :keyword object_id: Required. User�s AAD Object Id.
+ :paramtype object_id: str
+ :keyword tenant_id: Required. User�s AAD Tenant Id.
+ :paramtype tenant_id: str
+ """
+ super(AssignedUser, self).__init__(**kwargs)
+ self.object_id = object_id
+ self.tenant_id = tenant_id
+
+
+class ForecastHorizon(msrest.serialization.Model):
+ """The desired maximum forecast horizon in units of time-series frequency.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoForecastHorizon, CustomForecastHorizon.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set forecast horizon value selection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.ForecastHorizonMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoForecastHorizon', 'Custom': 'CustomForecastHorizon'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ForecastHorizon, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoForecastHorizon(ForecastHorizon):
+ """Forecast horizon determined automatically by system.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set forecast horizon value selection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.ForecastHorizonMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoForecastHorizon, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class JobBaseProperties(ResourceBase):
+ """Base definition for a job.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoMLJob, CommandJob, PipelineJob, SweepJob.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'job_type': {'AutoML': 'AutoMLJob', 'Command': 'CommandJob', 'Pipeline': 'PipelineJob', 'Sweep': 'SweepJob'}
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ component_id: Optional[str] = None,
+ compute_id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ experiment_name: Optional[str] = "Default",
+ identity: Optional["IdentityConfiguration"] = None,
+ is_archived: Optional[bool] = False,
+ services: Optional[Dict[str, "JobService"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ """
+ super(JobBaseProperties, self).__init__(description=description, properties=properties, tags=tags, **kwargs)
+ self.component_id = component_id
+ self.compute_id = compute_id
+ self.display_name = display_name
+ self.experiment_name = experiment_name
+ self.identity = identity
+ self.is_archived = is_archived
+ self.job_type = 'JobBaseProperties' # type: str
+ self.services = services
+ self.status = None
+
+
+class AutoMLJob(JobBaseProperties):
+ """AutoMLJob class.
+Use this class for executing AutoML tasks like Classification/Regression etc.
+See TaskType enum for all the tasks supported.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar environment_id: The ARM resource ID of the Environment specification for the job.
+ This is optional value to provide, if not provided, AutoML will default this to Production
+ AutoML curated environment version when running the job.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables included in the job.
+ :vartype environment_variables: dict[str, str]
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ :ivar task_details: Required. [Required] This represents scenario which can be one of
+ Tables/NLP/Image.
+ :vartype task_details: ~azure.mgmt.machinelearningservices.models.AutoMLVertical
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ 'task_details': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'resources': {'key': 'resources', 'type': 'JobResourceConfiguration'},
+ 'task_details': {'key': 'taskDetails', 'type': 'AutoMLVertical'},
+ }
+
+ def __init__(
+ self,
+ *,
+ task_details: "AutoMLVertical",
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ component_id: Optional[str] = None,
+ compute_id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ experiment_name: Optional[str] = "Default",
+ identity: Optional["IdentityConfiguration"] = None,
+ is_archived: Optional[bool] = False,
+ services: Optional[Dict[str, "JobService"]] = None,
+ environment_id: Optional[str] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ outputs: Optional[Dict[str, "JobOutput"]] = None,
+ resources: Optional["JobResourceConfiguration"] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword environment_id: The ARM resource ID of the Environment specification for the job.
+ This is optional value to provide, if not provided, AutoML will default this to Production
+ AutoML curated environment version when running the job.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables included in the job.
+ :paramtype environment_variables: dict[str, str]
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ :keyword task_details: Required. [Required] This represents scenario which can be one of
+ Tables/NLP/Image.
+ :paramtype task_details: ~azure.mgmt.machinelearningservices.models.AutoMLVertical
+ """
+ super(AutoMLJob, self).__init__(description=description, properties=properties, tags=tags, component_id=component_id, compute_id=compute_id, display_name=display_name, experiment_name=experiment_name, identity=identity, is_archived=is_archived, services=services, **kwargs)
+ self.job_type = 'AutoML' # type: str
+ self.environment_id = environment_id
+ self.environment_variables = environment_variables
+ self.outputs = outputs
+ self.resources = resources
+ self.task_details = task_details
+
+
+class AutoMLVertical(msrest.serialization.Model):
+ """AutoML vertical class.
+Base class for AutoML verticals - TableVertical/ImageVertical/NLPVertical.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: Classification, Forecasting, ImageClassification, ImageClassificationMultilabel, ImageInstanceSegmentation, ImageObjectDetection, Regression, TextClassification, TextClassificationMultilabel, TextNer.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ }
+
+ _subtype_map = {
+ 'task_type': {'Classification': 'Classification', 'Forecasting': 'Forecasting', 'ImageClassification': 'ImageClassification', 'ImageClassificationMultilabel': 'ImageClassificationMultilabel', 'ImageInstanceSegmentation': 'ImageInstanceSegmentation', 'ImageObjectDetection': 'ImageObjectDetection', 'Regression': 'Regression', 'TextClassification': 'TextClassification', 'TextClassificationMultilabel': 'TextClassificationMultilabel', 'TextNER': 'TextNer'}
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(AutoMLVertical, self).__init__(**kwargs)
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.task_type = None # type: Optional[str]
+ self.training_data = training_data
+
+
+class NCrossValidations(msrest.serialization.Model):
+ """N-Cross validations value.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoNCrossValidations, CustomNCrossValidations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Mode for determining N-Cross validations.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.NCrossValidationsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoNCrossValidations', 'Custom': 'CustomNCrossValidations'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NCrossValidations, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoNCrossValidations(NCrossValidations):
+ """N-Cross validations determined automatically.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Mode for determining N-Cross validations.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.NCrossValidationsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoNCrossValidations, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class AutoPauseProperties(msrest.serialization.Model):
+ """Auto pause properties.
+
+ :ivar delay_in_minutes:
+ :vartype delay_in_minutes: int
+ :ivar enabled:
+ :vartype enabled: bool
+ """
+
+ _attribute_map = {
+ 'delay_in_minutes': {'key': 'delayInMinutes', 'type': 'int'},
+ 'enabled': {'key': 'enabled', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ delay_in_minutes: Optional[int] = None,
+ enabled: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword delay_in_minutes:
+ :paramtype delay_in_minutes: int
+ :keyword enabled:
+ :paramtype enabled: bool
+ """
+ super(AutoPauseProperties, self).__init__(**kwargs)
+ self.delay_in_minutes = delay_in_minutes
+ self.enabled = enabled
+
+
+class AutoScaleProperties(msrest.serialization.Model):
+ """Auto scale properties.
+
+ :ivar min_node_count:
+ :vartype min_node_count: int
+ :ivar enabled:
+ :vartype enabled: bool
+ :ivar max_node_count:
+ :vartype max_node_count: int
+ """
+
+ _attribute_map = {
+ 'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
+ 'enabled': {'key': 'enabled', 'type': 'bool'},
+ 'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ min_node_count: Optional[int] = None,
+ enabled: Optional[bool] = None,
+ max_node_count: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword min_node_count:
+ :paramtype min_node_count: int
+ :keyword enabled:
+ :paramtype enabled: bool
+ :keyword max_node_count:
+ :paramtype max_node_count: int
+ """
+ super(AutoScaleProperties, self).__init__(**kwargs)
+ self.min_node_count = min_node_count
+ self.enabled = enabled
+ self.max_node_count = max_node_count
+
+
+class Seasonality(msrest.serialization.Model):
+ """Forecasting seasonality.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoSeasonality, CustomSeasonality.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Seasonality mode.Constant filled by server. Possible values
+ include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.SeasonalityMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoSeasonality', 'Custom': 'CustomSeasonality'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Seasonality, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoSeasonality(Seasonality):
+ """AutoSeasonality.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Seasonality mode.Constant filled by server. Possible values
+ include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.SeasonalityMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoSeasonality, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class TargetLags(msrest.serialization.Model):
+ """The number of past periods to lag from the target column.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoTargetLags, CustomTargetLags.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set target lags mode - Auto/Custom.Constant filled by server.
+ Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetLagsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoTargetLags', 'Custom': 'CustomTargetLags'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(TargetLags, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoTargetLags(TargetLags):
+ """AutoTargetLags.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set target lags mode - Auto/Custom.Constant filled by server.
+ Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetLagsMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoTargetLags, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class TargetRollingWindowSize(msrest.serialization.Model):
+ """Forecasting target rolling window size.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AutoTargetRollingWindowSize, CustomTargetRollingWindowSize.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] TargetRollingWindowSiz detection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSizeMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'mode': {'Auto': 'AutoTargetRollingWindowSize', 'Custom': 'CustomTargetRollingWindowSize'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(TargetRollingWindowSize, self).__init__(**kwargs)
+ self.mode = None # type: Optional[str]
+
+
+class AutoTargetRollingWindowSize(TargetRollingWindowSize):
+ """Target lags rolling window determined automatically.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] TargetRollingWindowSiz detection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSizeMode
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(AutoTargetRollingWindowSize, self).__init__(**kwargs)
+ self.mode = 'Auto' # type: str
+
+
+class DatastoreProperties(ResourceBase):
+ """Base definition for datastore contents configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: AzureBlobDatastore, AzureDataLakeGen1Datastore, AzureDataLakeGen2Datastore, AzureFileDatastore.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ }
+
+ _subtype_map = {
+ 'datastore_type': {'AzureBlob': 'AzureBlobDatastore', 'AzureDataLakeGen1': 'AzureDataLakeGen1Datastore', 'AzureDataLakeGen2': 'AzureDataLakeGen2Datastore', 'AzureFile': 'AzureFileDatastore'}
+ }
+
+ def __init__(
+ self,
+ *,
+ credentials: "DatastoreCredentials",
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ """
+ super(DatastoreProperties, self).__init__(description=description, properties=properties, tags=tags, **kwargs)
+ self.credentials = credentials
+ self.datastore_type = 'DatastoreProperties' # type: str
+ self.is_default = None
+
+
+class AzureBlobDatastore(DatastoreProperties):
+ """Azure Blob datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar account_name: Storage account name.
+ :vartype account_name: str
+ :ivar container_name: Storage account container name.
+ :vartype container_name: str
+ :ivar endpoint: Azure cloud endpoint for the storage account.
+ :vartype endpoint: str
+ :ivar protocol: Protocol used to communicate with the storage account.
+ :vartype protocol: str
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'account_name': {'key': 'accountName', 'type': 'str'},
+ 'container_name': {'key': 'containerName', 'type': 'str'},
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'protocol': {'key': 'protocol', 'type': 'str'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ credentials: "DatastoreCredentials",
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ account_name: Optional[str] = None,
+ container_name: Optional[str] = None,
+ endpoint: Optional[str] = None,
+ protocol: Optional[str] = None,
+ service_data_access_auth_identity: Optional[Union[str, "ServiceDataAccessAuthIdentity"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword account_name: Storage account name.
+ :paramtype account_name: str
+ :keyword container_name: Storage account container name.
+ :paramtype container_name: str
+ :keyword endpoint: Azure cloud endpoint for the storage account.
+ :paramtype endpoint: str
+ :keyword protocol: Protocol used to communicate with the storage account.
+ :paramtype protocol: str
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+ super(AzureBlobDatastore, self).__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ self.datastore_type = 'AzureBlob' # type: str
+ self.account_name = account_name
+ self.container_name = container_name
+ self.endpoint = endpoint
+ self.protocol = protocol
+ self.service_data_access_auth_identity = service_data_access_auth_identity
+
+
+class AzureDataLakeGen1Datastore(DatastoreProperties):
+ """Azure Data Lake Gen1 datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ :ivar store_name: Required. [Required] Azure Data Lake store name.
+ :vartype store_name: str
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ 'store_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ 'store_name': {'key': 'storeName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ credentials: "DatastoreCredentials",
+ store_name: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ service_data_access_auth_identity: Optional[Union[str, "ServiceDataAccessAuthIdentity"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ :keyword store_name: Required. [Required] Azure Data Lake store name.
+ :paramtype store_name: str
+ """
+ super(AzureDataLakeGen1Datastore, self).__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ self.datastore_type = 'AzureDataLakeGen1' # type: str
+ self.service_data_access_auth_identity = service_data_access_auth_identity
+ self.store_name = store_name
+
+
+class AzureDataLakeGen2Datastore(DatastoreProperties):
+ """Azure Data Lake Gen2 datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar account_name: Required. [Required] Storage account name.
+ :vartype account_name: str
+ :ivar endpoint: Azure cloud endpoint for the storage account.
+ :vartype endpoint: str
+ :ivar filesystem: Required. [Required] The name of the Data Lake Gen2 filesystem.
+ :vartype filesystem: str
+ :ivar protocol: Protocol used to communicate with the storage account.
+ :vartype protocol: str
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ 'account_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'filesystem': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'account_name': {'key': 'accountName', 'type': 'str'},
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'filesystem': {'key': 'filesystem', 'type': 'str'},
+ 'protocol': {'key': 'protocol', 'type': 'str'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ credentials: "DatastoreCredentials",
+ account_name: str,
+ filesystem: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ endpoint: Optional[str] = None,
+ protocol: Optional[str] = None,
+ service_data_access_auth_identity: Optional[Union[str, "ServiceDataAccessAuthIdentity"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword account_name: Required. [Required] Storage account name.
+ :paramtype account_name: str
+ :keyword endpoint: Azure cloud endpoint for the storage account.
+ :paramtype endpoint: str
+ :keyword filesystem: Required. [Required] The name of the Data Lake Gen2 filesystem.
+ :paramtype filesystem: str
+ :keyword protocol: Protocol used to communicate with the storage account.
+ :paramtype protocol: str
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+ super(AzureDataLakeGen2Datastore, self).__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ self.datastore_type = 'AzureDataLakeGen2' # type: str
+ self.account_name = account_name
+ self.endpoint = endpoint
+ self.filesystem = filesystem
+ self.protocol = protocol
+ self.service_data_access_auth_identity = service_data_access_auth_identity
+
+
+class AzureFileDatastore(DatastoreProperties):
+ """Azure File datastore configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: Required. [Required] Account credentials.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: Required. [Required] Storage type backing the datastore.Constant filled
+ by server. Possible values include: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2",
+ "AzureFile".
+ :vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
+ :ivar is_default: Readonly property to indicate if datastore is the workspace default
+ datastore.
+ :vartype is_default: bool
+ :ivar account_name: Required. [Required] Storage account name.
+ :vartype account_name: str
+ :ivar endpoint: Azure cloud endpoint for the storage account.
+ :vartype endpoint: str
+ :ivar file_share_name: Required. [Required] The name of the Azure file share that the datastore
+ points to.
+ :vartype file_share_name: str
+ :ivar protocol: Protocol used to communicate with the storage account.
+ :vartype protocol: str
+ :ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :vartype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+
+ _validation = {
+ 'credentials': {'required': True},
+ 'datastore_type': {'required': True},
+ 'is_default': {'readonly': True},
+ 'account_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'file_share_name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'credentials': {'key': 'credentials', 'type': 'DatastoreCredentials'},
+ 'datastore_type': {'key': 'datastoreType', 'type': 'str'},
+ 'is_default': {'key': 'isDefault', 'type': 'bool'},
+ 'account_name': {'key': 'accountName', 'type': 'str'},
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'file_share_name': {'key': 'fileShareName', 'type': 'str'},
+ 'protocol': {'key': 'protocol', 'type': 'str'},
+ 'service_data_access_auth_identity': {'key': 'serviceDataAccessAuthIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ credentials: "DatastoreCredentials",
+ account_name: str,
+ file_share_name: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ endpoint: Optional[str] = None,
+ protocol: Optional[str] = None,
+ service_data_access_auth_identity: Optional[Union[str, "ServiceDataAccessAuthIdentity"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: Required. [Required] Account credentials.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword account_name: Required. [Required] Storage account name.
+ :paramtype account_name: str
+ :keyword endpoint: Azure cloud endpoint for the storage account.
+ :paramtype endpoint: str
+ :keyword file_share_name: Required. [Required] The name of the Azure file share that the
+ datastore points to.
+ :paramtype file_share_name: str
+ :keyword protocol: Protocol used to communicate with the storage account.
+ :paramtype protocol: str
+ :keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
+ service data access to customer's storage. Possible values include: "None",
+ "WorkspaceSystemAssignedIdentity", "WorkspaceUserAssignedIdentity".
+ :paramtype service_data_access_auth_identity: str or
+ ~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
+ """
+ super(AzureFileDatastore, self).__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ self.datastore_type = 'AzureFile' # type: str
+ self.account_name = account_name
+ self.endpoint = endpoint
+ self.file_share_name = file_share_name
+ self.protocol = protocol
+ self.service_data_access_auth_identity = service_data_access_auth_identity
+
+
+class EarlyTerminationPolicy(msrest.serialization.Model):
+ """Early termination policies enable canceling poor-performing runs before they complete.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'policy_type': {'Bandit': 'BanditPolicy', 'MedianStopping': 'MedianStoppingPolicy', 'TruncationSelection': 'TruncationSelectionPolicy'}
+ }
+
+ def __init__(
+ self,
+ *,
+ delay_evaluation: Optional[int] = 0,
+ evaluation_interval: Optional[int] = 0,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ """
+ super(EarlyTerminationPolicy, self).__init__(**kwargs)
+ self.delay_evaluation = delay_evaluation
+ self.evaluation_interval = evaluation_interval
+ self.policy_type = None # type: Optional[str]
+
+
+class BanditPolicy(EarlyTerminationPolicy):
+ """Defines an early termination policy based on slack criteria, and a frequency and delay interval for evaluation.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ :ivar slack_amount: Absolute distance allowed from the best performing run.
+ :vartype slack_amount: float
+ :ivar slack_factor: Ratio of the allowed distance from the best performing run.
+ :vartype slack_factor: float
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ 'slack_amount': {'key': 'slackAmount', 'type': 'float'},
+ 'slack_factor': {'key': 'slackFactor', 'type': 'float'},
+ }
+
+ def __init__(
+ self,
+ *,
+ delay_evaluation: Optional[int] = 0,
+ evaluation_interval: Optional[int] = 0,
+ slack_amount: Optional[float] = 0,
+ slack_factor: Optional[float] = 0,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ :keyword slack_amount: Absolute distance allowed from the best performing run.
+ :paramtype slack_amount: float
+ :keyword slack_factor: Ratio of the allowed distance from the best performing run.
+ :paramtype slack_factor: float
+ """
+ super(BanditPolicy, self).__init__(delay_evaluation=delay_evaluation, evaluation_interval=evaluation_interval, **kwargs)
+ self.policy_type = 'Bandit' # type: str
+ self.slack_amount = slack_amount
+ self.slack_factor = slack_factor
+
+
+class Resource(msrest.serialization.Model):
+ """Common fields that are returned in the response for all Azure Resource Manager resources.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Resource, self).__init__(**kwargs)
+ self.id = None
+ self.name = None
+ self.type = None
+ self.system_data = None
+
+
+class TrackedResource(Resource):
+ """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ """
+ super(TrackedResource, self).__init__(**kwargs)
+ self.tags = tags
+ self.location = location
+
+
+class BatchDeployment(TrackedResource):
+ """BatchDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.BatchDeploymentProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'BatchDeploymentProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ properties: "BatchDeploymentProperties",
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ kind: Optional[str] = None,
+ sku: Optional["Sku"] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.BatchDeploymentProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(BatchDeployment, self).__init__(tags=tags, location=location, **kwargs)
+ self.identity = identity
+ self.kind = kind
+ self.properties = properties
+ self.sku = sku
+
+
+class EndpointDeploymentPropertiesBase(msrest.serialization.Model):
+ """Base definition for endpoint deployment.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["CodeConfiguration"] = None,
+ description: Optional[str] = None,
+ environment_id: Optional[str] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ properties: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ """
+ super(EndpointDeploymentPropertiesBase, self).__init__(**kwargs)
+ self.code_configuration = code_configuration
+ self.description = description
+ self.environment_id = environment_id
+ self.environment_variables = environment_variables
+ self.properties = properties
+
+
+class BatchDeploymentProperties(EndpointDeploymentPropertiesBase):
+ """Batch inference settings per deployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar compute: Compute target for batch inference operation.
+ :vartype compute: str
+ :ivar error_threshold: Error threshold, if the error count for the entire input goes above this
+ value,
+ the batch inference will be aborted. Range is [-1, int.MaxValue].
+ For FileDataset, this value is the count of file failures.
+ For TabularDataset, this value is the count of record failures.
+ If set to -1 (the lower bound), all failures during batch inference will be ignored.
+ :vartype error_threshold: int
+ :ivar logging_level: Logging level for batch inference operation. Possible values include:
+ "Info", "Warning", "Debug".
+ :vartype logging_level: str or ~azure.mgmt.machinelearningservices.models.BatchLoggingLevel
+ :ivar max_concurrency_per_instance: Indicates maximum number of parallelism per instance.
+ :vartype max_concurrency_per_instance: int
+ :ivar mini_batch_size: Size of the mini-batch passed to each batch invocation.
+ For FileDataset, this is the number of files per mini-batch.
+ For TabularDataset, this is the size of the records in bytes, per mini-batch.
+ :vartype mini_batch_size: long
+ :ivar model: Reference to the model asset for the endpoint deployment.
+ :vartype model: ~azure.mgmt.machinelearningservices.models.AssetReferenceBase
+ :ivar output_action: Indicates how the output will be organized. Possible values include:
+ "SummaryOnly", "AppendRow".
+ :vartype output_action: str or ~azure.mgmt.machinelearningservices.models.BatchOutputAction
+ :ivar output_file_name: Customized output file name for append_row output action.
+ :vartype output_file_name: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar resources: Indicates compute configuration for the job.
+ If not provided, will default to the defaults defined in ResourceConfiguration.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.DeploymentResourceConfiguration
+ :ivar retry_settings: Retry Settings for the batch inference operation.
+ If not provided, will default to the defaults defined in BatchRetrySettings.
+ :vartype retry_settings: ~azure.mgmt.machinelearningservices.models.BatchRetrySettings
+ """
+
+ _validation = {
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'compute': {'key': 'compute', 'type': 'str'},
+ 'error_threshold': {'key': 'errorThreshold', 'type': 'int'},
+ 'logging_level': {'key': 'loggingLevel', 'type': 'str'},
+ 'max_concurrency_per_instance': {'key': 'maxConcurrencyPerInstance', 'type': 'int'},
+ 'mini_batch_size': {'key': 'miniBatchSize', 'type': 'long'},
+ 'model': {'key': 'model', 'type': 'AssetReferenceBase'},
+ 'output_action': {'key': 'outputAction', 'type': 'str'},
+ 'output_file_name': {'key': 'outputFileName', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'resources': {'key': 'resources', 'type': 'DeploymentResourceConfiguration'},
+ 'retry_settings': {'key': 'retrySettings', 'type': 'BatchRetrySettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["CodeConfiguration"] = None,
+ description: Optional[str] = None,
+ environment_id: Optional[str] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ properties: Optional[Dict[str, str]] = None,
+ compute: Optional[str] = None,
+ error_threshold: Optional[int] = -1,
+ logging_level: Optional[Union[str, "BatchLoggingLevel"]] = None,
+ max_concurrency_per_instance: Optional[int] = 1,
+ mini_batch_size: Optional[int] = 10,
+ model: Optional["AssetReferenceBase"] = None,
+ output_action: Optional[Union[str, "BatchOutputAction"]] = None,
+ output_file_name: Optional[str] = "predictions.csv",
+ resources: Optional["DeploymentResourceConfiguration"] = None,
+ retry_settings: Optional["BatchRetrySettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword compute: Compute target for batch inference operation.
+ :paramtype compute: str
+ :keyword error_threshold: Error threshold, if the error count for the entire input goes above
+ this value,
+ the batch inference will be aborted. Range is [-1, int.MaxValue].
+ For FileDataset, this value is the count of file failures.
+ For TabularDataset, this value is the count of record failures.
+ If set to -1 (the lower bound), all failures during batch inference will be ignored.
+ :paramtype error_threshold: int
+ :keyword logging_level: Logging level for batch inference operation. Possible values include:
+ "Info", "Warning", "Debug".
+ :paramtype logging_level: str or ~azure.mgmt.machinelearningservices.models.BatchLoggingLevel
+ :keyword max_concurrency_per_instance: Indicates maximum number of parallelism per instance.
+ :paramtype max_concurrency_per_instance: int
+ :keyword mini_batch_size: Size of the mini-batch passed to each batch invocation.
+ For FileDataset, this is the number of files per mini-batch.
+ For TabularDataset, this is the size of the records in bytes, per mini-batch.
+ :paramtype mini_batch_size: long
+ :keyword model: Reference to the model asset for the endpoint deployment.
+ :paramtype model: ~azure.mgmt.machinelearningservices.models.AssetReferenceBase
+ :keyword output_action: Indicates how the output will be organized. Possible values include:
+ "SummaryOnly", "AppendRow".
+ :paramtype output_action: str or ~azure.mgmt.machinelearningservices.models.BatchOutputAction
+ :keyword output_file_name: Customized output file name for append_row output action.
+ :paramtype output_file_name: str
+ :keyword resources: Indicates compute configuration for the job.
+ If not provided, will default to the defaults defined in ResourceConfiguration.
+ :paramtype resources:
+ ~azure.mgmt.machinelearningservices.models.DeploymentResourceConfiguration
+ :keyword retry_settings: Retry Settings for the batch inference operation.
+ If not provided, will default to the defaults defined in BatchRetrySettings.
+ :paramtype retry_settings: ~azure.mgmt.machinelearningservices.models.BatchRetrySettings
+ """
+ super(BatchDeploymentProperties, self).__init__(code_configuration=code_configuration, description=description, environment_id=environment_id, environment_variables=environment_variables, properties=properties, **kwargs)
+ self.compute = compute
+ self.error_threshold = error_threshold
+ self.logging_level = logging_level
+ self.max_concurrency_per_instance = max_concurrency_per_instance
+ self.mini_batch_size = mini_batch_size
+ self.model = model
+ self.output_action = output_action
+ self.output_file_name = output_file_name
+ self.provisioning_state = None
+ self.resources = resources
+ self.retry_settings = retry_settings
+
+
+class BatchDeploymentTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of BatchDeployment entities.
+
+ :ivar next_link: The link to the next page of BatchDeployment objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type BatchDeployment.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[BatchDeployment]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["BatchDeployment"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of BatchDeployment objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type BatchDeployment.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ """
+ super(BatchDeploymentTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class BatchEndpoint(TrackedResource):
+ """BatchEndpoint.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.BatchEndpointProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'BatchEndpointProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ properties: "BatchEndpointProperties",
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ kind: Optional[str] = None,
+ sku: Optional["Sku"] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.BatchEndpointProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(BatchEndpoint, self).__init__(tags=tags, location=location, **kwargs)
+ self.identity = identity
+ self.kind = kind
+ self.properties = properties
+ self.sku = sku
+
+
+class BatchEndpointDefaults(msrest.serialization.Model):
+ """Batch endpoint default values.
+
+ :ivar deployment_name: Name of the deployment that will be default for the endpoint.
+ This deployment will end up getting 100% traffic when the endpoint scoring URL is invoked.
+ :vartype deployment_name: str
+ """
+
+ _attribute_map = {
+ 'deployment_name': {'key': 'deploymentName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ deployment_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword deployment_name: Name of the deployment that will be default for the endpoint.
+ This deployment will end up getting 100% traffic when the endpoint scoring URL is invoked.
+ :paramtype deployment_name: str
+ """
+ super(BatchEndpointDefaults, self).__init__(**kwargs)
+ self.deployment_name = deployment_name
+
+
+class EndpointPropertiesBase(msrest.serialization.Model):
+ """Inference Endpoint base definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken' for
+ Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
+ Possible values include: "AMLToken", "Key", "AADToken".
+ :vartype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :ivar description: Description of the inference endpoint.
+ :vartype description: str
+ :ivar keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :vartype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar scoring_uri: Endpoint URI.
+ :vartype scoring_uri: str
+ :ivar swagger_uri: Endpoint Swagger URI.
+ :vartype swagger_uri: str
+ """
+
+ _validation = {
+ 'auth_mode': {'required': True},
+ 'scoring_uri': {'readonly': True},
+ 'swagger_uri': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'auth_mode': {'key': 'authMode', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'keys': {'key': 'keys', 'type': 'EndpointAuthKeys'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
+ 'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ auth_mode: Union[str, "EndpointAuthMode"],
+ description: Optional[str] = None,
+ keys: Optional["EndpointAuthKeys"] = None,
+ properties: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken'
+ for Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken'
+ does. Possible values include: "AMLToken", "Key", "AADToken".
+ :paramtype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :keyword description: Description of the inference endpoint.
+ :paramtype description: str
+ :keyword keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :paramtype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ """
+ super(EndpointPropertiesBase, self).__init__(**kwargs)
+ self.auth_mode = auth_mode
+ self.description = description
+ self.keys = keys
+ self.properties = properties
+ self.scoring_uri = None
+ self.swagger_uri = None
+
+
+class BatchEndpointProperties(EndpointPropertiesBase):
+ """Batch endpoint configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken' for
+ Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
+ Possible values include: "AMLToken", "Key", "AADToken".
+ :vartype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :ivar description: Description of the inference endpoint.
+ :vartype description: str
+ :ivar keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :vartype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar scoring_uri: Endpoint URI.
+ :vartype scoring_uri: str
+ :ivar swagger_uri: Endpoint Swagger URI.
+ :vartype swagger_uri: str
+ :ivar defaults: Default values for Batch Endpoint.
+ :vartype defaults: ~azure.mgmt.machinelearningservices.models.BatchEndpointDefaults
+ :ivar provisioning_state: Provisioning state for the endpoint. Possible values include:
+ "Creating", "Deleting", "Succeeded", "Failed", "Updating", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointProvisioningState
+ """
+
+ _validation = {
+ 'auth_mode': {'required': True},
+ 'scoring_uri': {'readonly': True},
+ 'swagger_uri': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'auth_mode': {'key': 'authMode', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'keys': {'key': 'keys', 'type': 'EndpointAuthKeys'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
+ 'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
+ 'defaults': {'key': 'defaults', 'type': 'BatchEndpointDefaults'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ auth_mode: Union[str, "EndpointAuthMode"],
+ description: Optional[str] = None,
+ keys: Optional["EndpointAuthKeys"] = None,
+ properties: Optional[Dict[str, str]] = None,
+ defaults: Optional["BatchEndpointDefaults"] = None,
+ **kwargs
+ ):
+ """
+ :keyword auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken'
+ for Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken'
+ does. Possible values include: "AMLToken", "Key", "AADToken".
+ :paramtype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :keyword description: Description of the inference endpoint.
+ :paramtype description: str
+ :keyword keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :paramtype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword defaults: Default values for Batch Endpoint.
+ :paramtype defaults: ~azure.mgmt.machinelearningservices.models.BatchEndpointDefaults
+ """
+ super(BatchEndpointProperties, self).__init__(auth_mode=auth_mode, description=description, keys=keys, properties=properties, **kwargs)
+ self.defaults = defaults
+ self.provisioning_state = None
+
+
+class BatchEndpointTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of BatchEndpoint entities.
+
+ :ivar next_link: The link to the next page of BatchEndpoint objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type BatchEndpoint.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[BatchEndpoint]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["BatchEndpoint"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of BatchEndpoint objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type BatchEndpoint.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ """
+ super(BatchEndpointTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class BatchRetrySettings(msrest.serialization.Model):
+ """Retry settings for a batch inference operation.
+
+ :ivar max_retries: Maximum retry count for a mini-batch.
+ :vartype max_retries: int
+ :ivar timeout: Invocation timeout for a mini-batch, in ISO 8601 format.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_retries': {'key': 'maxRetries', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ max_retries: Optional[int] = 3,
+ timeout: Optional[datetime.timedelta] = "PT30S",
+ **kwargs
+ ):
+ """
+ :keyword max_retries: Maximum retry count for a mini-batch.
+ :paramtype max_retries: int
+ :keyword timeout: Invocation timeout for a mini-batch, in ISO 8601 format.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(BatchRetrySettings, self).__init__(**kwargs)
+ self.max_retries = max_retries
+ self.timeout = timeout
+
+
+class SamplingAlgorithm(msrest.serialization.Model):
+ """The Sampling Algorithm used to generate hyperparameter values, along with properties to
+configure the algorithm.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: BayesianSamplingAlgorithm, GridSamplingAlgorithm, RandomSamplingAlgorithm.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'sampling_algorithm_type': {'Bayesian': 'BayesianSamplingAlgorithm', 'Grid': 'GridSamplingAlgorithm', 'Random': 'RandomSamplingAlgorithm'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(SamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = None # type: Optional[str]
+
+
+class BayesianSamplingAlgorithm(SamplingAlgorithm):
+ """Defines a Sampling Algorithm that generates values based on previous values.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(BayesianSamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = 'Bayesian' # type: str
+
+
+class BuildContext(msrest.serialization.Model):
+ """Configuration settings for Docker build context.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar context_uri: Required. [Required] URI of the Docker build context used to build the
+ image. Supports blob URIs on environment creation and may return blob or Git URIs.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://docs.docker.com/engine/reference/commandline/build/#extended-description" />.
+ :vartype context_uri: str
+ :ivar dockerfile_path: Path to the Dockerfile in the build context.
+
+
+ .. raw:: html
+
+ <seealso href="https://docs.docker.com/engine/reference/builder/" />.
+ :vartype dockerfile_path: str
+ """
+
+ _validation = {
+ 'context_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'context_uri': {'key': 'contextUri', 'type': 'str'},
+ 'dockerfile_path': {'key': 'dockerfilePath', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ context_uri: str,
+ dockerfile_path: Optional[str] = "Dockerfile",
+ **kwargs
+ ):
+ """
+ :keyword context_uri: Required. [Required] URI of the Docker build context used to build the
+ image. Supports blob URIs on environment creation and may return blob or Git URIs.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://docs.docker.com/engine/reference/commandline/build/#extended-description" />.
+ :paramtype context_uri: str
+ :keyword dockerfile_path: Path to the Dockerfile in the build context.
+
+
+ .. raw:: html
+
+ <seealso href="https://docs.docker.com/engine/reference/builder/" />.
+ :paramtype dockerfile_path: str
+ """
+ super(BuildContext, self).__init__(**kwargs)
+ self.context_uri = context_uri
+ self.dockerfile_path = dockerfile_path
+
+
+class CertificateDatastoreCredentials(DatastoreCredentials):
+ """Certificate datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar authority_url: Authority URL used for authentication.
+ :vartype authority_url: str
+ :ivar client_id: Required. [Required] Service principal client ID.
+ :vartype client_id: str
+ :ivar resource_url: Resource the service principal has access to.
+ :vartype resource_url: str
+ :ivar secrets: Required. [Required] Service principal secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.CertificateDatastoreSecrets
+ :ivar tenant_id: Required. [Required] ID of the tenant to which the service principal belongs.
+ :vartype tenant_id: str
+ :ivar thumbprint: Required. [Required] Thumbprint of the certificate used for authentication.
+ :vartype thumbprint: str
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'client_id': {'required': True},
+ 'secrets': {'required': True},
+ 'tenant_id': {'required': True},
+ 'thumbprint': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'authority_url': {'key': 'authorityUrl', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ 'resource_url': {'key': 'resourceUrl', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'CertificateDatastoreSecrets'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ 'thumbprint': {'key': 'thumbprint', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_id: str,
+ secrets: "CertificateDatastoreSecrets",
+ tenant_id: str,
+ thumbprint: str,
+ authority_url: Optional[str] = None,
+ resource_url: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword authority_url: Authority URL used for authentication.
+ :paramtype authority_url: str
+ :keyword client_id: Required. [Required] Service principal client ID.
+ :paramtype client_id: str
+ :keyword resource_url: Resource the service principal has access to.
+ :paramtype resource_url: str
+ :keyword secrets: Required. [Required] Service principal secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.CertificateDatastoreSecrets
+ :keyword tenant_id: Required. [Required] ID of the tenant to which the service principal
+ belongs.
+ :paramtype tenant_id: str
+ :keyword thumbprint: Required. [Required] Thumbprint of the certificate used for
+ authentication.
+ :paramtype thumbprint: str
+ """
+ super(CertificateDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'Certificate' # type: str
+ self.authority_url = authority_url
+ self.client_id = client_id
+ self.resource_url = resource_url
+ self.secrets = secrets
+ self.tenant_id = tenant_id
+ self.thumbprint = thumbprint
+
+
+class CertificateDatastoreSecrets(DatastoreSecrets):
+ """Datastore certificate secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar certificate: Service principal certificate.
+ :vartype certificate: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'certificate': {'key': 'certificate', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ certificate: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword certificate: Service principal certificate.
+ :paramtype certificate: str
+ """
+ super(CertificateDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'Certificate' # type: str
+ self.certificate = certificate
+
+
+class TableVertical(msrest.serialization.Model):
+ """Abstract class for AutoML tasks that use table dataset as input - such as Classification/Regression/Forecasting.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ """
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ cv_split_column_names: Optional[List[str]] = None,
+ featurization_settings: Optional["TableVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["TableVerticalLimitSettings"] = None,
+ n_cross_validations: Optional["NCrossValidations"] = None,
+ test_data: Optional["MLTableJobInput"] = None,
+ test_data_size: Optional[float] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ weight_column_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ """
+ super(TableVertical, self).__init__(**kwargs)
+ self.cv_split_column_names = cv_split_column_names
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.n_cross_validations = n_cross_validations
+ self.test_data = test_data
+ self.test_data_size = test_data_size
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.weight_column_name = weight_column_name
+
+
+class Classification(AutoMLVertical, TableVertical):
+ """Classification task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar positive_label: Positive label for binary metrics calculation.
+ :vartype positive_label: str
+ :ivar primary_metric: Primary metric for the task. Possible values include: "AUCWeighted",
+ "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :ivar training_settings: Inputs for training phase for an AutoML Job.
+ :vartype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ClassificationTrainingSettings
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'positive_label': {'key': 'positiveLabel', 'type': 'str'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ 'training_settings': {'key': 'trainingSettings', 'type': 'ClassificationTrainingSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ cv_split_column_names: Optional[List[str]] = None,
+ featurization_settings: Optional["TableVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["TableVerticalLimitSettings"] = None,
+ n_cross_validations: Optional["NCrossValidations"] = None,
+ test_data: Optional["MLTableJobInput"] = None,
+ test_data_size: Optional[float] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ weight_column_name: Optional[str] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ positive_label: Optional[str] = None,
+ primary_metric: Optional[Union[str, "ClassificationPrimaryMetrics"]] = None,
+ training_settings: Optional["ClassificationTrainingSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword positive_label: Positive label for binary metrics calculation.
+ :paramtype positive_label: str
+ :keyword primary_metric: Primary metric for the task. Possible values include: "AUCWeighted",
+ "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :keyword training_settings: Inputs for training phase for an AutoML Job.
+ :paramtype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ClassificationTrainingSettings
+ """
+ super(Classification, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, cv_split_column_names=cv_split_column_names, featurization_settings=featurization_settings, limit_settings=limit_settings, n_cross_validations=n_cross_validations, test_data=test_data, test_data_size=test_data_size, validation_data=validation_data, validation_data_size=validation_data_size, weight_column_name=weight_column_name, **kwargs)
+ self.cv_split_column_names = cv_split_column_names
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.n_cross_validations = n_cross_validations
+ self.test_data = test_data
+ self.test_data_size = test_data_size
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.weight_column_name = weight_column_name
+ self.task_type = 'Classification' # type: str
+ self.positive_label = positive_label
+ self.primary_metric = primary_metric
+ self.training_settings = training_settings
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class TrainingSettings(msrest.serialization.Model):
+ """Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ enable_dnn_training: Optional[bool] = False,
+ enable_model_explainability: Optional[bool] = True,
+ enable_onnx_compatible_models: Optional[bool] = False,
+ enable_stack_ensemble: Optional[bool] = True,
+ enable_vote_ensemble: Optional[bool] = True,
+ ensemble_model_download_timeout: Optional[datetime.timedelta] = "PT5M",
+ stack_ensemble_settings: Optional["StackEnsembleSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ """
+ super(TrainingSettings, self).__init__(**kwargs)
+ self.enable_dnn_training = enable_dnn_training
+ self.enable_model_explainability = enable_model_explainability
+ self.enable_onnx_compatible_models = enable_onnx_compatible_models
+ self.enable_stack_ensemble = enable_stack_ensemble
+ self.enable_vote_ensemble = enable_vote_ensemble
+ self.ensemble_model_download_timeout = ensemble_model_download_timeout
+ self.stack_ensemble_settings = stack_ensemble_settings
+
+
+class ClassificationTrainingSettings(TrainingSettings):
+ """Classification Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar allowed_training_algorithms: Allowed models for classification task.
+ :vartype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ :ivar blocked_training_algorithms: Blocked models for classification task.
+ :vartype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ 'allowed_training_algorithms': {'key': 'allowedTrainingAlgorithms', 'type': '[str]'},
+ 'blocked_training_algorithms': {'key': 'blockedTrainingAlgorithms', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ enable_dnn_training: Optional[bool] = False,
+ enable_model_explainability: Optional[bool] = True,
+ enable_onnx_compatible_models: Optional[bool] = False,
+ enable_stack_ensemble: Optional[bool] = True,
+ enable_vote_ensemble: Optional[bool] = True,
+ ensemble_model_download_timeout: Optional[datetime.timedelta] = "PT5M",
+ stack_ensemble_settings: Optional["StackEnsembleSettings"] = None,
+ allowed_training_algorithms: Optional[List[Union[str, "ClassificationModels"]]] = None,
+ blocked_training_algorithms: Optional[List[Union[str, "ClassificationModels"]]] = None,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword allowed_training_algorithms: Allowed models for classification task.
+ :paramtype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ :keyword blocked_training_algorithms: Blocked models for classification task.
+ :paramtype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationModels]
+ """
+ super(ClassificationTrainingSettings, self).__init__(enable_dnn_training=enable_dnn_training, enable_model_explainability=enable_model_explainability, enable_onnx_compatible_models=enable_onnx_compatible_models, enable_stack_ensemble=enable_stack_ensemble, enable_vote_ensemble=enable_vote_ensemble, ensemble_model_download_timeout=ensemble_model_download_timeout, stack_ensemble_settings=stack_ensemble_settings, **kwargs)
+ self.allowed_training_algorithms = allowed_training_algorithms
+ self.blocked_training_algorithms = blocked_training_algorithms
+
+
+class ClusterUpdateParameters(msrest.serialization.Model):
+ """AmlCompute update parameters.
+
+ :ivar properties: Properties of ClusterUpdate.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ScaleSettingsInformation
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties.properties', 'type': 'ScaleSettingsInformation'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["ScaleSettingsInformation"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of ClusterUpdate.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ScaleSettingsInformation
+ """
+ super(ClusterUpdateParameters, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class CodeConfiguration(msrest.serialization.Model):
+ """Configuration for a scoring code asset.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_id: ARM resource ID of the code asset.
+ :vartype code_id: str
+ :ivar scoring_script: Required. [Required] The script to execute on startup. eg. "score.py".
+ :vartype scoring_script: str
+ """
+
+ _validation = {
+ 'scoring_script': {'required': True, 'min_length': 1, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'code_id': {'key': 'codeId', 'type': 'str'},
+ 'scoring_script': {'key': 'scoringScript', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ scoring_script: str,
+ code_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_id: ARM resource ID of the code asset.
+ :paramtype code_id: str
+ :keyword scoring_script: Required. [Required] The script to execute on startup. eg. "score.py".
+ :paramtype scoring_script: str
+ """
+ super(CodeConfiguration, self).__init__(**kwargs)
+ self.code_id = code_id
+ self.scoring_script = scoring_script
+
+
+class CodeContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.CodeContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'CodeContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "CodeContainerProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.CodeContainerProperties
+ """
+ super(CodeContainer, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class CodeContainerProperties(AssetContainer):
+ """Container for code asset versions.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(CodeContainerProperties, self).__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+
+
+class CodeContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of CodeContainer entities.
+
+ :ivar next_link: The link to the next page of CodeContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type CodeContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[CodeContainer]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["CodeContainer"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of CodeContainer objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type CodeContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ """
+ super(CodeContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class CodeVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.CodeVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'CodeVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "CodeVersionProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.CodeVersionProperties
+ """
+ super(CodeVersion, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class CodeVersionProperties(AssetBase):
+ """Code asset version details.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar code_uri: Uri where code is located.
+ :vartype code_uri: str
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'code_uri': {'key': 'codeUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ code_uri: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword code_uri: Uri where code is located.
+ :paramtype code_uri: str
+ """
+ super(CodeVersionProperties, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, **kwargs)
+ self.code_uri = code_uri
+
+
+class CodeVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of CodeVersion entities.
+
+ :ivar next_link: The link to the next page of CodeVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type CodeVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[CodeVersion]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["CodeVersion"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of CodeVersion objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type CodeVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ """
+ super(CodeVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class ColumnTransformer(msrest.serialization.Model):
+ """Column transformer parameters.
+
+ :ivar fields: Fields to apply transformer logic on.
+ :vartype fields: list[str]
+ :ivar parameters: Different properties to be passed to transformer.
+ Input expected is dictionary of key,value pairs in JSON format.
+ :vartype parameters: any
+ """
+
+ _attribute_map = {
+ 'fields': {'key': 'fields', 'type': '[str]'},
+ 'parameters': {'key': 'parameters', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ *,
+ fields: Optional[List[str]] = None,
+ parameters: Optional[Any] = None,
+ **kwargs
+ ):
+ """
+ :keyword fields: Fields to apply transformer logic on.
+ :paramtype fields: list[str]
+ :keyword parameters: Different properties to be passed to transformer.
+ Input expected is dictionary of key,value pairs in JSON format.
+ :paramtype parameters: any
+ """
+ super(ColumnTransformer, self).__init__(**kwargs)
+ self.fields = fields
+ self.parameters = parameters
+
+
+class CommandJob(JobBaseProperties):
+ """Command job definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar code_id: ARM resource ID of the code asset.
+ :vartype code_id: str
+ :ivar command: Required. [Required] The command to execute on startup of the job. eg. "python
+ train.py".
+ :vartype command: str
+ :ivar distribution: Distribution configuration of the job. If set, this should be one of Mpi,
+ Tensorflow, PyTorch, or null.
+ :vartype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :ivar environment_id: Required. [Required] The ARM resource ID of the Environment specification
+ for the job.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables included in the job.
+ :vartype environment_variables: dict[str, str]
+ :ivar inputs: Mapping of input data bindings used in the job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar limits: Command Job limit.
+ :vartype limits: ~azure.mgmt.machinelearningservices.models.CommandJobLimits
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar parameters: Input parameters.
+ :vartype parameters: any
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ 'command': {'required': True, 'min_length': 1, 'pattern': r'[a-zA-Z0-9_]'},
+ 'environment_id': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'parameters': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'code_id': {'key': 'codeId', 'type': 'str'},
+ 'command': {'key': 'command', 'type': 'str'},
+ 'distribution': {'key': 'distribution', 'type': 'DistributionConfiguration'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'inputs': {'key': 'inputs', 'type': '{JobInput}'},
+ 'limits': {'key': 'limits', 'type': 'CommandJobLimits'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'parameters': {'key': 'parameters', 'type': 'object'},
+ 'resources': {'key': 'resources', 'type': 'JobResourceConfiguration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ command: str,
+ environment_id: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ component_id: Optional[str] = None,
+ compute_id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ experiment_name: Optional[str] = "Default",
+ identity: Optional["IdentityConfiguration"] = None,
+ is_archived: Optional[bool] = False,
+ services: Optional[Dict[str, "JobService"]] = None,
+ code_id: Optional[str] = None,
+ distribution: Optional["DistributionConfiguration"] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ inputs: Optional[Dict[str, "JobInput"]] = None,
+ limits: Optional["CommandJobLimits"] = None,
+ outputs: Optional[Dict[str, "JobOutput"]] = None,
+ resources: Optional["JobResourceConfiguration"] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword code_id: ARM resource ID of the code asset.
+ :paramtype code_id: str
+ :keyword command: Required. [Required] The command to execute on startup of the job. eg.
+ "python train.py".
+ :paramtype command: str
+ :keyword distribution: Distribution configuration of the job. If set, this should be one of
+ Mpi, Tensorflow, PyTorch, or null.
+ :paramtype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :keyword environment_id: Required. [Required] The ARM resource ID of the Environment
+ specification for the job.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables included in the job.
+ :paramtype environment_variables: dict[str, str]
+ :keyword inputs: Mapping of input data bindings used in the job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword limits: Command Job limit.
+ :paramtype limits: ~azure.mgmt.machinelearningservices.models.CommandJobLimits
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+ super(CommandJob, self).__init__(description=description, properties=properties, tags=tags, component_id=component_id, compute_id=compute_id, display_name=display_name, experiment_name=experiment_name, identity=identity, is_archived=is_archived, services=services, **kwargs)
+ self.job_type = 'Command' # type: str
+ self.code_id = code_id
+ self.command = command
+ self.distribution = distribution
+ self.environment_id = environment_id
+ self.environment_variables = environment_variables
+ self.inputs = inputs
+ self.limits = limits
+ self.outputs = outputs
+ self.parameters = None
+ self.resources = resources
+
+
+class JobLimits(msrest.serialization.Model):
+ """JobLimits.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CommandJobLimits, SweepJobLimits.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar job_limits_type: Required. [Required] JobLimit type.Constant filled by server. Possible
+ values include: "Command", "Sweep".
+ :vartype job_limits_type: str or ~azure.mgmt.machinelearningservices.models.JobLimitsType
+ :ivar timeout: The max run duration in ISO 8601 format, after which the job will be cancelled.
+ Only supports duration with precision as low as Seconds.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'job_limits_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'job_limits_type': {'key': 'jobLimitsType', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ _subtype_map = {
+ 'job_limits_type': {'Command': 'CommandJobLimits', 'Sweep': 'SweepJobLimits'}
+ }
+
+ def __init__(
+ self,
+ *,
+ timeout: Optional[datetime.timedelta] = None,
+ **kwargs
+ ):
+ """
+ :keyword timeout: The max run duration in ISO 8601 format, after which the job will be
+ cancelled. Only supports duration with precision as low as Seconds.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(JobLimits, self).__init__(**kwargs)
+ self.job_limits_type = None # type: Optional[str]
+ self.timeout = timeout
+
+
+class CommandJobLimits(JobLimits):
+ """Command Job limit class.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar job_limits_type: Required. [Required] JobLimit type.Constant filled by server. Possible
+ values include: "Command", "Sweep".
+ :vartype job_limits_type: str or ~azure.mgmt.machinelearningservices.models.JobLimitsType
+ :ivar timeout: The max run duration in ISO 8601 format, after which the job will be cancelled.
+ Only supports duration with precision as low as Seconds.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'job_limits_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'job_limits_type': {'key': 'jobLimitsType', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ timeout: Optional[datetime.timedelta] = None,
+ **kwargs
+ ):
+ """
+ :keyword timeout: The max run duration in ISO 8601 format, after which the job will be
+ cancelled. Only supports duration with precision as low as Seconds.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(CommandJobLimits, self).__init__(timeout=timeout, **kwargs)
+ self.job_limits_type = 'Command' # type: str
+
+
+class ComponentContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComponentContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ComponentContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "ComponentContainerProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComponentContainerProperties
+ """
+ super(ComponentContainer, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ComponentContainerProperties(AssetContainer):
+ """Component container definition.
+
+
+.. raw:: html
+
+ <see href="https://learn.microsoft.com/azure/machine-learning/reference-yaml-component-command" />.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(ComponentContainerProperties, self).__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+
+
+class ComponentContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ComponentContainer entities.
+
+ :ivar next_link: The link to the next page of ComponentContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ComponentContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ComponentContainer]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["ComponentContainer"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ComponentContainer objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ComponentContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ """
+ super(ComponentContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class ComponentVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComponentVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ComponentVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "ComponentVersionProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComponentVersionProperties
+ """
+ super(ComponentVersion, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ComponentVersionProperties(AssetBase):
+ """Definition of a component version: defines resources that span component types.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar component_spec: Defines Component definition details.
+
+
+ .. raw:: html
+
+ <see
+ href="https://learn.microsoft.com/azure/machine-learning/reference-yaml-component-command"
+ />.
+ :vartype component_spec: any
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'component_spec': {'key': 'componentSpec', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ component_spec: Optional[Any] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword component_spec: Defines Component definition details.
+
+
+ .. raw:: html
+
+ <see
+ href="https://learn.microsoft.com/azure/machine-learning/reference-yaml-component-command"
+ />.
+ :paramtype component_spec: any
+ """
+ super(ComponentVersionProperties, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, **kwargs)
+ self.component_spec = component_spec
+
+
+class ComponentVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ComponentVersion entities.
+
+ :ivar next_link: The link to the next page of ComponentVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ComponentVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ComponentVersion]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["ComponentVersion"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ComponentVersion objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ComponentVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ """
+ super(ComponentVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class ComputeInstanceSchema(msrest.serialization.Model):
+ """Properties(top level) of ComputeInstance.
+
+ :ivar properties: Properties of ComputeInstance.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'ComputeInstanceProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["ComputeInstanceProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of ComputeInstance.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ """
+ super(ComputeInstanceSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ComputeInstance(Compute, ComputeInstanceSchema):
+ """An Azure Machine Learning compute instance.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of ComputeInstance.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'ComputeInstanceProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["ComputeInstanceProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of ComputeInstance.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(ComputeInstance, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'ComputeInstance' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class ComputeInstanceApplication(msrest.serialization.Model):
+ """Defines an Aml Instance application and its connectivity endpoint URI.
+
+ :ivar display_name: Name of the ComputeInstance application.
+ :vartype display_name: str
+ :ivar endpoint_uri: Application' endpoint URI.
+ :vartype endpoint_uri: str
+ """
+
+ _attribute_map = {
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'endpoint_uri': {'key': 'endpointUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ display_name: Optional[str] = None,
+ endpoint_uri: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword display_name: Name of the ComputeInstance application.
+ :paramtype display_name: str
+ :keyword endpoint_uri: Application' endpoint URI.
+ :paramtype endpoint_uri: str
+ """
+ super(ComputeInstanceApplication, self).__init__(**kwargs)
+ self.display_name = display_name
+ self.endpoint_uri = endpoint_uri
+
+
+class ComputeInstanceConnectivityEndpoints(msrest.serialization.Model):
+ """Defines all connectivity endpoints and properties for an ComputeInstance.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar public_ip_address: Public IP Address of this ComputeInstance.
+ :vartype public_ip_address: str
+ :ivar private_ip_address: Private IP Address of this ComputeInstance (local to the VNET in
+ which the compute instance is deployed).
+ :vartype private_ip_address: str
+ """
+
+ _validation = {
+ 'public_ip_address': {'readonly': True},
+ 'private_ip_address': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'},
+ 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ComputeInstanceConnectivityEndpoints, self).__init__(**kwargs)
+ self.public_ip_address = None
+ self.private_ip_address = None
+
+
+class ComputeInstanceContainer(msrest.serialization.Model):
+ """Defines an Aml Instance container.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: Name of the ComputeInstance container.
+ :vartype name: str
+ :ivar autosave: Auto save settings. Possible values include: "None", "Local", "Remote".
+ :vartype autosave: str or ~azure.mgmt.machinelearningservices.models.Autosave
+ :ivar gpu: Information of GPU.
+ :vartype gpu: str
+ :ivar network: network of this container. Possible values include: "Bridge", "Host".
+ :vartype network: str or ~azure.mgmt.machinelearningservices.models.Network
+ :ivar environment: Environment information of this container.
+ :vartype environment: ~azure.mgmt.machinelearningservices.models.ComputeInstanceEnvironmentInfo
+ :ivar services: services of this containers.
+ :vartype services: list[any]
+ """
+
+ _validation = {
+ 'services': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'autosave': {'key': 'autosave', 'type': 'str'},
+ 'gpu': {'key': 'gpu', 'type': 'str'},
+ 'network': {'key': 'network', 'type': 'str'},
+ 'environment': {'key': 'environment', 'type': 'ComputeInstanceEnvironmentInfo'},
+ 'services': {'key': 'services', 'type': '[object]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ autosave: Optional[Union[str, "Autosave"]] = None,
+ gpu: Optional[str] = None,
+ network: Optional[Union[str, "Network"]] = None,
+ environment: Optional["ComputeInstanceEnvironmentInfo"] = None,
+ **kwargs
+ ):
+ """
+ :keyword name: Name of the ComputeInstance container.
+ :paramtype name: str
+ :keyword autosave: Auto save settings. Possible values include: "None", "Local", "Remote".
+ :paramtype autosave: str or ~azure.mgmt.machinelearningservices.models.Autosave
+ :keyword gpu: Information of GPU.
+ :paramtype gpu: str
+ :keyword network: network of this container. Possible values include: "Bridge", "Host".
+ :paramtype network: str or ~azure.mgmt.machinelearningservices.models.Network
+ :keyword environment: Environment information of this container.
+ :paramtype environment:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceEnvironmentInfo
+ """
+ super(ComputeInstanceContainer, self).__init__(**kwargs)
+ self.name = name
+ self.autosave = autosave
+ self.gpu = gpu
+ self.network = network
+ self.environment = environment
+ self.services = None
+
+
+class ComputeInstanceCreatedBy(msrest.serialization.Model):
+ """Describes information on user who created this ComputeInstance.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar user_name: Name of the user.
+ :vartype user_name: str
+ :ivar user_org_id: Uniquely identifies user' Azure Active Directory organization.
+ :vartype user_org_id: str
+ :ivar user_id: Uniquely identifies the user within his/her organization.
+ :vartype user_id: str
+ """
+
+ _validation = {
+ 'user_name': {'readonly': True},
+ 'user_org_id': {'readonly': True},
+ 'user_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'user_name': {'key': 'userName', 'type': 'str'},
+ 'user_org_id': {'key': 'userOrgId', 'type': 'str'},
+ 'user_id': {'key': 'userId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ComputeInstanceCreatedBy, self).__init__(**kwargs)
+ self.user_name = None
+ self.user_org_id = None
+ self.user_id = None
+
+
+class ComputeInstanceDataDisk(msrest.serialization.Model):
+ """Defines an Aml Instance DataDisk.
+
+ :ivar caching: Caching type of Data Disk. Possible values include: "None", "ReadOnly",
+ "ReadWrite".
+ :vartype caching: str or ~azure.mgmt.machinelearningservices.models.Caching
+ :ivar disk_size_gb: The initial disk size in gigabytes.
+ :vartype disk_size_gb: int
+ :ivar lun: The lun is used to uniquely identify each data disk. If attaching multiple disks,
+ each should have a distinct lun.
+ :vartype lun: int
+ :ivar storage_account_type: type of this storage account. Possible values include:
+ "Standard_LRS", "Premium_LRS". Default value: "Standard_LRS".
+ :vartype storage_account_type: str or
+ ~azure.mgmt.machinelearningservices.models.StorageAccountType
+ """
+
+ _attribute_map = {
+ 'caching': {'key': 'caching', 'type': 'str'},
+ 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'},
+ 'lun': {'key': 'lun', 'type': 'int'},
+ 'storage_account_type': {'key': 'storageAccountType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ caching: Optional[Union[str, "Caching"]] = None,
+ disk_size_gb: Optional[int] = None,
+ lun: Optional[int] = None,
+ storage_account_type: Optional[Union[str, "StorageAccountType"]] = "Standard_LRS",
+ **kwargs
+ ):
+ """
+ :keyword caching: Caching type of Data Disk. Possible values include: "None", "ReadOnly",
+ "ReadWrite".
+ :paramtype caching: str or ~azure.mgmt.machinelearningservices.models.Caching
+ :keyword disk_size_gb: The initial disk size in gigabytes.
+ :paramtype disk_size_gb: int
+ :keyword lun: The lun is used to uniquely identify each data disk. If attaching multiple disks,
+ each should have a distinct lun.
+ :paramtype lun: int
+ :keyword storage_account_type: type of this storage account. Possible values include:
+ "Standard_LRS", "Premium_LRS". Default value: "Standard_LRS".
+ :paramtype storage_account_type: str or
+ ~azure.mgmt.machinelearningservices.models.StorageAccountType
+ """
+ super(ComputeInstanceDataDisk, self).__init__(**kwargs)
+ self.caching = caching
+ self.disk_size_gb = disk_size_gb
+ self.lun = lun
+ self.storage_account_type = storage_account_type
+
+
+class ComputeInstanceDataMount(msrest.serialization.Model):
+ """Defines an Aml Instance DataMount.
+
+ :ivar source: Source of the ComputeInstance data mount.
+ :vartype source: str
+ :ivar source_type: Data source type. Possible values include: "Dataset", "Datastore", "URI".
+ :vartype source_type: str or ~azure.mgmt.machinelearningservices.models.SourceType
+ :ivar mount_name: name of the ComputeInstance data mount.
+ :vartype mount_name: str
+ :ivar mount_action: Mount Action. Possible values include: "Mount", "Unmount".
+ :vartype mount_action: str or ~azure.mgmt.machinelearningservices.models.MountAction
+ :ivar created_by: who this data mount created by.
+ :vartype created_by: str
+ :ivar mount_path: Path of this data mount.
+ :vartype mount_path: str
+ :ivar mount_state: Mount state. Possible values include: "MountRequested", "Mounted",
+ "MountFailed", "UnmountRequested", "UnmountFailed", "Unmounted".
+ :vartype mount_state: str or ~azure.mgmt.machinelearningservices.models.MountState
+ :ivar mounted_on: The time when the disk mounted.
+ :vartype mounted_on: ~datetime.datetime
+ :ivar error: Error of this data mount.
+ :vartype error: str
+ """
+
+ _attribute_map = {
+ 'source': {'key': 'source', 'type': 'str'},
+ 'source_type': {'key': 'sourceType', 'type': 'str'},
+ 'mount_name': {'key': 'mountName', 'type': 'str'},
+ 'mount_action': {'key': 'mountAction', 'type': 'str'},
+ 'created_by': {'key': 'createdBy', 'type': 'str'},
+ 'mount_path': {'key': 'mountPath', 'type': 'str'},
+ 'mount_state': {'key': 'mountState', 'type': 'str'},
+ 'mounted_on': {'key': 'mountedOn', 'type': 'iso-8601'},
+ 'error': {'key': 'error', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ source: Optional[str] = None,
+ source_type: Optional[Union[str, "SourceType"]] = None,
+ mount_name: Optional[str] = None,
+ mount_action: Optional[Union[str, "MountAction"]] = None,
+ created_by: Optional[str] = None,
+ mount_path: Optional[str] = None,
+ mount_state: Optional[Union[str, "MountState"]] = None,
+ mounted_on: Optional[datetime.datetime] = None,
+ error: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword source: Source of the ComputeInstance data mount.
+ :paramtype source: str
+ :keyword source_type: Data source type. Possible values include: "Dataset", "Datastore", "URI".
+ :paramtype source_type: str or ~azure.mgmt.machinelearningservices.models.SourceType
+ :keyword mount_name: name of the ComputeInstance data mount.
+ :paramtype mount_name: str
+ :keyword mount_action: Mount Action. Possible values include: "Mount", "Unmount".
+ :paramtype mount_action: str or ~azure.mgmt.machinelearningservices.models.MountAction
+ :keyword created_by: who this data mount created by.
+ :paramtype created_by: str
+ :keyword mount_path: Path of this data mount.
+ :paramtype mount_path: str
+ :keyword mount_state: Mount state. Possible values include: "MountRequested", "Mounted",
+ "MountFailed", "UnmountRequested", "UnmountFailed", "Unmounted".
+ :paramtype mount_state: str or ~azure.mgmt.machinelearningservices.models.MountState
+ :keyword mounted_on: The time when the disk mounted.
+ :paramtype mounted_on: ~datetime.datetime
+ :keyword error: Error of this data mount.
+ :paramtype error: str
+ """
+ super(ComputeInstanceDataMount, self).__init__(**kwargs)
+ self.source = source
+ self.source_type = source_type
+ self.mount_name = mount_name
+ self.mount_action = mount_action
+ self.created_by = created_by
+ self.mount_path = mount_path
+ self.mount_state = mount_state
+ self.mounted_on = mounted_on
+ self.error = error
+
+
+class ComputeInstanceEnvironmentInfo(msrest.serialization.Model):
+ """Environment information.
+
+ :ivar name: name of environment.
+ :vartype name: str
+ :ivar version: version of environment.
+ :vartype version: str
+ """
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'version': {'key': 'version', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ version: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword name: name of environment.
+ :paramtype name: str
+ :keyword version: version of environment.
+ :paramtype version: str
+ """
+ super(ComputeInstanceEnvironmentInfo, self).__init__(**kwargs)
+ self.name = name
+ self.version = version
+
+
+class ComputeInstanceLastOperation(msrest.serialization.Model):
+ """The last operation on ComputeInstance.
+
+ :ivar operation_name: Name of the last operation. Possible values include: "Create", "Start",
+ "Stop", "Restart", "Reimage", "Delete".
+ :vartype operation_name: str or ~azure.mgmt.machinelearningservices.models.OperationName
+ :ivar operation_time: Time of the last operation.
+ :vartype operation_time: ~datetime.datetime
+ :ivar operation_status: Operation status. Possible values include: "InProgress", "Succeeded",
+ "CreateFailed", "StartFailed", "StopFailed", "RestartFailed", "ReimageFailed", "DeleteFailed".
+ :vartype operation_status: str or ~azure.mgmt.machinelearningservices.models.OperationStatus
+ :ivar operation_trigger: Trigger of operation. Possible values include: "User", "Schedule",
+ "IdleShutdown".
+ :vartype operation_trigger: str or ~azure.mgmt.machinelearningservices.models.OperationTrigger
+ """
+
+ _attribute_map = {
+ 'operation_name': {'key': 'operationName', 'type': 'str'},
+ 'operation_time': {'key': 'operationTime', 'type': 'iso-8601'},
+ 'operation_status': {'key': 'operationStatus', 'type': 'str'},
+ 'operation_trigger': {'key': 'operationTrigger', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ operation_name: Optional[Union[str, "OperationName"]] = None,
+ operation_time: Optional[datetime.datetime] = None,
+ operation_status: Optional[Union[str, "OperationStatus"]] = None,
+ operation_trigger: Optional[Union[str, "OperationTrigger"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword operation_name: Name of the last operation. Possible values include: "Create",
+ "Start", "Stop", "Restart", "Reimage", "Delete".
+ :paramtype operation_name: str or ~azure.mgmt.machinelearningservices.models.OperationName
+ :keyword operation_time: Time of the last operation.
+ :paramtype operation_time: ~datetime.datetime
+ :keyword operation_status: Operation status. Possible values include: "InProgress",
+ "Succeeded", "CreateFailed", "StartFailed", "StopFailed", "RestartFailed", "ReimageFailed",
+ "DeleteFailed".
+ :paramtype operation_status: str or ~azure.mgmt.machinelearningservices.models.OperationStatus
+ :keyword operation_trigger: Trigger of operation. Possible values include: "User", "Schedule",
+ "IdleShutdown".
+ :paramtype operation_trigger: str or
+ ~azure.mgmt.machinelearningservices.models.OperationTrigger
+ """
+ super(ComputeInstanceLastOperation, self).__init__(**kwargs)
+ self.operation_name = operation_name
+ self.operation_time = operation_time
+ self.operation_status = operation_status
+ self.operation_trigger = operation_trigger
+
+
+class ComputeInstanceProperties(msrest.serialization.Model):
+ """Compute Instance properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar vm_size: Virtual Machine Size.
+ :vartype vm_size: str
+ :ivar subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :vartype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :ivar application_sharing_policy: Policy for sharing applications on this compute instance
+ among users of parent workspace. If Personal, only the creator can access applications on this
+ compute instance. When Shared, any workspace user can access applications on this instance
+ depending on his/her assigned role. Possible values include: "Personal", "Shared". Default
+ value: "Shared".
+ :vartype application_sharing_policy: str or
+ ~azure.mgmt.machinelearningservices.models.ApplicationSharingPolicy
+ :ivar ssh_settings: Specifies policy and settings for SSH access.
+ :vartype ssh_settings: ~azure.mgmt.machinelearningservices.models.ComputeInstanceSshSettings
+ :ivar connectivity_endpoints: Describes all connectivity endpoints available for this
+ ComputeInstance.
+ :vartype connectivity_endpoints:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceConnectivityEndpoints
+ :ivar applications: Describes available applications and their endpoints on this
+ ComputeInstance.
+ :vartype applications:
+ list[~azure.mgmt.machinelearningservices.models.ComputeInstanceApplication]
+ :ivar created_by: Describes information on user who created this ComputeInstance.
+ :vartype created_by: ~azure.mgmt.machinelearningservices.models.ComputeInstanceCreatedBy
+ :ivar errors: Collection of errors encountered on this ComputeInstance.
+ :vartype errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar state: The current state of this ComputeInstance. Possible values include: "Creating",
+ "CreateFailed", "Deleting", "Running", "Restarting", "JobRunning", "SettingUp", "SetupFailed",
+ "Starting", "Stopped", "Stopping", "UserSettingUp", "UserSetupFailed", "Unknown", "Unusable".
+ :vartype state: str or ~azure.mgmt.machinelearningservices.models.ComputeInstanceState
+ :ivar compute_instance_authorization_type: The Compute Instance Authorization type. Available
+ values are personal (default). Possible values include: "personal". Default value: "personal".
+ :vartype compute_instance_authorization_type: str or
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceAuthorizationType
+ :ivar personal_compute_instance_settings: Settings for a personal compute instance.
+ :vartype personal_compute_instance_settings:
+ ~azure.mgmt.machinelearningservices.models.PersonalComputeInstanceSettings
+ :ivar setup_scripts: Details of customized scripts to execute for setting up the cluster.
+ :vartype setup_scripts: ~azure.mgmt.machinelearningservices.models.SetupScripts
+ :ivar last_operation: The last operation on ComputeInstance.
+ :vartype last_operation:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceLastOperation
+ :ivar schedules: The list of schedules to be applied on the computes.
+ :vartype schedules: ~azure.mgmt.machinelearningservices.models.ComputeSchedules
+ :ivar enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :vartype enable_node_public_ip: bool
+ :ivar containers: Describes informations of containers on this ComputeInstance.
+ :vartype containers: list[~azure.mgmt.machinelearningservices.models.ComputeInstanceContainer]
+ :ivar data_disks: Describes informations of dataDisks on this ComputeInstance.
+ :vartype data_disks: list[~azure.mgmt.machinelearningservices.models.ComputeInstanceDataDisk]
+ :ivar data_mounts: Describes informations of dataMounts on this ComputeInstance.
+ :vartype data_mounts: list[~azure.mgmt.machinelearningservices.models.ComputeInstanceDataMount]
+ :ivar versions: ComputeInstance version.
+ :vartype versions: ~azure.mgmt.machinelearningservices.models.ComputeInstanceVersion
+ """
+
+ _validation = {
+ 'connectivity_endpoints': {'readonly': True},
+ 'applications': {'readonly': True},
+ 'created_by': {'readonly': True},
+ 'errors': {'readonly': True},
+ 'state': {'readonly': True},
+ 'last_operation': {'readonly': True},
+ 'schedules': {'readonly': True},
+ 'containers': {'readonly': True},
+ 'data_disks': {'readonly': True},
+ 'data_mounts': {'readonly': True},
+ 'versions': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'vm_size': {'key': 'vmSize', 'type': 'str'},
+ 'subnet': {'key': 'subnet', 'type': 'ResourceId'},
+ 'application_sharing_policy': {'key': 'applicationSharingPolicy', 'type': 'str'},
+ 'ssh_settings': {'key': 'sshSettings', 'type': 'ComputeInstanceSshSettings'},
+ 'connectivity_endpoints': {'key': 'connectivityEndpoints', 'type': 'ComputeInstanceConnectivityEndpoints'},
+ 'applications': {'key': 'applications', 'type': '[ComputeInstanceApplication]'},
+ 'created_by': {'key': 'createdBy', 'type': 'ComputeInstanceCreatedBy'},
+ 'errors': {'key': 'errors', 'type': '[ErrorResponse]'},
+ 'state': {'key': 'state', 'type': 'str'},
+ 'compute_instance_authorization_type': {'key': 'computeInstanceAuthorizationType', 'type': 'str'},
+ 'personal_compute_instance_settings': {'key': 'personalComputeInstanceSettings', 'type': 'PersonalComputeInstanceSettings'},
+ 'setup_scripts': {'key': 'setupScripts', 'type': 'SetupScripts'},
+ 'last_operation': {'key': 'lastOperation', 'type': 'ComputeInstanceLastOperation'},
+ 'schedules': {'key': 'schedules', 'type': 'ComputeSchedules'},
+ 'enable_node_public_ip': {'key': 'enableNodePublicIp', 'type': 'bool'},
+ 'containers': {'key': 'containers', 'type': '[ComputeInstanceContainer]'},
+ 'data_disks': {'key': 'dataDisks', 'type': '[ComputeInstanceDataDisk]'},
+ 'data_mounts': {'key': 'dataMounts', 'type': '[ComputeInstanceDataMount]'},
+ 'versions': {'key': 'versions', 'type': 'ComputeInstanceVersion'},
+ }
+
+ def __init__(
+ self,
+ *,
+ vm_size: Optional[str] = None,
+ subnet: Optional["ResourceId"] = None,
+ application_sharing_policy: Optional[Union[str, "ApplicationSharingPolicy"]] = "Shared",
+ ssh_settings: Optional["ComputeInstanceSshSettings"] = None,
+ compute_instance_authorization_type: Optional[Union[str, "ComputeInstanceAuthorizationType"]] = "personal",
+ personal_compute_instance_settings: Optional["PersonalComputeInstanceSettings"] = None,
+ setup_scripts: Optional["SetupScripts"] = None,
+ enable_node_public_ip: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword vm_size: Virtual Machine Size.
+ :paramtype vm_size: str
+ :keyword subnet: Virtual network subnet resource ID the compute nodes belong to.
+ :paramtype subnet: ~azure.mgmt.machinelearningservices.models.ResourceId
+ :keyword application_sharing_policy: Policy for sharing applications on this compute instance
+ among users of parent workspace. If Personal, only the creator can access applications on this
+ compute instance. When Shared, any workspace user can access applications on this instance
+ depending on his/her assigned role. Possible values include: "Personal", "Shared". Default
+ value: "Shared".
+ :paramtype application_sharing_policy: str or
+ ~azure.mgmt.machinelearningservices.models.ApplicationSharingPolicy
+ :keyword ssh_settings: Specifies policy and settings for SSH access.
+ :paramtype ssh_settings: ~azure.mgmt.machinelearningservices.models.ComputeInstanceSshSettings
+ :keyword compute_instance_authorization_type: The Compute Instance Authorization type.
+ Available values are personal (default). Possible values include: "personal". Default value:
+ "personal".
+ :paramtype compute_instance_authorization_type: str or
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceAuthorizationType
+ :keyword personal_compute_instance_settings: Settings for a personal compute instance.
+ :paramtype personal_compute_instance_settings:
+ ~azure.mgmt.machinelearningservices.models.PersonalComputeInstanceSettings
+ :keyword setup_scripts: Details of customized scripts to execute for setting up the cluster.
+ :paramtype setup_scripts: ~azure.mgmt.machinelearningservices.models.SetupScripts
+ :keyword enable_node_public_ip: Enable or disable node public IP address provisioning. Possible
+ values are: Possible values are: true - Indicates that the compute nodes will have public IPs
+ provisioned. false - Indicates that the compute nodes will have a private endpoint and no
+ public IPs.
+ :paramtype enable_node_public_ip: bool
+ """
+ super(ComputeInstanceProperties, self).__init__(**kwargs)
+ self.vm_size = vm_size
+ self.subnet = subnet
+ self.application_sharing_policy = application_sharing_policy
+ self.ssh_settings = ssh_settings
+ self.connectivity_endpoints = None
+ self.applications = None
+ self.created_by = None
+ self.errors = None
+ self.state = None
+ self.compute_instance_authorization_type = compute_instance_authorization_type
+ self.personal_compute_instance_settings = personal_compute_instance_settings
+ self.setup_scripts = setup_scripts
+ self.last_operation = None
+ self.schedules = None
+ self.enable_node_public_ip = enable_node_public_ip
+ self.containers = None
+ self.data_disks = None
+ self.data_mounts = None
+ self.versions = None
+
+
+class ComputeInstanceSshSettings(msrest.serialization.Model):
+ """Specifies policy and settings for SSH access.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar ssh_public_access: State of the public SSH port. Possible values are: Disabled -
+ Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the
+ public ssh port is open and accessible according to the VNet/subnet policy if applicable.
+ Possible values include: "Enabled", "Disabled". Default value: "Disabled".
+ :vartype ssh_public_access: str or ~azure.mgmt.machinelearningservices.models.SshPublicAccess
+ :ivar admin_user_name: Describes the admin user name.
+ :vartype admin_user_name: str
+ :ivar ssh_port: Describes the port for connecting through SSH.
+ :vartype ssh_port: int
+ :ivar admin_public_key: Specifies the SSH rsa public key file as a string. Use "ssh-keygen -t
+ rsa -b 2048" to generate your SSH key pairs.
+ :vartype admin_public_key: str
+ """
+
+ _validation = {
+ 'admin_user_name': {'readonly': True},
+ 'ssh_port': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'ssh_public_access': {'key': 'sshPublicAccess', 'type': 'str'},
+ 'admin_user_name': {'key': 'adminUserName', 'type': 'str'},
+ 'ssh_port': {'key': 'sshPort', 'type': 'int'},
+ 'admin_public_key': {'key': 'adminPublicKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ ssh_public_access: Optional[Union[str, "SshPublicAccess"]] = "Disabled",
+ admin_public_key: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword ssh_public_access: State of the public SSH port. Possible values are: Disabled -
+ Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the
+ public ssh port is open and accessible according to the VNet/subnet policy if applicable.
+ Possible values include: "Enabled", "Disabled". Default value: "Disabled".
+ :paramtype ssh_public_access: str or ~azure.mgmt.machinelearningservices.models.SshPublicAccess
+ :keyword admin_public_key: Specifies the SSH rsa public key file as a string. Use "ssh-keygen
+ -t rsa -b 2048" to generate your SSH key pairs.
+ :paramtype admin_public_key: str
+ """
+ super(ComputeInstanceSshSettings, self).__init__(**kwargs)
+ self.ssh_public_access = ssh_public_access
+ self.admin_user_name = None
+ self.ssh_port = None
+ self.admin_public_key = admin_public_key
+
+
+class ComputeInstanceVersion(msrest.serialization.Model):
+ """Version of computeInstance.
+
+ :ivar runtime: Runtime of compute instance.
+ :vartype runtime: str
+ """
+
+ _attribute_map = {
+ 'runtime': {'key': 'runtime', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ runtime: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword runtime: Runtime of compute instance.
+ :paramtype runtime: str
+ """
+ super(ComputeInstanceVersion, self).__init__(**kwargs)
+ self.runtime = runtime
+
+
+class ComputeResourceSchema(msrest.serialization.Model):
+ """ComputeResourceSchema.
+
+ :ivar properties: Compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'Compute'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["Compute"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ """
+ super(ComputeResourceSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ComputeResource(Resource, ComputeResourceSchema):
+ """Machine Learning compute object wrapped into ARM resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar properties: Compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'Compute'},
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["Compute"] = None,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ location: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ sku: Optional["Sku"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.Compute
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(ComputeResource, self).__init__(properties=properties, **kwargs)
+ self.properties = properties
+ self.identity = identity
+ self.location = location
+ self.tags = tags
+ self.sku = sku
+ self.id = None
+ self.name = None
+ self.type = None
+ self.system_data = None
+
+
+class ComputeSchedules(msrest.serialization.Model):
+ """The list of schedules to be applied on the computes.
+
+ :ivar compute_start_stop: The list of compute start stop schedules to be applied.
+ :vartype compute_start_stop:
+ list[~azure.mgmt.machinelearningservices.models.ComputeStartStopSchedule]
+ """
+
+ _attribute_map = {
+ 'compute_start_stop': {'key': 'computeStartStop', 'type': '[ComputeStartStopSchedule]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ compute_start_stop: Optional[List["ComputeStartStopSchedule"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword compute_start_stop: The list of compute start stop schedules to be applied.
+ :paramtype compute_start_stop:
+ list[~azure.mgmt.machinelearningservices.models.ComputeStartStopSchedule]
+ """
+ super(ComputeSchedules, self).__init__(**kwargs)
+ self.compute_start_stop = compute_start_stop
+
+
+class ComputeStartStopSchedule(msrest.serialization.Model):
+ """Compute start stop schedule properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: A system assigned id for the schedule.
+ :vartype id: str
+ :ivar provisioning_status: The current deployment state of schedule. Possible values include:
+ "Completed", "Provisioning", "Failed".
+ :vartype provisioning_status: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningStatus
+ :ivar status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ :ivar action: [Required] The compute power action. Possible values include: "Start", "Stop".
+ :vartype action: str or ~azure.mgmt.machinelearningservices.models.ComputePowerAction
+ :ivar trigger_type: [Required] The schedule trigger type. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :ivar recurrence: Required if triggerType is Recurrence.
+ :vartype recurrence: ~azure.mgmt.machinelearningservices.models.RecurrenceTrigger
+ :ivar cron: Required if triggerType is Cron.
+ :vartype cron: ~azure.mgmt.machinelearningservices.models.CronTrigger
+ :ivar schedule: [Deprecated] Not used any more.
+ :vartype schedule: ~azure.mgmt.machinelearningservices.models.ScheduleBase
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'provisioning_status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'action': {'key': 'action', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ 'recurrence': {'key': 'recurrence', 'type': 'RecurrenceTrigger'},
+ 'cron': {'key': 'cron', 'type': 'CronTrigger'},
+ 'schedule': {'key': 'schedule', 'type': 'ScheduleBase'},
+ }
+
+ def __init__(
+ self,
+ *,
+ status: Optional[Union[str, "ScheduleStatus"]] = None,
+ action: Optional[Union[str, "ComputePowerAction"]] = None,
+ trigger_type: Optional[Union[str, "TriggerType"]] = None,
+ recurrence: Optional["RecurrenceTrigger"] = None,
+ cron: Optional["CronTrigger"] = None,
+ schedule: Optional["ScheduleBase"] = None,
+ **kwargs
+ ):
+ """
+ :keyword status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ :keyword action: [Required] The compute power action. Possible values include: "Start", "Stop".
+ :paramtype action: str or ~azure.mgmt.machinelearningservices.models.ComputePowerAction
+ :keyword trigger_type: [Required] The schedule trigger type. Possible values include:
+ "Recurrence", "Cron".
+ :paramtype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :keyword recurrence: Required if triggerType is Recurrence.
+ :paramtype recurrence: ~azure.mgmt.machinelearningservices.models.RecurrenceTrigger
+ :keyword cron: Required if triggerType is Cron.
+ :paramtype cron: ~azure.mgmt.machinelearningservices.models.CronTrigger
+ :keyword schedule: [Deprecated] Not used any more.
+ :paramtype schedule: ~azure.mgmt.machinelearningservices.models.ScheduleBase
+ """
+ super(ComputeStartStopSchedule, self).__init__(**kwargs)
+ self.id = None
+ self.provisioning_status = None
+ self.status = status
+ self.action = action
+ self.trigger_type = trigger_type
+ self.recurrence = recurrence
+ self.cron = cron
+ self.schedule = schedule
+
+
+class ContainerResourceRequirements(msrest.serialization.Model):
+ """Resource requirements for each container instance within an online deployment.
+
+ :ivar container_resource_limits: Container resource limit info:.
+ :vartype container_resource_limits:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ :ivar container_resource_requests: Container resource request info:.
+ :vartype container_resource_requests:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ """
+
+ _attribute_map = {
+ 'container_resource_limits': {'key': 'containerResourceLimits', 'type': 'ContainerResourceSettings'},
+ 'container_resource_requests': {'key': 'containerResourceRequests', 'type': 'ContainerResourceSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ container_resource_limits: Optional["ContainerResourceSettings"] = None,
+ container_resource_requests: Optional["ContainerResourceSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword container_resource_limits: Container resource limit info:.
+ :paramtype container_resource_limits:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ :keyword container_resource_requests: Container resource request info:.
+ :paramtype container_resource_requests:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceSettings
+ """
+ super(ContainerResourceRequirements, self).__init__(**kwargs)
+ self.container_resource_limits = container_resource_limits
+ self.container_resource_requests = container_resource_requests
+
+
+class ContainerResourceSettings(msrest.serialization.Model):
+ """ContainerResourceSettings.
+
+ :ivar cpu: Number of vCPUs request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :vartype cpu: str
+ :ivar gpu: Number of Nvidia GPU cards request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :vartype gpu: str
+ :ivar memory: Memory size request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :vartype memory: str
+ """
+
+ _attribute_map = {
+ 'cpu': {'key': 'cpu', 'type': 'str'},
+ 'gpu': {'key': 'gpu', 'type': 'str'},
+ 'memory': {'key': 'memory', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ cpu: Optional[str] = None,
+ gpu: Optional[str] = None,
+ memory: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword cpu: Number of vCPUs request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :paramtype cpu: str
+ :keyword gpu: Number of Nvidia GPU cards request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :paramtype gpu: str
+ :keyword memory: Memory size request/limit for container. More info:
+ https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
+ :paramtype memory: str
+ """
+ super(ContainerResourceSettings, self).__init__(**kwargs)
+ self.cpu = cpu
+ self.gpu = gpu
+ self.memory = memory
+
+
+class CosmosDbSettings(msrest.serialization.Model):
+ """CosmosDbSettings.
+
+ :ivar collections_throughput: The throughput of the collections in cosmosdb database.
+ :vartype collections_throughput: int
+ """
+
+ _attribute_map = {
+ 'collections_throughput': {'key': 'collectionsThroughput', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ collections_throughput: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword collections_throughput: The throughput of the collections in cosmosdb database.
+ :paramtype collections_throughput: int
+ """
+ super(CosmosDbSettings, self).__init__(**kwargs)
+ self.collections_throughput = collections_throughput
+
+
+class TriggerBase(msrest.serialization.Model):
+ """TriggerBase.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CronTrigger, RecurrenceTrigger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :vartype end_time: str
+ :ivar start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar trigger_type: Required. [Required].Constant filled by server. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ """
+
+ _validation = {
+ 'trigger_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'end_time': {'key': 'endTime', 'type': 'str'},
+ 'start_time': {'key': 'startTime', 'type': 'str'},
+ 'time_zone': {'key': 'timeZone', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'trigger_type': {'Cron': 'CronTrigger', 'Recurrence': 'RecurrenceTrigger'}
+ }
+
+ def __init__(
+ self,
+ *,
+ end_time: Optional[str] = None,
+ start_time: Optional[str] = None,
+ time_zone: Optional[str] = "UTC",
+ **kwargs
+ ):
+ """
+ :keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :paramtype end_time: str
+ :keyword start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ """
+ super(TriggerBase, self).__init__(**kwargs)
+ self.end_time = end_time
+ self.start_time = start_time
+ self.time_zone = time_zone
+ self.trigger_type = None # type: Optional[str]
+
+
+class CronTrigger(TriggerBase):
+ """CronTrigger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :vartype end_time: str
+ :ivar start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar trigger_type: Required. [Required].Constant filled by server. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :ivar expression: Required. [Required] Specifies cron expression of schedule.
+ The expression should follow NCronTab format.
+ :vartype expression: str
+ """
+
+ _validation = {
+ 'trigger_type': {'required': True},
+ 'expression': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'end_time': {'key': 'endTime', 'type': 'str'},
+ 'start_time': {'key': 'startTime', 'type': 'str'},
+ 'time_zone': {'key': 'timeZone', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ 'expression': {'key': 'expression', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ expression: str,
+ end_time: Optional[str] = None,
+ start_time: Optional[str] = None,
+ time_zone: Optional[str] = "UTC",
+ **kwargs
+ ):
+ """
+ :keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :paramtype end_time: str
+ :keyword start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ :keyword expression: Required. [Required] Specifies cron expression of schedule.
+ The expression should follow NCronTab format.
+ :paramtype expression: str
+ """
+ super(CronTrigger, self).__init__(end_time=end_time, start_time=start_time, time_zone=time_zone, **kwargs)
+ self.trigger_type = 'Cron' # type: str
+ self.expression = expression
+
+
+class CustomForecastHorizon(ForecastHorizon):
+ """The desired maximum forecast horizon in units of time-series frequency.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set forecast horizon value selection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.ForecastHorizonMode
+ :ivar value: Required. [Required] Forecast horizon value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: int,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] Forecast horizon value.
+ :paramtype value: int
+ """
+ super(CustomForecastHorizon, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = value
+
+
+class JobInput(msrest.serialization.Model):
+ """Command job definition.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CustomModelJobInput, LiteralJobInput, MLFlowModelJobInput, MLTableJobInput, TritonModelJobInput, UriFileJobInput, UriFolderJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'job_input_type': {'custom_model': 'CustomModelJobInput', 'literal': 'LiteralJobInput', 'mlflow_model': 'MLFlowModelJobInput', 'mltable': 'MLTableJobInput', 'triton_model': 'TritonModelJobInput', 'uri_file': 'UriFileJobInput', 'uri_folder': 'UriFolderJobInput'}
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(JobInput, self).__init__(**kwargs)
+ self.description = description
+ self.job_input_type = None # type: Optional[str]
+
+
+class CustomModelJobInput(JobInput, AssetJobInput):
+ """CustomModelJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(CustomModelJobInput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_input_type = 'custom_model' # type: str
+ self.description = description
+
+
+class JobOutput(msrest.serialization.Model):
+ """Job output definition container information on where to find job output/logs.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: CustomModelJobOutput, MLFlowModelJobOutput, MLTableJobOutput, TritonModelJobOutput, UriFileJobOutput, UriFolderJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'job_output_type': {'custom_model': 'CustomModelJobOutput', 'mlflow_model': 'MLFlowModelJobOutput', 'mltable': 'MLTableJobOutput', 'triton_model': 'TritonModelJobOutput', 'uri_file': 'UriFileJobOutput', 'uri_folder': 'UriFolderJobOutput'}
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(JobOutput, self).__init__(**kwargs)
+ self.description = description
+ self.job_output_type = None # type: Optional[str]
+
+
+class CustomModelJobOutput(JobOutput, AssetJobOutput):
+ """CustomModelJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(CustomModelJobOutput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_output_type = 'custom_model' # type: str
+ self.description = description
+
+
+class CustomNCrossValidations(NCrossValidations):
+ """N-Cross validations are specified by user.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Mode for determining N-Cross validations.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.NCrossValidationsMode
+ :ivar value: Required. [Required] N-Cross validations value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: int,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] N-Cross validations value.
+ :paramtype value: int
+ """
+ super(CustomNCrossValidations, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = value
+
+
+class CustomSeasonality(Seasonality):
+ """CustomSeasonality.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Seasonality mode.Constant filled by server. Possible values
+ include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.SeasonalityMode
+ :ivar value: Required. [Required] Seasonality value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: int,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] Seasonality value.
+ :paramtype value: int
+ """
+ super(CustomSeasonality, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = value
+
+
+class CustomTargetLags(TargetLags):
+ """CustomTargetLags.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] Set target lags mode - Auto/Custom.Constant filled by server.
+ Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetLagsMode
+ :ivar values: Required. [Required] Set target lags values.
+ :vartype values: list[int]
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'values': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'values': {'key': 'values', 'type': '[int]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ values: List[int],
+ **kwargs
+ ):
+ """
+ :keyword values: Required. [Required] Set target lags values.
+ :paramtype values: list[int]
+ """
+ super(CustomTargetLags, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.values = values
+
+
+class CustomTargetRollingWindowSize(TargetRollingWindowSize):
+ """CustomTargetRollingWindowSize.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Required. [Required] TargetRollingWindowSiz detection mode.Constant filled by
+ server. Possible values include: "Auto", "Custom".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSizeMode
+ :ivar value: Required. [Required] TargetRollingWindowSize value.
+ :vartype value: int
+ """
+
+ _validation = {
+ 'mode': {'required': True},
+ 'value': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: int,
+ **kwargs
+ ):
+ """
+ :keyword value: Required. [Required] TargetRollingWindowSize value.
+ :paramtype value: int
+ """
+ super(CustomTargetRollingWindowSize, self).__init__(**kwargs)
+ self.mode = 'Custom' # type: str
+ self.value = value
+
+
+class DatabricksSchema(msrest.serialization.Model):
+ """DatabricksSchema.
+
+ :ivar properties: Properties of Databricks.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DatabricksProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["DatabricksProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Databricks.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ """
+ super(DatabricksSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class Databricks(Compute, DatabricksSchema):
+ """A DataFactory compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of Databricks.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DatabricksProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["DatabricksProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Databricks.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(Databricks, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'Databricks' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class DatabricksComputeSecretsProperties(msrest.serialization.Model):
+ """Properties of Databricks Compute Secrets.
+
+ :ivar databricks_access_token: access token for databricks account.
+ :vartype databricks_access_token: str
+ """
+
+ _attribute_map = {
+ 'databricks_access_token': {'key': 'databricksAccessToken', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ databricks_access_token: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword databricks_access_token: access token for databricks account.
+ :paramtype databricks_access_token: str
+ """
+ super(DatabricksComputeSecretsProperties, self).__init__(**kwargs)
+ self.databricks_access_token = databricks_access_token
+
+
+class DatabricksComputeSecrets(ComputeSecrets, DatabricksComputeSecretsProperties):
+ """Secrets related to a Machine Learning compute based on Databricks.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar databricks_access_token: access token for databricks account.
+ :vartype databricks_access_token: str
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'databricks_access_token': {'key': 'databricksAccessToken', 'type': 'str'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ databricks_access_token: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword databricks_access_token: access token for databricks account.
+ :paramtype databricks_access_token: str
+ """
+ super(DatabricksComputeSecrets, self).__init__(databricks_access_token=databricks_access_token, **kwargs)
+ self.databricks_access_token = databricks_access_token
+ self.compute_type = 'Databricks' # type: str
+
+
+class DatabricksProperties(msrest.serialization.Model):
+ """Properties of Databricks.
+
+ :ivar databricks_access_token: Databricks access token.
+ :vartype databricks_access_token: str
+ :ivar workspace_url: Workspace Url.
+ :vartype workspace_url: str
+ """
+
+ _attribute_map = {
+ 'databricks_access_token': {'key': 'databricksAccessToken', 'type': 'str'},
+ 'workspace_url': {'key': 'workspaceUrl', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ databricks_access_token: Optional[str] = None,
+ workspace_url: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword databricks_access_token: Databricks access token.
+ :paramtype databricks_access_token: str
+ :keyword workspace_url: Workspace Url.
+ :paramtype workspace_url: str
+ """
+ super(DatabricksProperties, self).__init__(**kwargs)
+ self.databricks_access_token = databricks_access_token
+ self.workspace_url = workspace_url
+
+
+class DataContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DataContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'DataContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "DataContainerProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DataContainerProperties
+ """
+ super(DataContainer, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class DataContainerProperties(AssetContainer):
+ """Container for data asset versions.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ :ivar data_type: Required. [Required] Specifies the type of data. Possible values include:
+ "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ 'data_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_type: Union[str, "DataType"],
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_type: Required. [Required] Specifies the type of data. Possible values include:
+ "uri_file", "uri_folder", "mltable".
+ :paramtype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ """
+ super(DataContainerProperties, self).__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.data_type = data_type
+
+
+class DataContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of DataContainer entities.
+
+ :ivar next_link: The link to the next page of DataContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type DataContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.DataContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[DataContainer]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["DataContainer"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of DataContainer objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type DataContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.DataContainer]
+ """
+ super(DataContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class DataFactory(Compute):
+ """A DataFactory compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(DataFactory, self).__init__(description=description, resource_id=resource_id, **kwargs)
+ self.compute_type = 'DataFactory' # type: str
+
+
+class DataLakeAnalyticsSchema(msrest.serialization.Model):
+ """DataLakeAnalyticsSchema.
+
+ :ivar properties:
+ :vartype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DataLakeAnalyticsSchemaProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["DataLakeAnalyticsSchemaProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ """
+ super(DataLakeAnalyticsSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class DataLakeAnalytics(Compute, DataLakeAnalyticsSchema):
+ """A DataLakeAnalytics compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties:
+ :vartype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'DataLakeAnalyticsSchemaProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["DataLakeAnalyticsSchemaProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.DataLakeAnalyticsSchemaProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(DataLakeAnalytics, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'DataLakeAnalytics' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class DataLakeAnalyticsSchemaProperties(msrest.serialization.Model):
+ """DataLakeAnalyticsSchemaProperties.
+
+ :ivar data_lake_store_account_name: DataLake Store Account Name.
+ :vartype data_lake_store_account_name: str
+ """
+
+ _attribute_map = {
+ 'data_lake_store_account_name': {'key': 'dataLakeStoreAccountName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_lake_store_account_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword data_lake_store_account_name: DataLake Store Account Name.
+ :paramtype data_lake_store_account_name: str
+ """
+ super(DataLakeAnalyticsSchemaProperties, self).__init__(**kwargs)
+ self.data_lake_store_account_name = data_lake_store_account_name
+
+
+class DataPathAssetReference(AssetReferenceBase):
+ """Reference to an asset via its path in a datastore.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar datastore_id: ARM resource ID of the datastore where the asset is located.
+ :vartype datastore_id: str
+ :ivar path: The path of the file/directory in the datastore.
+ :vartype path: str
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ 'datastore_id': {'key': 'datastoreId', 'type': 'str'},
+ 'path': {'key': 'path', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ datastore_id: Optional[str] = None,
+ path: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword datastore_id: ARM resource ID of the datastore where the asset is located.
+ :paramtype datastore_id: str
+ :keyword path: The path of the file/directory in the datastore.
+ :paramtype path: str
+ """
+ super(DataPathAssetReference, self).__init__(**kwargs)
+ self.reference_type = 'DataPath' # type: str
+ self.datastore_id = datastore_id
+ self.path = path
+
+
+class Datastore(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DatastoreProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'DatastoreProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "DatastoreProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DatastoreProperties
+ """
+ super(Datastore, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class DatastoreResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of Datastore entities.
+
+ :ivar next_link: The link to the next page of Datastore objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type Datastore.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Datastore]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[Datastore]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["Datastore"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of Datastore objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type Datastore.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Datastore]
+ """
+ super(DatastoreResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class DataVersionBase(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.DataVersionBaseProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'DataVersionBaseProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "DataVersionBaseProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.DataVersionBaseProperties
+ """
+ super(DataVersionBase, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class DataVersionBaseProperties(AssetBase):
+ """Data version base definition.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: MLTableData, UriFileDataVersion, UriFolderDataVersion.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'data_type': {'mltable': 'MLTableData', 'uri_file': 'UriFileDataVersion', 'uri_folder': 'UriFolderDataVersion'}
+ }
+
+ def __init__(
+ self,
+ *,
+ data_uri: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ """
+ super(DataVersionBaseProperties, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, **kwargs)
+ self.data_type = 'DataVersionBaseProperties' # type: str
+ self.data_uri = data_uri
+
+
+class DataVersionBaseResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of DataVersionBase entities.
+
+ :ivar next_link: The link to the next page of DataVersionBase objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type DataVersionBase.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[DataVersionBase]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["DataVersionBase"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of DataVersionBase objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type DataVersionBase.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ """
+ super(DataVersionBaseResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class OnlineScaleSettings(msrest.serialization.Model):
+ """Online deployment scaling configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: DefaultScaleSettings, TargetUtilizationScaleSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scale_type: Required. [Required] Type of deployment scaling algorithm.Constant filled by
+ server. Possible values include: "Default", "TargetUtilization".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.ScaleType
+ """
+
+ _validation = {
+ 'scale_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'scale_type': {'Default': 'DefaultScaleSettings', 'TargetUtilization': 'TargetUtilizationScaleSettings'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(OnlineScaleSettings, self).__init__(**kwargs)
+ self.scale_type = None # type: Optional[str]
+
+
+class DefaultScaleSettings(OnlineScaleSettings):
+ """DefaultScaleSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scale_type: Required. [Required] Type of deployment scaling algorithm.Constant filled by
+ server. Possible values include: "Default", "TargetUtilization".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.ScaleType
+ """
+
+ _validation = {
+ 'scale_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DefaultScaleSettings, self).__init__(**kwargs)
+ self.scale_type = 'Default' # type: str
+
+
+class DeploymentLogs(msrest.serialization.Model):
+ """DeploymentLogs.
+
+ :ivar content: The retrieved online deployment logs.
+ :vartype content: str
+ """
+
+ _attribute_map = {
+ 'content': {'key': 'content', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ content: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword content: The retrieved online deployment logs.
+ :paramtype content: str
+ """
+ super(DeploymentLogs, self).__init__(**kwargs)
+ self.content = content
+
+
+class DeploymentLogsRequest(msrest.serialization.Model):
+ """DeploymentLogsRequest.
+
+ :ivar container_type: The type of container to retrieve logs from. Possible values include:
+ "StorageInitializer", "InferenceServer".
+ :vartype container_type: str or ~azure.mgmt.machinelearningservices.models.ContainerType
+ :ivar tail: The maximum number of lines to tail.
+ :vartype tail: int
+ """
+
+ _attribute_map = {
+ 'container_type': {'key': 'containerType', 'type': 'str'},
+ 'tail': {'key': 'tail', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ container_type: Optional[Union[str, "ContainerType"]] = None,
+ tail: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword container_type: The type of container to retrieve logs from. Possible values include:
+ "StorageInitializer", "InferenceServer".
+ :paramtype container_type: str or ~azure.mgmt.machinelearningservices.models.ContainerType
+ :keyword tail: The maximum number of lines to tail.
+ :paramtype tail: int
+ """
+ super(DeploymentLogsRequest, self).__init__(**kwargs)
+ self.container_type = container_type
+ self.tail = tail
+
+
+class ResourceConfiguration(msrest.serialization.Model):
+ """ResourceConfiguration.
+
+ :ivar instance_count: Optional number of instances or nodes used by the compute target.
+ :vartype instance_count: int
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'instance_count': {'key': 'instanceCount', 'type': 'int'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ instance_count: Optional[int] = 1,
+ instance_type: Optional[str] = None,
+ properties: Optional[Dict[str, Any]] = None,
+ **kwargs
+ ):
+ """
+ :keyword instance_count: Optional number of instances or nodes used by the compute target.
+ :paramtype instance_count: int
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, any]
+ """
+ super(ResourceConfiguration, self).__init__(**kwargs)
+ self.instance_count = instance_count
+ self.instance_type = instance_type
+ self.properties = properties
+
+
+class DeploymentResourceConfiguration(ResourceConfiguration):
+ """DeploymentResourceConfiguration.
+
+ :ivar instance_count: Optional number of instances or nodes used by the compute target.
+ :vartype instance_count: int
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'instance_count': {'key': 'instanceCount', 'type': 'int'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ instance_count: Optional[int] = 1,
+ instance_type: Optional[str] = None,
+ properties: Optional[Dict[str, Any]] = None,
+ **kwargs
+ ):
+ """
+ :keyword instance_count: Optional number of instances or nodes used by the compute target.
+ :paramtype instance_count: int
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, any]
+ """
+ super(DeploymentResourceConfiguration, self).__init__(instance_count=instance_count, instance_type=instance_type, properties=properties, **kwargs)
+
+
+class DiagnoseRequestProperties(msrest.serialization.Model):
+ """DiagnoseRequestProperties.
+
+ :ivar udr: Setting for diagnosing user defined routing.
+ :vartype udr: dict[str, any]
+ :ivar nsg: Setting for diagnosing network security group.
+ :vartype nsg: dict[str, any]
+ :ivar resource_lock: Setting for diagnosing resource lock.
+ :vartype resource_lock: dict[str, any]
+ :ivar dns_resolution: Setting for diagnosing dns resolution.
+ :vartype dns_resolution: dict[str, any]
+ :ivar storage_account: Setting for diagnosing dependent storage account.
+ :vartype storage_account: dict[str, any]
+ :ivar key_vault: Setting for diagnosing dependent key vault.
+ :vartype key_vault: dict[str, any]
+ :ivar container_registry: Setting for diagnosing dependent container registry.
+ :vartype container_registry: dict[str, any]
+ :ivar application_insights: Setting for diagnosing dependent application insights.
+ :vartype application_insights: dict[str, any]
+ :ivar others: Setting for diagnosing unclassified category of problems.
+ :vartype others: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'udr': {'key': 'udr', 'type': '{object}'},
+ 'nsg': {'key': 'nsg', 'type': '{object}'},
+ 'resource_lock': {'key': 'resourceLock', 'type': '{object}'},
+ 'dns_resolution': {'key': 'dnsResolution', 'type': '{object}'},
+ 'storage_account': {'key': 'storageAccount', 'type': '{object}'},
+ 'key_vault': {'key': 'keyVault', 'type': '{object}'},
+ 'container_registry': {'key': 'containerRegistry', 'type': '{object}'},
+ 'application_insights': {'key': 'applicationInsights', 'type': '{object}'},
+ 'others': {'key': 'others', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ udr: Optional[Dict[str, Any]] = None,
+ nsg: Optional[Dict[str, Any]] = None,
+ resource_lock: Optional[Dict[str, Any]] = None,
+ dns_resolution: Optional[Dict[str, Any]] = None,
+ storage_account: Optional[Dict[str, Any]] = None,
+ key_vault: Optional[Dict[str, Any]] = None,
+ container_registry: Optional[Dict[str, Any]] = None,
+ application_insights: Optional[Dict[str, Any]] = None,
+ others: Optional[Dict[str, Any]] = None,
+ **kwargs
+ ):
+ """
+ :keyword udr: Setting for diagnosing user defined routing.
+ :paramtype udr: dict[str, any]
+ :keyword nsg: Setting for diagnosing network security group.
+ :paramtype nsg: dict[str, any]
+ :keyword resource_lock: Setting for diagnosing resource lock.
+ :paramtype resource_lock: dict[str, any]
+ :keyword dns_resolution: Setting for diagnosing dns resolution.
+ :paramtype dns_resolution: dict[str, any]
+ :keyword storage_account: Setting for diagnosing dependent storage account.
+ :paramtype storage_account: dict[str, any]
+ :keyword key_vault: Setting for diagnosing dependent key vault.
+ :paramtype key_vault: dict[str, any]
+ :keyword container_registry: Setting for diagnosing dependent container registry.
+ :paramtype container_registry: dict[str, any]
+ :keyword application_insights: Setting for diagnosing dependent application insights.
+ :paramtype application_insights: dict[str, any]
+ :keyword others: Setting for diagnosing unclassified category of problems.
+ :paramtype others: dict[str, any]
+ """
+ super(DiagnoseRequestProperties, self).__init__(**kwargs)
+ self.udr = udr
+ self.nsg = nsg
+ self.resource_lock = resource_lock
+ self.dns_resolution = dns_resolution
+ self.storage_account = storage_account
+ self.key_vault = key_vault
+ self.container_registry = container_registry
+ self.application_insights = application_insights
+ self.others = others
+
+
+class DiagnoseResponseResult(msrest.serialization.Model):
+ """DiagnoseResponseResult.
+
+ :ivar value:
+ :vartype value: ~azure.mgmt.machinelearningservices.models.DiagnoseResponseResultValue
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'DiagnoseResponseResultValue'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional["DiagnoseResponseResultValue"] = None,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value: ~azure.mgmt.machinelearningservices.models.DiagnoseResponseResultValue
+ """
+ super(DiagnoseResponseResult, self).__init__(**kwargs)
+ self.value = value
+
+
+class DiagnoseResponseResultValue(msrest.serialization.Model):
+ """DiagnoseResponseResultValue.
+
+ :ivar user_defined_route_results:
+ :vartype user_defined_route_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar network_security_rule_results:
+ :vartype network_security_rule_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar resource_lock_results:
+ :vartype resource_lock_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar dns_resolution_results:
+ :vartype dns_resolution_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar storage_account_results:
+ :vartype storage_account_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar key_vault_results:
+ :vartype key_vault_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar container_registry_results:
+ :vartype container_registry_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar application_insights_results:
+ :vartype application_insights_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :ivar other_results:
+ :vartype other_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ """
+
+ _attribute_map = {
+ 'user_defined_route_results': {'key': 'userDefinedRouteResults', 'type': '[DiagnoseResult]'},
+ 'network_security_rule_results': {'key': 'networkSecurityRuleResults', 'type': '[DiagnoseResult]'},
+ 'resource_lock_results': {'key': 'resourceLockResults', 'type': '[DiagnoseResult]'},
+ 'dns_resolution_results': {'key': 'dnsResolutionResults', 'type': '[DiagnoseResult]'},
+ 'storage_account_results': {'key': 'storageAccountResults', 'type': '[DiagnoseResult]'},
+ 'key_vault_results': {'key': 'keyVaultResults', 'type': '[DiagnoseResult]'},
+ 'container_registry_results': {'key': 'containerRegistryResults', 'type': '[DiagnoseResult]'},
+ 'application_insights_results': {'key': 'applicationInsightsResults', 'type': '[DiagnoseResult]'},
+ 'other_results': {'key': 'otherResults', 'type': '[DiagnoseResult]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ user_defined_route_results: Optional[List["DiagnoseResult"]] = None,
+ network_security_rule_results: Optional[List["DiagnoseResult"]] = None,
+ resource_lock_results: Optional[List["DiagnoseResult"]] = None,
+ dns_resolution_results: Optional[List["DiagnoseResult"]] = None,
+ storage_account_results: Optional[List["DiagnoseResult"]] = None,
+ key_vault_results: Optional[List["DiagnoseResult"]] = None,
+ container_registry_results: Optional[List["DiagnoseResult"]] = None,
+ application_insights_results: Optional[List["DiagnoseResult"]] = None,
+ other_results: Optional[List["DiagnoseResult"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword user_defined_route_results:
+ :paramtype user_defined_route_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword network_security_rule_results:
+ :paramtype network_security_rule_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword resource_lock_results:
+ :paramtype resource_lock_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword dns_resolution_results:
+ :paramtype dns_resolution_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword storage_account_results:
+ :paramtype storage_account_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword key_vault_results:
+ :paramtype key_vault_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword container_registry_results:
+ :paramtype container_registry_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword application_insights_results:
+ :paramtype application_insights_results:
+ list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ :keyword other_results:
+ :paramtype other_results: list[~azure.mgmt.machinelearningservices.models.DiagnoseResult]
+ """
+ super(DiagnoseResponseResultValue, self).__init__(**kwargs)
+ self.user_defined_route_results = user_defined_route_results
+ self.network_security_rule_results = network_security_rule_results
+ self.resource_lock_results = resource_lock_results
+ self.dns_resolution_results = dns_resolution_results
+ self.storage_account_results = storage_account_results
+ self.key_vault_results = key_vault_results
+ self.container_registry_results = container_registry_results
+ self.application_insights_results = application_insights_results
+ self.other_results = other_results
+
+
+class DiagnoseResult(msrest.serialization.Model):
+ """Result of Diagnose.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: Code for workspace setup error.
+ :vartype code: str
+ :ivar level: Level of workspace setup error. Possible values include: "Warning", "Error",
+ "Information".
+ :vartype level: str or ~azure.mgmt.machinelearningservices.models.DiagnoseResultLevel
+ :ivar message: Message of workspace setup error.
+ :vartype message: str
+ """
+
+ _validation = {
+ 'code': {'readonly': True},
+ 'level': {'readonly': True},
+ 'message': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code': {'key': 'code', 'type': 'str'},
+ 'level': {'key': 'level', 'type': 'str'},
+ 'message': {'key': 'message', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DiagnoseResult, self).__init__(**kwargs)
+ self.code = None
+ self.level = None
+ self.message = None
+
+
+class DiagnoseWorkspaceParameters(msrest.serialization.Model):
+ """Parameters to diagnose a workspace.
+
+ :ivar value: Value of Parameters.
+ :vartype value: ~azure.mgmt.machinelearningservices.models.DiagnoseRequestProperties
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'DiagnoseRequestProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional["DiagnoseRequestProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: Value of Parameters.
+ :paramtype value: ~azure.mgmt.machinelearningservices.models.DiagnoseRequestProperties
+ """
+ super(DiagnoseWorkspaceParameters, self).__init__(**kwargs)
+ self.value = value
+
+
+class DistributionConfiguration(msrest.serialization.Model):
+ """Base definition for job distribution configuration.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: Mpi, PyTorch, TensorFlow.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'distribution_type': {'Mpi': 'Mpi', 'PyTorch': 'PyTorch', 'TensorFlow': 'TensorFlow'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(DistributionConfiguration, self).__init__(**kwargs)
+ self.distribution_type = None # type: Optional[str]
+
+
+class EncryptionKeyVaultProperties(msrest.serialization.Model):
+ """EncryptionKeyVaultProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar key_vault_arm_id: Required. The ArmId of the keyVault where the customer owned encryption
+ key is present.
+ :vartype key_vault_arm_id: str
+ :ivar key_identifier: Required. Key vault uri to access the encryption key.
+ :vartype key_identifier: str
+ :ivar identity_client_id: For future use - The client id of the identity which will be used to
+ access key vault.
+ :vartype identity_client_id: str
+ """
+
+ _validation = {
+ 'key_vault_arm_id': {'required': True},
+ 'key_identifier': {'required': True},
+ }
+
+ _attribute_map = {
+ 'key_vault_arm_id': {'key': 'keyVaultArmId', 'type': 'str'},
+ 'key_identifier': {'key': 'keyIdentifier', 'type': 'str'},
+ 'identity_client_id': {'key': 'identityClientId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ key_vault_arm_id: str,
+ key_identifier: str,
+ identity_client_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword key_vault_arm_id: Required. The ArmId of the keyVault where the customer owned
+ encryption key is present.
+ :paramtype key_vault_arm_id: str
+ :keyword key_identifier: Required. Key vault uri to access the encryption key.
+ :paramtype key_identifier: str
+ :keyword identity_client_id: For future use - The client id of the identity which will be used
+ to access key vault.
+ :paramtype identity_client_id: str
+ """
+ super(EncryptionKeyVaultProperties, self).__init__(**kwargs)
+ self.key_vault_arm_id = key_vault_arm_id
+ self.key_identifier = key_identifier
+ self.identity_client_id = identity_client_id
+
+
+class EncryptionProperty(msrest.serialization.Model):
+ """EncryptionProperty.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar status: Required. Indicates whether or not the encryption is enabled for the workspace.
+ Possible values include: "Enabled", "Disabled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.EncryptionStatus
+ :ivar identity: The identity that will be used to access the key vault for encryption at rest.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityForCmk
+ :ivar key_vault_properties: Required. Customer Key vault properties.
+ :vartype key_vault_properties:
+ ~azure.mgmt.machinelearningservices.models.EncryptionKeyVaultProperties
+ """
+
+ _validation = {
+ 'status': {'required': True},
+ 'key_vault_properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'status': {'key': 'status', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityForCmk'},
+ 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'EncryptionKeyVaultProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ status: Union[str, "EncryptionStatus"],
+ key_vault_properties: "EncryptionKeyVaultProperties",
+ identity: Optional["IdentityForCmk"] = None,
+ **kwargs
+ ):
+ """
+ :keyword status: Required. Indicates whether or not the encryption is enabled for the
+ workspace. Possible values include: "Enabled", "Disabled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.EncryptionStatus
+ :keyword identity: The identity that will be used to access the key vault for encryption at
+ rest.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityForCmk
+ :keyword key_vault_properties: Required. Customer Key vault properties.
+ :paramtype key_vault_properties:
+ ~azure.mgmt.machinelearningservices.models.EncryptionKeyVaultProperties
+ """
+ super(EncryptionProperty, self).__init__(**kwargs)
+ self.status = status
+ self.identity = identity
+ self.key_vault_properties = key_vault_properties
+
+
+class EndpointAuthKeys(msrest.serialization.Model):
+ """Keys for endpoint authentication.
+
+ :ivar primary_key: The primary key.
+ :vartype primary_key: str
+ :ivar secondary_key: The secondary key.
+ :vartype secondary_key: str
+ """
+
+ _attribute_map = {
+ 'primary_key': {'key': 'primaryKey', 'type': 'str'},
+ 'secondary_key': {'key': 'secondaryKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ primary_key: Optional[str] = None,
+ secondary_key: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword primary_key: The primary key.
+ :paramtype primary_key: str
+ :keyword secondary_key: The secondary key.
+ :paramtype secondary_key: str
+ """
+ super(EndpointAuthKeys, self).__init__(**kwargs)
+ self.primary_key = primary_key
+ self.secondary_key = secondary_key
+
+
+class EndpointAuthToken(msrest.serialization.Model):
+ """Service Token.
+
+ :ivar access_token: Access token for endpoint authentication.
+ :vartype access_token: str
+ :ivar expiry_time_utc: Access token expiry time (UTC).
+ :vartype expiry_time_utc: long
+ :ivar refresh_after_time_utc: Refresh access token after time (UTC).
+ :vartype refresh_after_time_utc: long
+ :ivar token_type: Access token type.
+ :vartype token_type: str
+ """
+
+ _attribute_map = {
+ 'access_token': {'key': 'accessToken', 'type': 'str'},
+ 'expiry_time_utc': {'key': 'expiryTimeUtc', 'type': 'long'},
+ 'refresh_after_time_utc': {'key': 'refreshAfterTimeUtc', 'type': 'long'},
+ 'token_type': {'key': 'tokenType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ access_token: Optional[str] = None,
+ expiry_time_utc: Optional[int] = 0,
+ refresh_after_time_utc: Optional[int] = 0,
+ token_type: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword access_token: Access token for endpoint authentication.
+ :paramtype access_token: str
+ :keyword expiry_time_utc: Access token expiry time (UTC).
+ :paramtype expiry_time_utc: long
+ :keyword refresh_after_time_utc: Refresh access token after time (UTC).
+ :paramtype refresh_after_time_utc: long
+ :keyword token_type: Access token type.
+ :paramtype token_type: str
+ """
+ super(EndpointAuthToken, self).__init__(**kwargs)
+ self.access_token = access_token
+ self.expiry_time_utc = expiry_time_utc
+ self.refresh_after_time_utc = refresh_after_time_utc
+ self.token_type = token_type
+
+
+class ScheduleActionBase(msrest.serialization.Model):
+ """ScheduleActionBase.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: JobScheduleAction, EndpointScheduleAction.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar action_type: Required. [Required] Specifies the action type of the schedule.Constant
+ filled by server. Possible values include: "CreateJob", "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ """
+
+ _validation = {
+ 'action_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'action_type': {'key': 'actionType', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'action_type': {'CreateJob': 'JobScheduleAction', 'InvokeBatchEndpoint': 'EndpointScheduleAction'}
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ScheduleActionBase, self).__init__(**kwargs)
+ self.action_type = None # type: Optional[str]
+
+
+class EndpointScheduleAction(ScheduleActionBase):
+ """EndpointScheduleAction.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar action_type: Required. [Required] Specifies the action type of the schedule.Constant
+ filled by server. Possible values include: "CreateJob", "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ :ivar endpoint_invocation_definition: Required. [Required] Defines Schedule action definition
+ details.
+
+
+ .. raw:: html
+
+ <see href="TBD" />.
+ :vartype endpoint_invocation_definition: any
+ """
+
+ _validation = {
+ 'action_type': {'required': True},
+ 'endpoint_invocation_definition': {'required': True},
+ }
+
+ _attribute_map = {
+ 'action_type': {'key': 'actionType', 'type': 'str'},
+ 'endpoint_invocation_definition': {'key': 'endpointInvocationDefinition', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ *,
+ endpoint_invocation_definition: Any,
+ **kwargs
+ ):
+ """
+ :keyword endpoint_invocation_definition: Required. [Required] Defines Schedule action
+ definition details.
+
+
+ .. raw:: html
+
+ <see href="TBD" />.
+ :paramtype endpoint_invocation_definition: any
+ """
+ super(EndpointScheduleAction, self).__init__(**kwargs)
+ self.action_type = 'InvokeBatchEndpoint' # type: str
+ self.endpoint_invocation_definition = endpoint_invocation_definition
+
+
+class EnvironmentContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'EnvironmentContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "EnvironmentContainerProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.EnvironmentContainerProperties
+ """
+ super(EnvironmentContainer, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class EnvironmentContainerProperties(AssetContainer):
+ """Container for environment specification versions.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(EnvironmentContainerProperties, self).__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+
+
+class EnvironmentContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of EnvironmentContainer entities.
+
+ :ivar next_link: The link to the next page of EnvironmentContainer objects. If null, there are
+ no additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type EnvironmentContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[EnvironmentContainer]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["EnvironmentContainer"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of EnvironmentContainer objects. If null, there
+ are no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type EnvironmentContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ """
+ super(EnvironmentContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class EnvironmentVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'EnvironmentVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "EnvironmentVersionProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentVersionProperties
+ """
+ super(EnvironmentVersion, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class EnvironmentVersionProperties(AssetBase):
+ """Environment version details.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar auto_rebuild: Defines if image needs to be rebuilt based on base image changes. Possible
+ values include: "Disabled", "OnBaseImageUpdate".
+ :vartype auto_rebuild: str or ~azure.mgmt.machinelearningservices.models.AutoRebuildSetting
+ :ivar build: Configuration settings for Docker build context.
+ :vartype build: ~azure.mgmt.machinelearningservices.models.BuildContext
+ :ivar conda_file: Standard configuration file used by Conda that lets you install any kind of
+ package, including Python, R, and C/C++ packages.
+
+
+ .. raw:: html
+
+ <see
+ href="https://repo2docker.readthedocs.io/en/latest/config_files.html#environment-yml-install-a-conda-environment"
+ />.
+ :vartype conda_file: str
+ :ivar environment_type: Environment type is either user managed or curated by the Azure ML
+ service
+
+
+ .. raw:: html
+
+ <see
+ href="https://learn.microsoft.com/azure/machine-learning/resource-curated-environments"
+ />. Possible values include: "Curated", "UserCreated".
+ :vartype environment_type: str or ~azure.mgmt.machinelearningservices.models.EnvironmentType
+ :ivar image: Name of the image that will be used for the environment.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://learn.microsoft.com/azure/machine-learning/how-to-deploy-custom-docker-image#use-a-custom-base-image"
+ />.
+ :vartype image: str
+ :ivar inference_config: Defines configuration specific to inference.
+ :vartype inference_config:
+ ~azure.mgmt.machinelearningservices.models.InferenceContainerProperties
+ :ivar os_type: The OS type of the environment. Possible values include: "Linux", "Windows".
+ :vartype os_type: str or ~azure.mgmt.machinelearningservices.models.OperatingSystemType
+ """
+
+ _validation = {
+ 'environment_type': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'auto_rebuild': {'key': 'autoRebuild', 'type': 'str'},
+ 'build': {'key': 'build', 'type': 'BuildContext'},
+ 'conda_file': {'key': 'condaFile', 'type': 'str'},
+ 'environment_type': {'key': 'environmentType', 'type': 'str'},
+ 'image': {'key': 'image', 'type': 'str'},
+ 'inference_config': {'key': 'inferenceConfig', 'type': 'InferenceContainerProperties'},
+ 'os_type': {'key': 'osType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ auto_rebuild: Optional[Union[str, "AutoRebuildSetting"]] = None,
+ build: Optional["BuildContext"] = None,
+ conda_file: Optional[str] = None,
+ image: Optional[str] = None,
+ inference_config: Optional["InferenceContainerProperties"] = None,
+ os_type: Optional[Union[str, "OperatingSystemType"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword auto_rebuild: Defines if image needs to be rebuilt based on base image changes.
+ Possible values include: "Disabled", "OnBaseImageUpdate".
+ :paramtype auto_rebuild: str or ~azure.mgmt.machinelearningservices.models.AutoRebuildSetting
+ :keyword build: Configuration settings for Docker build context.
+ :paramtype build: ~azure.mgmt.machinelearningservices.models.BuildContext
+ :keyword conda_file: Standard configuration file used by Conda that lets you install any kind
+ of package, including Python, R, and C/C++ packages.
+
+
+ .. raw:: html
+
+ <see
+ href="https://repo2docker.readthedocs.io/en/latest/config_files.html#environment-yml-install-a-conda-environment"
+ />.
+ :paramtype conda_file: str
+ :keyword image: Name of the image that will be used for the environment.
+
+
+ .. raw:: html
+
+ <seealso
+ href="https://learn.microsoft.com/azure/machine-learning/how-to-deploy-custom-docker-image#use-a-custom-base-image"
+ />.
+ :paramtype image: str
+ :keyword inference_config: Defines configuration specific to inference.
+ :paramtype inference_config:
+ ~azure.mgmt.machinelearningservices.models.InferenceContainerProperties
+ :keyword os_type: The OS type of the environment. Possible values include: "Linux", "Windows".
+ :paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.OperatingSystemType
+ """
+ super(EnvironmentVersionProperties, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, **kwargs)
+ self.auto_rebuild = auto_rebuild
+ self.build = build
+ self.conda_file = conda_file
+ self.environment_type = None
+ self.image = image
+ self.inference_config = inference_config
+ self.os_type = os_type
+
+
+class EnvironmentVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of EnvironmentVersion entities.
+
+ :ivar next_link: The link to the next page of EnvironmentVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type EnvironmentVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[EnvironmentVersion]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["EnvironmentVersion"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of EnvironmentVersion objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type EnvironmentVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ """
+ super(EnvironmentVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class ErrorAdditionalInfo(msrest.serialization.Model):
+ """The resource management error additional info.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar type: The additional info type.
+ :vartype type: str
+ :ivar info: The additional info.
+ :vartype info: any
+ """
+
+ _validation = {
+ 'type': {'readonly': True},
+ 'info': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'type': {'key': 'type', 'type': 'str'},
+ 'info': {'key': 'info', 'type': 'object'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ErrorAdditionalInfo, self).__init__(**kwargs)
+ self.type = None
+ self.info = None
+
+
+class ErrorDetail(msrest.serialization.Model):
+ """The error detail.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: The error code.
+ :vartype code: str
+ :ivar message: The error message.
+ :vartype message: str
+ :ivar target: The error target.
+ :vartype target: str
+ :ivar details: The error details.
+ :vartype details: list[~azure.mgmt.machinelearningservices.models.ErrorDetail]
+ :ivar additional_info: The error additional info.
+ :vartype additional_info: list[~azure.mgmt.machinelearningservices.models.ErrorAdditionalInfo]
+ """
+
+ _validation = {
+ 'code': {'readonly': True},
+ 'message': {'readonly': True},
+ 'target': {'readonly': True},
+ 'details': {'readonly': True},
+ 'additional_info': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code': {'key': 'code', 'type': 'str'},
+ 'message': {'key': 'message', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'details': {'key': 'details', 'type': '[ErrorDetail]'},
+ 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ErrorDetail, self).__init__(**kwargs)
+ self.code = None
+ self.message = None
+ self.target = None
+ self.details = None
+ self.additional_info = None
+
+
+class ErrorResponse(msrest.serialization.Model):
+ """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
+
+ :ivar error: The error object.
+ :vartype error: ~azure.mgmt.machinelearningservices.models.ErrorDetail
+ """
+
+ _attribute_map = {
+ 'error': {'key': 'error', 'type': 'ErrorDetail'},
+ }
+
+ def __init__(
+ self,
+ *,
+ error: Optional["ErrorDetail"] = None,
+ **kwargs
+ ):
+ """
+ :keyword error: The error object.
+ :paramtype error: ~azure.mgmt.machinelearningservices.models.ErrorDetail
+ """
+ super(ErrorResponse, self).__init__(**kwargs)
+ self.error = error
+
+
+class EstimatedVMPrice(msrest.serialization.Model):
+ """The estimated price info for using a VM of a particular OS type, tier, etc.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar retail_price: Required. The price charged for using the VM.
+ :vartype retail_price: float
+ :ivar os_type: Required. Operating system type used by the VM. Possible values include:
+ "Linux", "Windows".
+ :vartype os_type: str or ~azure.mgmt.machinelearningservices.models.VMPriceOSType
+ :ivar vm_tier: Required. The type of the VM. Possible values include: "Standard",
+ "LowPriority", "Spot".
+ :vartype vm_tier: str or ~azure.mgmt.machinelearningservices.models.VMTier
+ """
+
+ _validation = {
+ 'retail_price': {'required': True},
+ 'os_type': {'required': True},
+ 'vm_tier': {'required': True},
+ }
+
+ _attribute_map = {
+ 'retail_price': {'key': 'retailPrice', 'type': 'float'},
+ 'os_type': {'key': 'osType', 'type': 'str'},
+ 'vm_tier': {'key': 'vmTier', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ retail_price: float,
+ os_type: Union[str, "VMPriceOSType"],
+ vm_tier: Union[str, "VMTier"],
+ **kwargs
+ ):
+ """
+ :keyword retail_price: Required. The price charged for using the VM.
+ :paramtype retail_price: float
+ :keyword os_type: Required. Operating system type used by the VM. Possible values include:
+ "Linux", "Windows".
+ :paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.VMPriceOSType
+ :keyword vm_tier: Required. The type of the VM. Possible values include: "Standard",
+ "LowPriority", "Spot".
+ :paramtype vm_tier: str or ~azure.mgmt.machinelearningservices.models.VMTier
+ """
+ super(EstimatedVMPrice, self).__init__(**kwargs)
+ self.retail_price = retail_price
+ self.os_type = os_type
+ self.vm_tier = vm_tier
+
+
+class EstimatedVMPrices(msrest.serialization.Model):
+ """The estimated price info for using a VM.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar billing_currency: Required. Three lettered code specifying the currency of the VM price.
+ Example: USD. Possible values include: "USD".
+ :vartype billing_currency: str or ~azure.mgmt.machinelearningservices.models.BillingCurrency
+ :ivar unit_of_measure: Required. The unit of time measurement for the specified VM price.
+ Example: OneHour. Possible values include: "OneHour".
+ :vartype unit_of_measure: str or ~azure.mgmt.machinelearningservices.models.UnitOfMeasure
+ :ivar values: Required. The list of estimated prices for using a VM of a particular OS type,
+ tier, etc.
+ :vartype values: list[~azure.mgmt.machinelearningservices.models.EstimatedVMPrice]
+ """
+
+ _validation = {
+ 'billing_currency': {'required': True},
+ 'unit_of_measure': {'required': True},
+ 'values': {'required': True},
+ }
+
+ _attribute_map = {
+ 'billing_currency': {'key': 'billingCurrency', 'type': 'str'},
+ 'unit_of_measure': {'key': 'unitOfMeasure', 'type': 'str'},
+ 'values': {'key': 'values', 'type': '[EstimatedVMPrice]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ billing_currency: Union[str, "BillingCurrency"],
+ unit_of_measure: Union[str, "UnitOfMeasure"],
+ values: List["EstimatedVMPrice"],
+ **kwargs
+ ):
+ """
+ :keyword billing_currency: Required. Three lettered code specifying the currency of the VM
+ price. Example: USD. Possible values include: "USD".
+ :paramtype billing_currency: str or ~azure.mgmt.machinelearningservices.models.BillingCurrency
+ :keyword unit_of_measure: Required. The unit of time measurement for the specified VM price.
+ Example: OneHour. Possible values include: "OneHour".
+ :paramtype unit_of_measure: str or ~azure.mgmt.machinelearningservices.models.UnitOfMeasure
+ :keyword values: Required. The list of estimated prices for using a VM of a particular OS type,
+ tier, etc.
+ :paramtype values: list[~azure.mgmt.machinelearningservices.models.EstimatedVMPrice]
+ """
+ super(EstimatedVMPrices, self).__init__(**kwargs)
+ self.billing_currency = billing_currency
+ self.unit_of_measure = unit_of_measure
+ self.values = values
+
+
+class ExternalFQDNResponse(msrest.serialization.Model):
+ """ExternalFQDNResponse.
+
+ :ivar value:
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoints]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[FQDNEndpoints]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["FQDNEndpoints"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoints]
+ """
+ super(ExternalFQDNResponse, self).__init__(**kwargs)
+ self.value = value
+
+
+class FeaturizationSettings(msrest.serialization.Model):
+ """Featurization Configuration.
+
+ :ivar dataset_language: Dataset language, useful for the text data.
+ :vartype dataset_language: str
+ """
+
+ _attribute_map = {
+ 'dataset_language': {'key': 'datasetLanguage', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ dataset_language: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ """
+ super(FeaturizationSettings, self).__init__(**kwargs)
+ self.dataset_language = dataset_language
+
+
+class FlavorData(msrest.serialization.Model):
+ """FlavorData.
+
+ :ivar data: Model flavor-specific data.
+ :vartype data: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'data': {'key': 'data', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ data: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword data: Model flavor-specific data.
+ :paramtype data: dict[str, str]
+ """
+ super(FlavorData, self).__init__(**kwargs)
+ self.data = data
+
+
+class Forecasting(AutoMLVertical, TableVertical):
+ """Forecasting task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar forecasting_settings: Forecasting task specific inputs.
+ :vartype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
+ :ivar primary_metric: Primary metric for forecasting task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingPrimaryMetrics
+ :ivar training_settings: Inputs for training phase for an AutoML Job.
+ :vartype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ForecastingTrainingSettings
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'forecasting_settings': {'key': 'forecastingSettings', 'type': 'ForecastingSettings'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ 'training_settings': {'key': 'trainingSettings', 'type': 'ForecastingTrainingSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ cv_split_column_names: Optional[List[str]] = None,
+ featurization_settings: Optional["TableVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["TableVerticalLimitSettings"] = None,
+ n_cross_validations: Optional["NCrossValidations"] = None,
+ test_data: Optional["MLTableJobInput"] = None,
+ test_data_size: Optional[float] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ weight_column_name: Optional[str] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ forecasting_settings: Optional["ForecastingSettings"] = None,
+ primary_metric: Optional[Union[str, "ForecastingPrimaryMetrics"]] = None,
+ training_settings: Optional["ForecastingTrainingSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword forecasting_settings: Forecasting task specific inputs.
+ :paramtype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
+ :keyword primary_metric: Primary metric for forecasting task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingPrimaryMetrics
+ :keyword training_settings: Inputs for training phase for an AutoML Job.
+ :paramtype training_settings:
+ ~azure.mgmt.machinelearningservices.models.ForecastingTrainingSettings
+ """
+ super(Forecasting, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, cv_split_column_names=cv_split_column_names, featurization_settings=featurization_settings, limit_settings=limit_settings, n_cross_validations=n_cross_validations, test_data=test_data, test_data_size=test_data_size, validation_data=validation_data, validation_data_size=validation_data_size, weight_column_name=weight_column_name, **kwargs)
+ self.cv_split_column_names = cv_split_column_names
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.n_cross_validations = n_cross_validations
+ self.test_data = test_data
+ self.test_data_size = test_data_size
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.weight_column_name = weight_column_name
+ self.task_type = 'Forecasting' # type: str
+ self.forecasting_settings = forecasting_settings
+ self.primary_metric = primary_metric
+ self.training_settings = training_settings
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class ForecastingSettings(msrest.serialization.Model):
+ """Forecasting specific parameters.
+
+ :ivar country_or_region_for_holidays: Country or region for holidays for forecasting tasks.
+ These should be ISO 3166 two-letter country/region codes, for example 'US' or 'GB'.
+ :vartype country_or_region_for_holidays: str
+ :ivar cv_step_size: Number of periods between the origin time of one CV fold and the next fold.
+ For
+ example, if ``CVStepSize`` = 3 for daily data, the origin time for each fold will be
+ three days apart.
+ :vartype cv_step_size: int
+ :ivar feature_lags: Flag for generating lags for the numeric features with 'auto' or null.
+ Possible values include: "None", "Auto".
+ :vartype feature_lags: str or ~azure.mgmt.machinelearningservices.models.FeatureLags
+ :ivar forecast_horizon: The desired maximum forecast horizon in units of time-series frequency.
+ :vartype forecast_horizon: ~azure.mgmt.machinelearningservices.models.ForecastHorizon
+ :ivar frequency: When forecasting, this parameter represents the period with which the forecast
+ is desired, for example daily, weekly, yearly, etc. The forecast frequency is dataset frequency
+ by default.
+ :vartype frequency: str
+ :ivar seasonality: Set time series seasonality as an integer multiple of the series frequency.
+ If seasonality is set to 'auto', it will be inferred.
+ :vartype seasonality: ~azure.mgmt.machinelearningservices.models.Seasonality
+ :ivar short_series_handling_config: The parameter defining how if AutoML should handle short
+ time series. Possible values include: "None", "Auto", "Pad", "Drop".
+ :vartype short_series_handling_config: str or
+ ~azure.mgmt.machinelearningservices.models.ShortSeriesHandlingConfiguration
+ :ivar target_aggregate_function: The function to be used to aggregate the time series target
+ column to conform to a user specified frequency.
+ If the TargetAggregateFunction is set i.e. not 'None', but the freq parameter is not set, the
+ error is raised. The possible target aggregation functions are: "sum", "max", "min" and "mean".
+ Possible values include: "None", "Sum", "Max", "Min", "Mean".
+ :vartype target_aggregate_function: str or
+ ~azure.mgmt.machinelearningservices.models.TargetAggregationFunction
+ :ivar target_lags: The number of past periods to lag from the target column.
+ :vartype target_lags: ~azure.mgmt.machinelearningservices.models.TargetLags
+ :ivar target_rolling_window_size: The number of past periods used to create a rolling window
+ average of the target column.
+ :vartype target_rolling_window_size:
+ ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSize
+ :ivar time_column_name: The name of the time column. This parameter is required when
+ forecasting to specify the datetime column in the input data used for building the time series
+ and inferring its frequency.
+ :vartype time_column_name: str
+ :ivar time_series_id_column_names: The names of columns used to group a timeseries. It can be
+ used to create multiple series.
+ If grain is not defined, the data set is assumed to be one time-series. This parameter is used
+ with task type forecasting.
+ :vartype time_series_id_column_names: list[str]
+ :ivar use_stl: Configure STL Decomposition of the time-series target column. Possible values
+ include: "None", "Season", "SeasonTrend".
+ :vartype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ """
+
+ _attribute_map = {
+ 'country_or_region_for_holidays': {'key': 'countryOrRegionForHolidays', 'type': 'str'},
+ 'cv_step_size': {'key': 'cvStepSize', 'type': 'int'},
+ 'feature_lags': {'key': 'featureLags', 'type': 'str'},
+ 'forecast_horizon': {'key': 'forecastHorizon', 'type': 'ForecastHorizon'},
+ 'frequency': {'key': 'frequency', 'type': 'str'},
+ 'seasonality': {'key': 'seasonality', 'type': 'Seasonality'},
+ 'short_series_handling_config': {'key': 'shortSeriesHandlingConfig', 'type': 'str'},
+ 'target_aggregate_function': {'key': 'targetAggregateFunction', 'type': 'str'},
+ 'target_lags': {'key': 'targetLags', 'type': 'TargetLags'},
+ 'target_rolling_window_size': {'key': 'targetRollingWindowSize', 'type': 'TargetRollingWindowSize'},
+ 'time_column_name': {'key': 'timeColumnName', 'type': 'str'},
+ 'time_series_id_column_names': {'key': 'timeSeriesIdColumnNames', 'type': '[str]'},
+ 'use_stl': {'key': 'useStl', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ country_or_region_for_holidays: Optional[str] = None,
+ cv_step_size: Optional[int] = None,
+ feature_lags: Optional[Union[str, "FeatureLags"]] = None,
+ forecast_horizon: Optional["ForecastHorizon"] = None,
+ frequency: Optional[str] = None,
+ seasonality: Optional["Seasonality"] = None,
+ short_series_handling_config: Optional[Union[str, "ShortSeriesHandlingConfiguration"]] = None,
+ target_aggregate_function: Optional[Union[str, "TargetAggregationFunction"]] = None,
+ target_lags: Optional["TargetLags"] = None,
+ target_rolling_window_size: Optional["TargetRollingWindowSize"] = None,
+ time_column_name: Optional[str] = None,
+ time_series_id_column_names: Optional[List[str]] = None,
+ use_stl: Optional[Union[str, "UseStl"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword country_or_region_for_holidays: Country or region for holidays for forecasting tasks.
+ These should be ISO 3166 two-letter country/region codes, for example 'US' or 'GB'.
+ :paramtype country_or_region_for_holidays: str
+ :keyword cv_step_size: Number of periods between the origin time of one CV fold and the next
+ fold. For
+ example, if ``CVStepSize`` = 3 for daily data, the origin time for each fold will be
+ three days apart.
+ :paramtype cv_step_size: int
+ :keyword feature_lags: Flag for generating lags for the numeric features with 'auto' or null.
+ Possible values include: "None", "Auto".
+ :paramtype feature_lags: str or ~azure.mgmt.machinelearningservices.models.FeatureLags
+ :keyword forecast_horizon: The desired maximum forecast horizon in units of time-series
+ frequency.
+ :paramtype forecast_horizon: ~azure.mgmt.machinelearningservices.models.ForecastHorizon
+ :keyword frequency: When forecasting, this parameter represents the period with which the
+ forecast is desired, for example daily, weekly, yearly, etc. The forecast frequency is dataset
+ frequency by default.
+ :paramtype frequency: str
+ :keyword seasonality: Set time series seasonality as an integer multiple of the series
+ frequency.
+ If seasonality is set to 'auto', it will be inferred.
+ :paramtype seasonality: ~azure.mgmt.machinelearningservices.models.Seasonality
+ :keyword short_series_handling_config: The parameter defining how if AutoML should handle short
+ time series. Possible values include: "None", "Auto", "Pad", "Drop".
+ :paramtype short_series_handling_config: str or
+ ~azure.mgmt.machinelearningservices.models.ShortSeriesHandlingConfiguration
+ :keyword target_aggregate_function: The function to be used to aggregate the time series target
+ column to conform to a user specified frequency.
+ If the TargetAggregateFunction is set i.e. not 'None', but the freq parameter is not set, the
+ error is raised. The possible target aggregation functions are: "sum", "max", "min" and "mean".
+ Possible values include: "None", "Sum", "Max", "Min", "Mean".
+ :paramtype target_aggregate_function: str or
+ ~azure.mgmt.machinelearningservices.models.TargetAggregationFunction
+ :keyword target_lags: The number of past periods to lag from the target column.
+ :paramtype target_lags: ~azure.mgmt.machinelearningservices.models.TargetLags
+ :keyword target_rolling_window_size: The number of past periods used to create a rolling window
+ average of the target column.
+ :paramtype target_rolling_window_size:
+ ~azure.mgmt.machinelearningservices.models.TargetRollingWindowSize
+ :keyword time_column_name: The name of the time column. This parameter is required when
+ forecasting to specify the datetime column in the input data used for building the time series
+ and inferring its frequency.
+ :paramtype time_column_name: str
+ :keyword time_series_id_column_names: The names of columns used to group a timeseries. It can
+ be used to create multiple series.
+ If grain is not defined, the data set is assumed to be one time-series. This parameter is used
+ with task type forecasting.
+ :paramtype time_series_id_column_names: list[str]
+ :keyword use_stl: Configure STL Decomposition of the time-series target column. Possible values
+ include: "None", "Season", "SeasonTrend".
+ :paramtype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ """
+ super(ForecastingSettings, self).__init__(**kwargs)
+ self.country_or_region_for_holidays = country_or_region_for_holidays
+ self.cv_step_size = cv_step_size
+ self.feature_lags = feature_lags
+ self.forecast_horizon = forecast_horizon
+ self.frequency = frequency
+ self.seasonality = seasonality
+ self.short_series_handling_config = short_series_handling_config
+ self.target_aggregate_function = target_aggregate_function
+ self.target_lags = target_lags
+ self.target_rolling_window_size = target_rolling_window_size
+ self.time_column_name = time_column_name
+ self.time_series_id_column_names = time_series_id_column_names
+ self.use_stl = use_stl
+
+
+class ForecastingTrainingSettings(TrainingSettings):
+ """Forecasting Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar allowed_training_algorithms: Allowed models for forecasting task.
+ :vartype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ :ivar blocked_training_algorithms: Blocked models for forecasting task.
+ :vartype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ 'allowed_training_algorithms': {'key': 'allowedTrainingAlgorithms', 'type': '[str]'},
+ 'blocked_training_algorithms': {'key': 'blockedTrainingAlgorithms', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ enable_dnn_training: Optional[bool] = False,
+ enable_model_explainability: Optional[bool] = True,
+ enable_onnx_compatible_models: Optional[bool] = False,
+ enable_stack_ensemble: Optional[bool] = True,
+ enable_vote_ensemble: Optional[bool] = True,
+ ensemble_model_download_timeout: Optional[datetime.timedelta] = "PT5M",
+ stack_ensemble_settings: Optional["StackEnsembleSettings"] = None,
+ allowed_training_algorithms: Optional[List[Union[str, "ForecastingModels"]]] = None,
+ blocked_training_algorithms: Optional[List[Union[str, "ForecastingModels"]]] = None,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword allowed_training_algorithms: Allowed models for forecasting task.
+ :paramtype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ :keyword blocked_training_algorithms: Blocked models for forecasting task.
+ :paramtype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.ForecastingModels]
+ """
+ super(ForecastingTrainingSettings, self).__init__(enable_dnn_training=enable_dnn_training, enable_model_explainability=enable_model_explainability, enable_onnx_compatible_models=enable_onnx_compatible_models, enable_stack_ensemble=enable_stack_ensemble, enable_vote_ensemble=enable_vote_ensemble, ensemble_model_download_timeout=ensemble_model_download_timeout, stack_ensemble_settings=stack_ensemble_settings, **kwargs)
+ self.allowed_training_algorithms = allowed_training_algorithms
+ self.blocked_training_algorithms = blocked_training_algorithms
+
+
+class FQDNEndpoint(msrest.serialization.Model):
+ """FQDNEndpoint.
+
+ :ivar domain_name:
+ :vartype domain_name: str
+ :ivar endpoint_details:
+ :vartype endpoint_details: list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
+ """
+
+ _attribute_map = {
+ 'domain_name': {'key': 'domainName', 'type': 'str'},
+ 'endpoint_details': {'key': 'endpointDetails', 'type': '[FQDNEndpointDetail]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ domain_name: Optional[str] = None,
+ endpoint_details: Optional[List["FQDNEndpointDetail"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword domain_name:
+ :paramtype domain_name: str
+ :keyword endpoint_details:
+ :paramtype endpoint_details:
+ list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
+ """
+ super(FQDNEndpoint, self).__init__(**kwargs)
+ self.domain_name = domain_name
+ self.endpoint_details = endpoint_details
+
+
+class FQDNEndpointDetail(msrest.serialization.Model):
+ """FQDNEndpointDetail.
+
+ :ivar port:
+ :vartype port: int
+ """
+
+ _attribute_map = {
+ 'port': {'key': 'port', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ port: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword port:
+ :paramtype port: int
+ """
+ super(FQDNEndpointDetail, self).__init__(**kwargs)
+ self.port = port
+
+
+class FQDNEndpoints(msrest.serialization.Model):
+ """FQDNEndpoints.
+
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'FQDNEndpointsProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["FQDNEndpointsProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
+ """
+ super(FQDNEndpoints, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class FQDNEndpointsProperties(msrest.serialization.Model):
+ """FQDNEndpointsProperties.
+
+ :ivar category:
+ :vartype category: str
+ :ivar endpoints:
+ :vartype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ """
+
+ _attribute_map = {
+ 'category': {'key': 'category', 'type': 'str'},
+ 'endpoints': {'key': 'endpoints', 'type': '[FQDNEndpoint]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[str] = None,
+ endpoints: Optional[List["FQDNEndpoint"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword category:
+ :paramtype category: str
+ :keyword endpoints:
+ :paramtype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ """
+ super(FQDNEndpointsProperties, self).__init__(**kwargs)
+ self.category = category
+ self.endpoints = endpoints
+
+
+class GridSamplingAlgorithm(SamplingAlgorithm):
+ """Defines a Sampling Algorithm that exhaustively generates every value combination in the space.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(GridSamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = 'Grid' # type: str
+
+
+class HDInsightSchema(msrest.serialization.Model):
+ """HDInsightSchema.
+
+ :ivar properties: HDInsight compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'HDInsightProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["HDInsightProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: HDInsight compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ """
+ super(HDInsightSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class HDInsight(Compute, HDInsightSchema):
+ """A HDInsight compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: HDInsight compute properties.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'HDInsightProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["HDInsightProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: HDInsight compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(HDInsight, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'HDInsight' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class HDInsightProperties(msrest.serialization.Model):
+ """HDInsight compute properties.
+
+ :ivar ssh_port: Port open for ssh connections on the master node of the cluster.
+ :vartype ssh_port: int
+ :ivar address: Public IP address of the master node of the cluster.
+ :vartype address: str
+ :ivar administrator_account: Admin credentials for master node of the cluster.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+
+ _attribute_map = {
+ 'ssh_port': {'key': 'sshPort', 'type': 'int'},
+ 'address': {'key': 'address', 'type': 'str'},
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ }
+
+ def __init__(
+ self,
+ *,
+ ssh_port: Optional[int] = None,
+ address: Optional[str] = None,
+ administrator_account: Optional["VirtualMachineSshCredentials"] = None,
+ **kwargs
+ ):
+ """
+ :keyword ssh_port: Port open for ssh connections on the master node of the cluster.
+ :paramtype ssh_port: int
+ :keyword address: Public IP address of the master node of the cluster.
+ :paramtype address: str
+ :keyword administrator_account: Admin credentials for master node of the cluster.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+ super(HDInsightProperties, self).__init__(**kwargs)
+ self.ssh_port = ssh_port
+ self.address = address
+ self.administrator_account = administrator_account
+
+
+class IdAssetReference(AssetReferenceBase):
+ """Reference to an asset via its ARM resource ID.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar asset_id: Required. [Required] ARM resource ID of the asset.
+ :vartype asset_id: str
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ 'asset_id': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ 'asset_id': {'key': 'assetId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ asset_id: str,
+ **kwargs
+ ):
+ """
+ :keyword asset_id: Required. [Required] ARM resource ID of the asset.
+ :paramtype asset_id: str
+ """
+ super(IdAssetReference, self).__init__(**kwargs)
+ self.reference_type = 'Id' # type: str
+ self.asset_id = asset_id
+
+
+class IdentityForCmk(msrest.serialization.Model):
+ """Identity that will be used to access key vault for encryption at rest.
+
+ :ivar user_assigned_identity: The ArmId of the user assigned identity that will be used to
+ access the customer managed key vault.
+ :vartype user_assigned_identity: str
+ """
+
+ _attribute_map = {
+ 'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ user_assigned_identity: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword user_assigned_identity: The ArmId of the user assigned identity that will be used to
+ access the customer managed key vault.
+ :paramtype user_assigned_identity: str
+ """
+ super(IdentityForCmk, self).__init__(**kwargs)
+ self.user_assigned_identity = user_assigned_identity
+
+
+class ImageVertical(msrest.serialization.Model):
+ """Abstract class for AutoML tasks that train image (computer vision) models -
+such as Image Classification / Image Classification Multilabel / Image Object Detection / Image Instance Segmentation.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ """
+ super(ImageVertical, self).__init__(**kwargs)
+ self.limit_settings = limit_settings
+ self.sweep_settings = sweep_settings
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+
+
+class ImageClassificationBase(ImageVertical):
+ """ImageClassificationBase.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsClassification'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsClassification]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["ImageModelSettingsClassification"] = None,
+ search_space: Optional[List["ImageModelDistributionSettingsClassification"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ """
+ super(ImageClassificationBase, self).__init__(limit_settings=limit_settings, sweep_settings=sweep_settings, validation_data=validation_data, validation_data_size=validation_data_size, **kwargs)
+ self.model_settings = model_settings
+ self.search_space = search_space
+
+
+class ImageClassification(AutoMLVertical, ImageClassificationBase):
+ """Image Classification. Multi-class image classification is used when an image is classified with only a single label
+from a set of classes - e.g. each image is classified as either an image of a 'cat' or a 'dog' or a 'duck'.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsClassification'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsClassification]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ training_data: "MLTableJobInput",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["ImageModelSettingsClassification"] = None,
+ search_space: Optional[List["ImageModelDistributionSettingsClassification"]] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ primary_metric: Optional[Union[str, "ClassificationPrimaryMetrics"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+ super(ImageClassification, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, limit_settings=limit_settings, sweep_settings=sweep_settings, validation_data=validation_data, validation_data_size=validation_data_size, model_settings=model_settings, search_space=search_space, **kwargs)
+ self.limit_settings = limit_settings
+ self.sweep_settings = sweep_settings
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.model_settings = model_settings
+ self.search_space = search_space
+ self.task_type = 'ImageClassification' # type: str
+ self.primary_metric = primary_metric
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class ImageClassificationMultilabel(AutoMLVertical, ImageClassificationBase):
+ """Image Classification Multilabel. Multi-label image classification is used when an image could have one or more labels
+from a set of labels - e.g. an image could be labeled with both 'cat' and 'dog'.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted", "IOU".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsClassification'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsClassification]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ training_data: "MLTableJobInput",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["ImageModelSettingsClassification"] = None,
+ search_space: Optional[List["ImageModelDistributionSettingsClassification"]] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ primary_metric: Optional[Union[str, "ClassificationMultilabelPrimaryMetrics"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsClassification
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsClassification]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted", "IOU".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+ super(ImageClassificationMultilabel, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, limit_settings=limit_settings, sweep_settings=sweep_settings, validation_data=validation_data, validation_data_size=validation_data_size, model_settings=model_settings, search_space=search_space, **kwargs)
+ self.limit_settings = limit_settings
+ self.sweep_settings = sweep_settings
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.model_settings = model_settings
+ self.search_space = search_space
+ self.task_type = 'ImageClassificationMultilabel' # type: str
+ self.primary_metric = primary_metric
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class ImageObjectDetectionBase(ImageVertical):
+ """ImageObjectDetectionBase.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsObjectDetection'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsObjectDetection]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["ImageModelSettingsObjectDetection"] = None,
+ search_space: Optional[List["ImageModelDistributionSettingsObjectDetection"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ """
+ super(ImageObjectDetectionBase, self).__init__(limit_settings=limit_settings, sweep_settings=sweep_settings, validation_data=validation_data, validation_data_size=validation_data_size, **kwargs)
+ self.model_settings = model_settings
+ self.search_space = search_space
+
+
+class ImageInstanceSegmentation(AutoMLVertical, ImageObjectDetectionBase):
+ """Image Instance Segmentation. Instance segmentation is used to identify objects in an image at the pixel level,
+drawing a polygon around each object in the image.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsObjectDetection'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsObjectDetection]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ training_data: "MLTableJobInput",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["ImageModelSettingsObjectDetection"] = None,
+ search_space: Optional[List["ImageModelDistributionSettingsObjectDetection"]] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ primary_metric: Optional[Union[str, "InstanceSegmentationPrimaryMetrics"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ """
+ super(ImageInstanceSegmentation, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, limit_settings=limit_settings, sweep_settings=sweep_settings, validation_data=validation_data, validation_data_size=validation_data_size, model_settings=model_settings, search_space=search_space, **kwargs)
+ self.limit_settings = limit_settings
+ self.sweep_settings = sweep_settings
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.model_settings = model_settings
+ self.search_space = search_space
+ self.task_type = 'ImageInstanceSegmentation' # type: str
+ self.primary_metric = primary_metric
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class ImageLimitSettings(msrest.serialization.Model):
+ """Limit settings for the AutoML job.
+
+ :ivar max_concurrent_trials: Maximum number of concurrent AutoML iterations.
+ :vartype max_concurrent_trials: int
+ :ivar max_trials: Maximum number of AutoML iterations.
+ :vartype max_trials: int
+ :ivar timeout: AutoML job timeout.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_trials': {'key': 'maxTrials', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ max_concurrent_trials: Optional[int] = 1,
+ max_trials: Optional[int] = 1,
+ timeout: Optional[datetime.timedelta] = "P7D",
+ **kwargs
+ ):
+ """
+ :keyword max_concurrent_trials: Maximum number of concurrent AutoML iterations.
+ :paramtype max_concurrent_trials: int
+ :keyword max_trials: Maximum number of AutoML iterations.
+ :paramtype max_trials: int
+ :keyword timeout: AutoML job timeout.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(ImageLimitSettings, self).__init__(**kwargs)
+ self.max_concurrent_trials = max_concurrent_trials
+ self.max_trials = max_trials
+ self.timeout = timeout
+
+
+class ImageModelDistributionSettings(msrest.serialization.Model):
+ """Distribution expressions to sweep over values of model settings.
+
+:code:`<example>
+Some examples are:
+<code>
+ModelName = "choice('seresnext', 'resnest50')";
+LearningRate = "uniform(0.001, 0.01)";
+LayersToFreeze = "choice(0, 2)";
+</code></example>`
+All distributions can be specified as distribution_name(min, max) or choice(val1, val2, ..., valn)
+where distribution name can be: uniform, quniform, loguniform, etc
+For more details on how to compose distribution expressions please check the documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: str
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: str
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: str
+ :ivar distributed: Whether to use distributer training.
+ :vartype distributed: str
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: str
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: str
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: str
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: str
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: str
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: str
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: str
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: str
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: str
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: str
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: str
+ :ivar optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :vartype optimizer: str
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: str
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: str
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: str
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: str
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: str
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: str
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: str
+ """
+
+ _attribute_map = {
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'str'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'str'},
+ 'beta2': {'key': 'beta2', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'str'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'str'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'str'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'str'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'str'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'str'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'str'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'str'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'str'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'str'},
+ 'nesterov': {'key': 'nesterov', 'type': 'str'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'str'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'str'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'str'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'str'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'str'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'str'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'str'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'str'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'str'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ ams_gradient: Optional[str] = None,
+ augmentations: Optional[str] = None,
+ beta1: Optional[str] = None,
+ beta2: Optional[str] = None,
+ distributed: Optional[str] = None,
+ early_stopping: Optional[str] = None,
+ early_stopping_delay: Optional[str] = None,
+ early_stopping_patience: Optional[str] = None,
+ enable_onnx_normalization: Optional[str] = None,
+ evaluation_frequency: Optional[str] = None,
+ gradient_accumulation_step: Optional[str] = None,
+ layers_to_freeze: Optional[str] = None,
+ learning_rate: Optional[str] = None,
+ learning_rate_scheduler: Optional[str] = None,
+ model_name: Optional[str] = None,
+ momentum: Optional[str] = None,
+ nesterov: Optional[str] = None,
+ number_of_epochs: Optional[str] = None,
+ number_of_workers: Optional[str] = None,
+ optimizer: Optional[str] = None,
+ random_seed: Optional[str] = None,
+ step_lr_gamma: Optional[str] = None,
+ step_lr_step_size: Optional[str] = None,
+ training_batch_size: Optional[str] = None,
+ validation_batch_size: Optional[str] = None,
+ warmup_cosine_lr_cycles: Optional[str] = None,
+ warmup_cosine_lr_warmup_epochs: Optional[str] = None,
+ weight_decay: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: str
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: str
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: str
+ :keyword distributed: Whether to use distributer training.
+ :paramtype distributed: str
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: str
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: str
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: str
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: str
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: str
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: str
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: str
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: str
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: str
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: str
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: str
+ :keyword optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :paramtype optimizer: str
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: str
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: str
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: str
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: str
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: str
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: str
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: str
+ """
+ super(ImageModelDistributionSettings, self).__init__(**kwargs)
+ self.ams_gradient = ams_gradient
+ self.augmentations = augmentations
+ self.beta1 = beta1
+ self.beta2 = beta2
+ self.distributed = distributed
+ self.early_stopping = early_stopping
+ self.early_stopping_delay = early_stopping_delay
+ self.early_stopping_patience = early_stopping_patience
+ self.enable_onnx_normalization = enable_onnx_normalization
+ self.evaluation_frequency = evaluation_frequency
+ self.gradient_accumulation_step = gradient_accumulation_step
+ self.layers_to_freeze = layers_to_freeze
+ self.learning_rate = learning_rate
+ self.learning_rate_scheduler = learning_rate_scheduler
+ self.model_name = model_name
+ self.momentum = momentum
+ self.nesterov = nesterov
+ self.number_of_epochs = number_of_epochs
+ self.number_of_workers = number_of_workers
+ self.optimizer = optimizer
+ self.random_seed = random_seed
+ self.step_lr_gamma = step_lr_gamma
+ self.step_lr_step_size = step_lr_step_size
+ self.training_batch_size = training_batch_size
+ self.validation_batch_size = validation_batch_size
+ self.warmup_cosine_lr_cycles = warmup_cosine_lr_cycles
+ self.warmup_cosine_lr_warmup_epochs = warmup_cosine_lr_warmup_epochs
+ self.weight_decay = weight_decay
+
+
+class ImageModelDistributionSettingsClassification(ImageModelDistributionSettings):
+ """Distribution expressions to sweep over values of model settings.
+
+:code:`<example>
+Some examples are:
+<code>
+ModelName = "choice('seresnext', 'resnest50')";
+LearningRate = "uniform(0.001, 0.01)";
+LayersToFreeze = "choice(0, 2)";
+</code></example>`
+For more details on how to compose distribution expressions please check the documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: str
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: str
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: str
+ :ivar distributed: Whether to use distributer training.
+ :vartype distributed: str
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: str
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: str
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: str
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: str
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: str
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: str
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: str
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: str
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: str
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: str
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: str
+ :ivar optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :vartype optimizer: str
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: str
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: str
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: str
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: str
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: str
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: str
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: str
+ :ivar training_crop_size: Image crop size that is input to the neural network for the training
+ dataset. Must be a positive integer.
+ :vartype training_crop_size: str
+ :ivar validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :vartype validation_crop_size: str
+ :ivar validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :vartype validation_resize_size: str
+ :ivar weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :vartype weighted_loss: str
+ """
+
+ _attribute_map = {
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'str'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'str'},
+ 'beta2': {'key': 'beta2', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'str'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'str'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'str'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'str'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'str'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'str'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'str'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'str'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'str'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'str'},
+ 'nesterov': {'key': 'nesterov', 'type': 'str'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'str'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'str'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'str'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'str'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'str'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'str'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'str'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'str'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'str'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'str'},
+ 'training_crop_size': {'key': 'trainingCropSize', 'type': 'str'},
+ 'validation_crop_size': {'key': 'validationCropSize', 'type': 'str'},
+ 'validation_resize_size': {'key': 'validationResizeSize', 'type': 'str'},
+ 'weighted_loss': {'key': 'weightedLoss', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ ams_gradient: Optional[str] = None,
+ augmentations: Optional[str] = None,
+ beta1: Optional[str] = None,
+ beta2: Optional[str] = None,
+ distributed: Optional[str] = None,
+ early_stopping: Optional[str] = None,
+ early_stopping_delay: Optional[str] = None,
+ early_stopping_patience: Optional[str] = None,
+ enable_onnx_normalization: Optional[str] = None,
+ evaluation_frequency: Optional[str] = None,
+ gradient_accumulation_step: Optional[str] = None,
+ layers_to_freeze: Optional[str] = None,
+ learning_rate: Optional[str] = None,
+ learning_rate_scheduler: Optional[str] = None,
+ model_name: Optional[str] = None,
+ momentum: Optional[str] = None,
+ nesterov: Optional[str] = None,
+ number_of_epochs: Optional[str] = None,
+ number_of_workers: Optional[str] = None,
+ optimizer: Optional[str] = None,
+ random_seed: Optional[str] = None,
+ step_lr_gamma: Optional[str] = None,
+ step_lr_step_size: Optional[str] = None,
+ training_batch_size: Optional[str] = None,
+ validation_batch_size: Optional[str] = None,
+ warmup_cosine_lr_cycles: Optional[str] = None,
+ warmup_cosine_lr_warmup_epochs: Optional[str] = None,
+ weight_decay: Optional[str] = None,
+ training_crop_size: Optional[str] = None,
+ validation_crop_size: Optional[str] = None,
+ validation_resize_size: Optional[str] = None,
+ weighted_loss: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: str
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: str
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: str
+ :keyword distributed: Whether to use distributer training.
+ :paramtype distributed: str
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: str
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: str
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: str
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: str
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: str
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: str
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: str
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: str
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: str
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: str
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: str
+ :keyword optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :paramtype optimizer: str
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: str
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: str
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: str
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: str
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: str
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: str
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: str
+ :keyword training_crop_size: Image crop size that is input to the neural network for the
+ training dataset. Must be a positive integer.
+ :paramtype training_crop_size: str
+ :keyword validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :paramtype validation_crop_size: str
+ :keyword validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :paramtype validation_resize_size: str
+ :keyword weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :paramtype weighted_loss: str
+ """
+ super(ImageModelDistributionSettingsClassification, self).__init__(ams_gradient=ams_gradient, augmentations=augmentations, beta1=beta1, beta2=beta2, distributed=distributed, early_stopping=early_stopping, early_stopping_delay=early_stopping_delay, early_stopping_patience=early_stopping_patience, enable_onnx_normalization=enable_onnx_normalization, evaluation_frequency=evaluation_frequency, gradient_accumulation_step=gradient_accumulation_step, layers_to_freeze=layers_to_freeze, learning_rate=learning_rate, learning_rate_scheduler=learning_rate_scheduler, model_name=model_name, momentum=momentum, nesterov=nesterov, number_of_epochs=number_of_epochs, number_of_workers=number_of_workers, optimizer=optimizer, random_seed=random_seed, step_lr_gamma=step_lr_gamma, step_lr_step_size=step_lr_step_size, training_batch_size=training_batch_size, validation_batch_size=validation_batch_size, warmup_cosine_lr_cycles=warmup_cosine_lr_cycles, warmup_cosine_lr_warmup_epochs=warmup_cosine_lr_warmup_epochs, weight_decay=weight_decay, **kwargs)
+ self.training_crop_size = training_crop_size
+ self.validation_crop_size = validation_crop_size
+ self.validation_resize_size = validation_resize_size
+ self.weighted_loss = weighted_loss
+
+
+class ImageModelDistributionSettingsObjectDetection(ImageModelDistributionSettings):
+ """Distribution expressions to sweep over values of model settings.
+
+:code:`<example>
+Some examples are:
+<code>
+ModelName = "choice('seresnext', 'resnest50')";
+LearningRate = "uniform(0.001, 0.01)";
+LayersToFreeze = "choice(0, 2)";
+</code></example>`
+For more details on how to compose distribution expressions please check the documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: str
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: str
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: str
+ :ivar distributed: Whether to use distributer training.
+ :vartype distributed: str
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: str
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: str
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: str
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: str
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: str
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: str
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: str
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: str
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: str
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: str
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: str
+ :ivar optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :vartype optimizer: str
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: str
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: str
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: str
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: str
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: str
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: str
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: str
+ :ivar box_detections_per_image: Maximum number of detections per image, for all classes. Must
+ be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype box_detections_per_image: str
+ :ivar box_score_threshold: During inference, only return proposals with a classification score
+ greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :vartype box_score_threshold: str
+ :ivar image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype image_size: str
+ :ivar max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype max_size: str
+ :ivar min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype min_size: str
+ :ivar model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype model_size: str
+ :ivar multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype multi_scale: str
+ :ivar nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be
+ float in the range [0, 1].
+ :vartype nms_iou_threshold: str
+ :ivar tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must not
+ be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_grid_size: str
+ :ivar tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be float
+ in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_overlap_ratio: str
+ :ivar tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ NMS: Non-maximum suppression.
+ :vartype tile_predictions_nms_threshold: str
+ :ivar validation_iou_threshold: IOU threshold to use when computing validation metric. Must be
+ float in the range [0, 1].
+ :vartype validation_iou_threshold: str
+ :ivar validation_metric_type: Metric computation method to use for validation metrics. Must be
+ 'none', 'coco', 'voc', or 'coco_voc'.
+ :vartype validation_metric_type: str
+ """
+
+ _attribute_map = {
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'str'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'str'},
+ 'beta2': {'key': 'beta2', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'str'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'str'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'str'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'str'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'str'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'str'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'str'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'str'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'str'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'str'},
+ 'nesterov': {'key': 'nesterov', 'type': 'str'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'str'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'str'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'str'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'str'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'str'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'str'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'str'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'str'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'str'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'str'},
+ 'box_detections_per_image': {'key': 'boxDetectionsPerImage', 'type': 'str'},
+ 'box_score_threshold': {'key': 'boxScoreThreshold', 'type': 'str'},
+ 'image_size': {'key': 'imageSize', 'type': 'str'},
+ 'max_size': {'key': 'maxSize', 'type': 'str'},
+ 'min_size': {'key': 'minSize', 'type': 'str'},
+ 'model_size': {'key': 'modelSize', 'type': 'str'},
+ 'multi_scale': {'key': 'multiScale', 'type': 'str'},
+ 'nms_iou_threshold': {'key': 'nmsIouThreshold', 'type': 'str'},
+ 'tile_grid_size': {'key': 'tileGridSize', 'type': 'str'},
+ 'tile_overlap_ratio': {'key': 'tileOverlapRatio', 'type': 'str'},
+ 'tile_predictions_nms_threshold': {'key': 'tilePredictionsNmsThreshold', 'type': 'str'},
+ 'validation_iou_threshold': {'key': 'validationIouThreshold', 'type': 'str'},
+ 'validation_metric_type': {'key': 'validationMetricType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ ams_gradient: Optional[str] = None,
+ augmentations: Optional[str] = None,
+ beta1: Optional[str] = None,
+ beta2: Optional[str] = None,
+ distributed: Optional[str] = None,
+ early_stopping: Optional[str] = None,
+ early_stopping_delay: Optional[str] = None,
+ early_stopping_patience: Optional[str] = None,
+ enable_onnx_normalization: Optional[str] = None,
+ evaluation_frequency: Optional[str] = None,
+ gradient_accumulation_step: Optional[str] = None,
+ layers_to_freeze: Optional[str] = None,
+ learning_rate: Optional[str] = None,
+ learning_rate_scheduler: Optional[str] = None,
+ model_name: Optional[str] = None,
+ momentum: Optional[str] = None,
+ nesterov: Optional[str] = None,
+ number_of_epochs: Optional[str] = None,
+ number_of_workers: Optional[str] = None,
+ optimizer: Optional[str] = None,
+ random_seed: Optional[str] = None,
+ step_lr_gamma: Optional[str] = None,
+ step_lr_step_size: Optional[str] = None,
+ training_batch_size: Optional[str] = None,
+ validation_batch_size: Optional[str] = None,
+ warmup_cosine_lr_cycles: Optional[str] = None,
+ warmup_cosine_lr_warmup_epochs: Optional[str] = None,
+ weight_decay: Optional[str] = None,
+ box_detections_per_image: Optional[str] = None,
+ box_score_threshold: Optional[str] = None,
+ image_size: Optional[str] = None,
+ max_size: Optional[str] = None,
+ min_size: Optional[str] = None,
+ model_size: Optional[str] = None,
+ multi_scale: Optional[str] = None,
+ nms_iou_threshold: Optional[str] = None,
+ tile_grid_size: Optional[str] = None,
+ tile_overlap_ratio: Optional[str] = None,
+ tile_predictions_nms_threshold: Optional[str] = None,
+ validation_iou_threshold: Optional[str] = None,
+ validation_metric_type: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: str
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: str
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: str
+ :keyword distributed: Whether to use distributer training.
+ :paramtype distributed: str
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: str
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: str
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: str
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: str
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: str
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: str
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: str
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: str
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: str
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: str
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: str
+ :keyword optimizer: Type of optimizer. Must be either 'sgd', 'adam', or 'adamw'.
+ :paramtype optimizer: str
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: str
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: str
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: str
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: str
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: str
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: str
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: str
+ :keyword box_detections_per_image: Maximum number of detections per image, for all classes.
+ Must be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype box_detections_per_image: str
+ :keyword box_score_threshold: During inference, only return proposals with a classification
+ score greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :paramtype box_score_threshold: str
+ :keyword image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype image_size: str
+ :keyword max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype max_size: str
+ :keyword min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype min_size: str
+ :keyword model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype model_size: str
+ :keyword multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype multi_scale: str
+ :keyword nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be
+ float in the range [0, 1].
+ :paramtype nms_iou_threshold: str
+ :keyword tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must
+ not be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_grid_size: str
+ :keyword tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be
+ float in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_overlap_ratio: str
+ :keyword tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ NMS: Non-maximum suppression.
+ :paramtype tile_predictions_nms_threshold: str
+ :keyword validation_iou_threshold: IOU threshold to use when computing validation metric. Must
+ be float in the range [0, 1].
+ :paramtype validation_iou_threshold: str
+ :keyword validation_metric_type: Metric computation method to use for validation metrics. Must
+ be 'none', 'coco', 'voc', or 'coco_voc'.
+ :paramtype validation_metric_type: str
+ """
+ super(ImageModelDistributionSettingsObjectDetection, self).__init__(ams_gradient=ams_gradient, augmentations=augmentations, beta1=beta1, beta2=beta2, distributed=distributed, early_stopping=early_stopping, early_stopping_delay=early_stopping_delay, early_stopping_patience=early_stopping_patience, enable_onnx_normalization=enable_onnx_normalization, evaluation_frequency=evaluation_frequency, gradient_accumulation_step=gradient_accumulation_step, layers_to_freeze=layers_to_freeze, learning_rate=learning_rate, learning_rate_scheduler=learning_rate_scheduler, model_name=model_name, momentum=momentum, nesterov=nesterov, number_of_epochs=number_of_epochs, number_of_workers=number_of_workers, optimizer=optimizer, random_seed=random_seed, step_lr_gamma=step_lr_gamma, step_lr_step_size=step_lr_step_size, training_batch_size=training_batch_size, validation_batch_size=validation_batch_size, warmup_cosine_lr_cycles=warmup_cosine_lr_cycles, warmup_cosine_lr_warmup_epochs=warmup_cosine_lr_warmup_epochs, weight_decay=weight_decay, **kwargs)
+ self.box_detections_per_image = box_detections_per_image
+ self.box_score_threshold = box_score_threshold
+ self.image_size = image_size
+ self.max_size = max_size
+ self.min_size = min_size
+ self.model_size = model_size
+ self.multi_scale = multi_scale
+ self.nms_iou_threshold = nms_iou_threshold
+ self.tile_grid_size = tile_grid_size
+ self.tile_overlap_ratio = tile_overlap_ratio
+ self.tile_predictions_nms_threshold = tile_predictions_nms_threshold
+ self.validation_iou_threshold = validation_iou_threshold
+ self.validation_metric_type = validation_metric_type
+
+
+class ImageModelSettings(msrest.serialization.Model):
+ """Settings used for training the model.
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar advanced_settings: Settings for advanced scenarios.
+ :vartype advanced_settings: str
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: bool
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: float
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: float
+ :ivar checkpoint_frequency: Frequency to store model checkpoints. Must be a positive integer.
+ :vartype checkpoint_frequency: int
+ :ivar checkpoint_model: The pretrained checkpoint model for incremental training.
+ :vartype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :ivar checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :vartype checkpoint_run_id: str
+ :ivar distributed: Whether to use distributed training.
+ :vartype distributed: bool
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: bool
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: int
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: int
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: bool
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: int
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: int
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: int
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: float
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: bool
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: int
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: int
+ :ivar optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :vartype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: int
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: float
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: int
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: int
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: float
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: int
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: float
+ """
+
+ _attribute_map = {
+ 'advanced_settings': {'key': 'advancedSettings', 'type': 'str'},
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'bool'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'float'},
+ 'beta2': {'key': 'beta2', 'type': 'float'},
+ 'checkpoint_frequency': {'key': 'checkpointFrequency', 'type': 'int'},
+ 'checkpoint_model': {'key': 'checkpointModel', 'type': 'MLFlowModelJobInput'},
+ 'checkpoint_run_id': {'key': 'checkpointRunId', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'bool'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'bool'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'int'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'int'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'bool'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'int'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'int'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'int'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'float'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'float'},
+ 'nesterov': {'key': 'nesterov', 'type': 'bool'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'int'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'int'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'float'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'int'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'int'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'int'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'float'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'int'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'float'},
+ }
+
+ def __init__(
+ self,
+ *,
+ advanced_settings: Optional[str] = None,
+ ams_gradient: Optional[bool] = None,
+ augmentations: Optional[str] = None,
+ beta1: Optional[float] = None,
+ beta2: Optional[float] = None,
+ checkpoint_frequency: Optional[int] = None,
+ checkpoint_model: Optional["MLFlowModelJobInput"] = None,
+ checkpoint_run_id: Optional[str] = None,
+ distributed: Optional[bool] = None,
+ early_stopping: Optional[bool] = None,
+ early_stopping_delay: Optional[int] = None,
+ early_stopping_patience: Optional[int] = None,
+ enable_onnx_normalization: Optional[bool] = None,
+ evaluation_frequency: Optional[int] = None,
+ gradient_accumulation_step: Optional[int] = None,
+ layers_to_freeze: Optional[int] = None,
+ learning_rate: Optional[float] = None,
+ learning_rate_scheduler: Optional[Union[str, "LearningRateScheduler"]] = None,
+ model_name: Optional[str] = None,
+ momentum: Optional[float] = None,
+ nesterov: Optional[bool] = None,
+ number_of_epochs: Optional[int] = None,
+ number_of_workers: Optional[int] = None,
+ optimizer: Optional[Union[str, "StochasticOptimizer"]] = None,
+ random_seed: Optional[int] = None,
+ step_lr_gamma: Optional[float] = None,
+ step_lr_step_size: Optional[int] = None,
+ training_batch_size: Optional[int] = None,
+ validation_batch_size: Optional[int] = None,
+ warmup_cosine_lr_cycles: Optional[float] = None,
+ warmup_cosine_lr_warmup_epochs: Optional[int] = None,
+ weight_decay: Optional[float] = None,
+ **kwargs
+ ):
+ """
+ :keyword advanced_settings: Settings for advanced scenarios.
+ :paramtype advanced_settings: str
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: bool
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: float
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: float
+ :keyword checkpoint_frequency: Frequency to store model checkpoints. Must be a positive
+ integer.
+ :paramtype checkpoint_frequency: int
+ :keyword checkpoint_model: The pretrained checkpoint model for incremental training.
+ :paramtype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :keyword checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :paramtype checkpoint_run_id: str
+ :keyword distributed: Whether to use distributed training.
+ :paramtype distributed: bool
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: bool
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: int
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: int
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: bool
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: int
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: int
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: int
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: float
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: bool
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: int
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: int
+ :keyword optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :paramtype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: int
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: float
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: int
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: int
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: float
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: int
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: float
+ """
+ super(ImageModelSettings, self).__init__(**kwargs)
+ self.advanced_settings = advanced_settings
+ self.ams_gradient = ams_gradient
+ self.augmentations = augmentations
+ self.beta1 = beta1
+ self.beta2 = beta2
+ self.checkpoint_frequency = checkpoint_frequency
+ self.checkpoint_model = checkpoint_model
+ self.checkpoint_run_id = checkpoint_run_id
+ self.distributed = distributed
+ self.early_stopping = early_stopping
+ self.early_stopping_delay = early_stopping_delay
+ self.early_stopping_patience = early_stopping_patience
+ self.enable_onnx_normalization = enable_onnx_normalization
+ self.evaluation_frequency = evaluation_frequency
+ self.gradient_accumulation_step = gradient_accumulation_step
+ self.layers_to_freeze = layers_to_freeze
+ self.learning_rate = learning_rate
+ self.learning_rate_scheduler = learning_rate_scheduler
+ self.model_name = model_name
+ self.momentum = momentum
+ self.nesterov = nesterov
+ self.number_of_epochs = number_of_epochs
+ self.number_of_workers = number_of_workers
+ self.optimizer = optimizer
+ self.random_seed = random_seed
+ self.step_lr_gamma = step_lr_gamma
+ self.step_lr_step_size = step_lr_step_size
+ self.training_batch_size = training_batch_size
+ self.validation_batch_size = validation_batch_size
+ self.warmup_cosine_lr_cycles = warmup_cosine_lr_cycles
+ self.warmup_cosine_lr_warmup_epochs = warmup_cosine_lr_warmup_epochs
+ self.weight_decay = weight_decay
+
+
+class ImageModelSettingsClassification(ImageModelSettings):
+ """Settings used for training the model.
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar advanced_settings: Settings for advanced scenarios.
+ :vartype advanced_settings: str
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: bool
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: float
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: float
+ :ivar checkpoint_frequency: Frequency to store model checkpoints. Must be a positive integer.
+ :vartype checkpoint_frequency: int
+ :ivar checkpoint_model: The pretrained checkpoint model for incremental training.
+ :vartype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :ivar checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :vartype checkpoint_run_id: str
+ :ivar distributed: Whether to use distributed training.
+ :vartype distributed: bool
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: bool
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: int
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: int
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: bool
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: int
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: int
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: int
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: float
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: bool
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: int
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: int
+ :ivar optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :vartype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: int
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: float
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: int
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: int
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: float
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: int
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: float
+ :ivar training_crop_size: Image crop size that is input to the neural network for the training
+ dataset. Must be a positive integer.
+ :vartype training_crop_size: int
+ :ivar validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :vartype validation_crop_size: int
+ :ivar validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :vartype validation_resize_size: int
+ :ivar weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :vartype weighted_loss: int
+ """
+
+ _attribute_map = {
+ 'advanced_settings': {'key': 'advancedSettings', 'type': 'str'},
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'bool'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'float'},
+ 'beta2': {'key': 'beta2', 'type': 'float'},
+ 'checkpoint_frequency': {'key': 'checkpointFrequency', 'type': 'int'},
+ 'checkpoint_model': {'key': 'checkpointModel', 'type': 'MLFlowModelJobInput'},
+ 'checkpoint_run_id': {'key': 'checkpointRunId', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'bool'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'bool'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'int'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'int'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'bool'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'int'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'int'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'int'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'float'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'float'},
+ 'nesterov': {'key': 'nesterov', 'type': 'bool'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'int'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'int'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'float'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'int'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'int'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'int'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'float'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'int'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'float'},
+ 'training_crop_size': {'key': 'trainingCropSize', 'type': 'int'},
+ 'validation_crop_size': {'key': 'validationCropSize', 'type': 'int'},
+ 'validation_resize_size': {'key': 'validationResizeSize', 'type': 'int'},
+ 'weighted_loss': {'key': 'weightedLoss', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ advanced_settings: Optional[str] = None,
+ ams_gradient: Optional[bool] = None,
+ augmentations: Optional[str] = None,
+ beta1: Optional[float] = None,
+ beta2: Optional[float] = None,
+ checkpoint_frequency: Optional[int] = None,
+ checkpoint_model: Optional["MLFlowModelJobInput"] = None,
+ checkpoint_run_id: Optional[str] = None,
+ distributed: Optional[bool] = None,
+ early_stopping: Optional[bool] = None,
+ early_stopping_delay: Optional[int] = None,
+ early_stopping_patience: Optional[int] = None,
+ enable_onnx_normalization: Optional[bool] = None,
+ evaluation_frequency: Optional[int] = None,
+ gradient_accumulation_step: Optional[int] = None,
+ layers_to_freeze: Optional[int] = None,
+ learning_rate: Optional[float] = None,
+ learning_rate_scheduler: Optional[Union[str, "LearningRateScheduler"]] = None,
+ model_name: Optional[str] = None,
+ momentum: Optional[float] = None,
+ nesterov: Optional[bool] = None,
+ number_of_epochs: Optional[int] = None,
+ number_of_workers: Optional[int] = None,
+ optimizer: Optional[Union[str, "StochasticOptimizer"]] = None,
+ random_seed: Optional[int] = None,
+ step_lr_gamma: Optional[float] = None,
+ step_lr_step_size: Optional[int] = None,
+ training_batch_size: Optional[int] = None,
+ validation_batch_size: Optional[int] = None,
+ warmup_cosine_lr_cycles: Optional[float] = None,
+ warmup_cosine_lr_warmup_epochs: Optional[int] = None,
+ weight_decay: Optional[float] = None,
+ training_crop_size: Optional[int] = None,
+ validation_crop_size: Optional[int] = None,
+ validation_resize_size: Optional[int] = None,
+ weighted_loss: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword advanced_settings: Settings for advanced scenarios.
+ :paramtype advanced_settings: str
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: bool
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: float
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: float
+ :keyword checkpoint_frequency: Frequency to store model checkpoints. Must be a positive
+ integer.
+ :paramtype checkpoint_frequency: int
+ :keyword checkpoint_model: The pretrained checkpoint model for incremental training.
+ :paramtype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :keyword checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :paramtype checkpoint_run_id: str
+ :keyword distributed: Whether to use distributed training.
+ :paramtype distributed: bool
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: bool
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: int
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: int
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: bool
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: int
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: int
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: int
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: float
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: bool
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: int
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: int
+ :keyword optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :paramtype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: int
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: float
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: int
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: int
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: float
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: int
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: float
+ :keyword training_crop_size: Image crop size that is input to the neural network for the
+ training dataset. Must be a positive integer.
+ :paramtype training_crop_size: int
+ :keyword validation_crop_size: Image crop size that is input to the neural network for the
+ validation dataset. Must be a positive integer.
+ :paramtype validation_crop_size: int
+ :keyword validation_resize_size: Image size to which to resize before cropping for validation
+ dataset. Must be a positive integer.
+ :paramtype validation_resize_size: int
+ :keyword weighted_loss: Weighted loss. The accepted values are 0 for no weighted loss.
+ 1 for weighted loss with sqrt.(class_weights). 2 for weighted loss with class_weights. Must be
+ 0 or 1 or 2.
+ :paramtype weighted_loss: int
+ """
+ super(ImageModelSettingsClassification, self).__init__(advanced_settings=advanced_settings, ams_gradient=ams_gradient, augmentations=augmentations, beta1=beta1, beta2=beta2, checkpoint_frequency=checkpoint_frequency, checkpoint_model=checkpoint_model, checkpoint_run_id=checkpoint_run_id, distributed=distributed, early_stopping=early_stopping, early_stopping_delay=early_stopping_delay, early_stopping_patience=early_stopping_patience, enable_onnx_normalization=enable_onnx_normalization, evaluation_frequency=evaluation_frequency, gradient_accumulation_step=gradient_accumulation_step, layers_to_freeze=layers_to_freeze, learning_rate=learning_rate, learning_rate_scheduler=learning_rate_scheduler, model_name=model_name, momentum=momentum, nesterov=nesterov, number_of_epochs=number_of_epochs, number_of_workers=number_of_workers, optimizer=optimizer, random_seed=random_seed, step_lr_gamma=step_lr_gamma, step_lr_step_size=step_lr_step_size, training_batch_size=training_batch_size, validation_batch_size=validation_batch_size, warmup_cosine_lr_cycles=warmup_cosine_lr_cycles, warmup_cosine_lr_warmup_epochs=warmup_cosine_lr_warmup_epochs, weight_decay=weight_decay, **kwargs)
+ self.training_crop_size = training_crop_size
+ self.validation_crop_size = validation_crop_size
+ self.validation_resize_size = validation_resize_size
+ self.weighted_loss = weighted_loss
+
+
+class ImageModelSettingsObjectDetection(ImageModelSettings):
+ """Settings used for training the model.
+For more information on the available settings please visit the official documentation:
+https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+
+ :ivar advanced_settings: Settings for advanced scenarios.
+ :vartype advanced_settings: str
+ :ivar ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :vartype ams_gradient: bool
+ :ivar augmentations: Settings for using Augmentations.
+ :vartype augmentations: str
+ :ivar beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta1: float
+ :ivar beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the range
+ [0, 1].
+ :vartype beta2: float
+ :ivar checkpoint_frequency: Frequency to store model checkpoints. Must be a positive integer.
+ :vartype checkpoint_frequency: int
+ :ivar checkpoint_model: The pretrained checkpoint model for incremental training.
+ :vartype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :ivar checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :vartype checkpoint_run_id: str
+ :ivar distributed: Whether to use distributed training.
+ :vartype distributed: bool
+ :ivar early_stopping: Enable early stopping logic during training.
+ :vartype early_stopping: bool
+ :ivar early_stopping_delay: Minimum number of epochs or validation evaluations to wait before
+ primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :vartype early_stopping_delay: int
+ :ivar early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :vartype early_stopping_patience: int
+ :ivar enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :vartype enable_onnx_normalization: bool
+ :ivar evaluation_frequency: Frequency to evaluate validation dataset to get metric scores. Must
+ be a positive integer.
+ :vartype evaluation_frequency: int
+ :ivar gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :vartype gradient_accumulation_step: int
+ :ivar layers_to_freeze: Number of layers to freeze for the model. Must be a positive integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype layers_to_freeze: int
+ :ivar learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :ivar model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :vartype model_name: str
+ :ivar momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0, 1].
+ :vartype momentum: float
+ :ivar nesterov: Enable nesterov when optimizer is 'sgd'.
+ :vartype nesterov: bool
+ :ivar number_of_epochs: Number of training epochs. Must be a positive integer.
+ :vartype number_of_epochs: int
+ :ivar number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :vartype number_of_workers: int
+ :ivar optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :vartype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :ivar random_seed: Random seed to be used when using deterministic training.
+ :vartype random_seed: int
+ :ivar step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float in
+ the range [0, 1].
+ :vartype step_lr_gamma: float
+ :ivar step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be a
+ positive integer.
+ :vartype step_lr_step_size: int
+ :ivar training_batch_size: Training batch size. Must be a positive integer.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: Validation batch size. Must be a positive integer.
+ :vartype validation_batch_size: int
+ :ivar warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :vartype warmup_cosine_lr_cycles: float
+ :ivar warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :vartype warmup_cosine_lr_warmup_epochs: int
+ :ivar weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must be
+ a float in the range[0, 1].
+ :vartype weight_decay: float
+ :ivar box_detections_per_image: Maximum number of detections per image, for all classes. Must
+ be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype box_detections_per_image: int
+ :ivar box_score_threshold: During inference, only return proposals with a classification score
+ greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :vartype box_score_threshold: float
+ :ivar image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype image_size: int
+ :ivar max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype max_size: int
+ :ivar min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype min_size: int
+ :ivar model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm. Possible values include:
+ "None", "Small", "Medium", "Large", "ExtraLarge".
+ :vartype model_size: str or ~azure.mgmt.machinelearningservices.models.ModelSize
+ :ivar multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :vartype multi_scale: bool
+ :ivar nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be a
+ float in the range [0, 1].
+ :vartype nms_iou_threshold: float
+ :ivar tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must not
+ be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_grid_size: str
+ :ivar tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be float
+ in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_overlap_ratio: float
+ :ivar tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :vartype tile_predictions_nms_threshold: float
+ :ivar validation_iou_threshold: IOU threshold to use when computing validation metric. Must be
+ float in the range [0, 1].
+ :vartype validation_iou_threshold: float
+ :ivar validation_metric_type: Metric computation method to use for validation metrics. Possible
+ values include: "None", "Coco", "Voc", "CocoVoc".
+ :vartype validation_metric_type: str or
+ ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ """
+
+ _attribute_map = {
+ 'advanced_settings': {'key': 'advancedSettings', 'type': 'str'},
+ 'ams_gradient': {'key': 'amsGradient', 'type': 'bool'},
+ 'augmentations': {'key': 'augmentations', 'type': 'str'},
+ 'beta1': {'key': 'beta1', 'type': 'float'},
+ 'beta2': {'key': 'beta2', 'type': 'float'},
+ 'checkpoint_frequency': {'key': 'checkpointFrequency', 'type': 'int'},
+ 'checkpoint_model': {'key': 'checkpointModel', 'type': 'MLFlowModelJobInput'},
+ 'checkpoint_run_id': {'key': 'checkpointRunId', 'type': 'str'},
+ 'distributed': {'key': 'distributed', 'type': 'bool'},
+ 'early_stopping': {'key': 'earlyStopping', 'type': 'bool'},
+ 'early_stopping_delay': {'key': 'earlyStoppingDelay', 'type': 'int'},
+ 'early_stopping_patience': {'key': 'earlyStoppingPatience', 'type': 'int'},
+ 'enable_onnx_normalization': {'key': 'enableOnnxNormalization', 'type': 'bool'},
+ 'evaluation_frequency': {'key': 'evaluationFrequency', 'type': 'int'},
+ 'gradient_accumulation_step': {'key': 'gradientAccumulationStep', 'type': 'int'},
+ 'layers_to_freeze': {'key': 'layersToFreeze', 'type': 'int'},
+ 'learning_rate': {'key': 'learningRate', 'type': 'float'},
+ 'learning_rate_scheduler': {'key': 'learningRateScheduler', 'type': 'str'},
+ 'model_name': {'key': 'modelName', 'type': 'str'},
+ 'momentum': {'key': 'momentum', 'type': 'float'},
+ 'nesterov': {'key': 'nesterov', 'type': 'bool'},
+ 'number_of_epochs': {'key': 'numberOfEpochs', 'type': 'int'},
+ 'number_of_workers': {'key': 'numberOfWorkers', 'type': 'int'},
+ 'optimizer': {'key': 'optimizer', 'type': 'str'},
+ 'random_seed': {'key': 'randomSeed', 'type': 'int'},
+ 'step_lr_gamma': {'key': 'stepLRGamma', 'type': 'float'},
+ 'step_lr_step_size': {'key': 'stepLRStepSize', 'type': 'int'},
+ 'training_batch_size': {'key': 'trainingBatchSize', 'type': 'int'},
+ 'validation_batch_size': {'key': 'validationBatchSize', 'type': 'int'},
+ 'warmup_cosine_lr_cycles': {'key': 'warmupCosineLRCycles', 'type': 'float'},
+ 'warmup_cosine_lr_warmup_epochs': {'key': 'warmupCosineLRWarmupEpochs', 'type': 'int'},
+ 'weight_decay': {'key': 'weightDecay', 'type': 'float'},
+ 'box_detections_per_image': {'key': 'boxDetectionsPerImage', 'type': 'int'},
+ 'box_score_threshold': {'key': 'boxScoreThreshold', 'type': 'float'},
+ 'image_size': {'key': 'imageSize', 'type': 'int'},
+ 'max_size': {'key': 'maxSize', 'type': 'int'},
+ 'min_size': {'key': 'minSize', 'type': 'int'},
+ 'model_size': {'key': 'modelSize', 'type': 'str'},
+ 'multi_scale': {'key': 'multiScale', 'type': 'bool'},
+ 'nms_iou_threshold': {'key': 'nmsIouThreshold', 'type': 'float'},
+ 'tile_grid_size': {'key': 'tileGridSize', 'type': 'str'},
+ 'tile_overlap_ratio': {'key': 'tileOverlapRatio', 'type': 'float'},
+ 'tile_predictions_nms_threshold': {'key': 'tilePredictionsNmsThreshold', 'type': 'float'},
+ 'validation_iou_threshold': {'key': 'validationIouThreshold', 'type': 'float'},
+ 'validation_metric_type': {'key': 'validationMetricType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ advanced_settings: Optional[str] = None,
+ ams_gradient: Optional[bool] = None,
+ augmentations: Optional[str] = None,
+ beta1: Optional[float] = None,
+ beta2: Optional[float] = None,
+ checkpoint_frequency: Optional[int] = None,
+ checkpoint_model: Optional["MLFlowModelJobInput"] = None,
+ checkpoint_run_id: Optional[str] = None,
+ distributed: Optional[bool] = None,
+ early_stopping: Optional[bool] = None,
+ early_stopping_delay: Optional[int] = None,
+ early_stopping_patience: Optional[int] = None,
+ enable_onnx_normalization: Optional[bool] = None,
+ evaluation_frequency: Optional[int] = None,
+ gradient_accumulation_step: Optional[int] = None,
+ layers_to_freeze: Optional[int] = None,
+ learning_rate: Optional[float] = None,
+ learning_rate_scheduler: Optional[Union[str, "LearningRateScheduler"]] = None,
+ model_name: Optional[str] = None,
+ momentum: Optional[float] = None,
+ nesterov: Optional[bool] = None,
+ number_of_epochs: Optional[int] = None,
+ number_of_workers: Optional[int] = None,
+ optimizer: Optional[Union[str, "StochasticOptimizer"]] = None,
+ random_seed: Optional[int] = None,
+ step_lr_gamma: Optional[float] = None,
+ step_lr_step_size: Optional[int] = None,
+ training_batch_size: Optional[int] = None,
+ validation_batch_size: Optional[int] = None,
+ warmup_cosine_lr_cycles: Optional[float] = None,
+ warmup_cosine_lr_warmup_epochs: Optional[int] = None,
+ weight_decay: Optional[float] = None,
+ box_detections_per_image: Optional[int] = None,
+ box_score_threshold: Optional[float] = None,
+ image_size: Optional[int] = None,
+ max_size: Optional[int] = None,
+ min_size: Optional[int] = None,
+ model_size: Optional[Union[str, "ModelSize"]] = None,
+ multi_scale: Optional[bool] = None,
+ nms_iou_threshold: Optional[float] = None,
+ tile_grid_size: Optional[str] = None,
+ tile_overlap_ratio: Optional[float] = None,
+ tile_predictions_nms_threshold: Optional[float] = None,
+ validation_iou_threshold: Optional[float] = None,
+ validation_metric_type: Optional[Union[str, "ValidationMetricType"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword advanced_settings: Settings for advanced scenarios.
+ :paramtype advanced_settings: str
+ :keyword ams_gradient: Enable AMSGrad when optimizer is 'adam' or 'adamw'.
+ :paramtype ams_gradient: bool
+ :keyword augmentations: Settings for using Augmentations.
+ :paramtype augmentations: str
+ :keyword beta1: Value of 'beta1' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta1: float
+ :keyword beta2: Value of 'beta2' when optimizer is 'adam' or 'adamw'. Must be a float in the
+ range [0, 1].
+ :paramtype beta2: float
+ :keyword checkpoint_frequency: Frequency to store model checkpoints. Must be a positive
+ integer.
+ :paramtype checkpoint_frequency: int
+ :keyword checkpoint_model: The pretrained checkpoint model for incremental training.
+ :paramtype checkpoint_model: ~azure.mgmt.machinelearningservices.models.MLFlowModelJobInput
+ :keyword checkpoint_run_id: The id of a previous run that has a pretrained checkpoint for
+ incremental training.
+ :paramtype checkpoint_run_id: str
+ :keyword distributed: Whether to use distributed training.
+ :paramtype distributed: bool
+ :keyword early_stopping: Enable early stopping logic during training.
+ :paramtype early_stopping: bool
+ :keyword early_stopping_delay: Minimum number of epochs or validation evaluations to wait
+ before primary metric improvement
+ is tracked for early stopping. Must be a positive integer.
+ :paramtype early_stopping_delay: int
+ :keyword early_stopping_patience: Minimum number of epochs or validation evaluations with no
+ primary metric improvement before
+ the run is stopped. Must be a positive integer.
+ :paramtype early_stopping_patience: int
+ :keyword enable_onnx_normalization: Enable normalization when exporting ONNX model.
+ :paramtype enable_onnx_normalization: bool
+ :keyword evaluation_frequency: Frequency to evaluate validation dataset to get metric scores.
+ Must be a positive integer.
+ :paramtype evaluation_frequency: int
+ :keyword gradient_accumulation_step: Gradient accumulation means running a configured number of
+ "GradAccumulationStep" steps without
+ updating the model weights while accumulating the gradients of those steps, and then using
+ the accumulated gradients to compute the weight updates. Must be a positive integer.
+ :paramtype gradient_accumulation_step: int
+ :keyword layers_to_freeze: Number of layers to freeze for the model. Must be a positive
+ integer.
+ For instance, passing 2 as value for 'seresnext' means
+ freezing layer0 and layer1. For a full list of models supported and details on layer freeze,
+ please
+ see: https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype layers_to_freeze: int
+ :keyword learning_rate: Initial learning rate. Must be a float in the range [0, 1].
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: Type of learning rate scheduler. Must be 'warmup_cosine' or
+ 'step'. Possible values include: "None", "WarmupCosine", "Step".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.LearningRateScheduler
+ :keyword model_name: Name of the model to use for training.
+ For more information on the available models please visit the official documentation:
+ https://learn.microsoft.com/azure/machine-learning/how-to-auto-train-image-models.
+ :paramtype model_name: str
+ :keyword momentum: Value of momentum when optimizer is 'sgd'. Must be a float in the range [0,
+ 1].
+ :paramtype momentum: float
+ :keyword nesterov: Enable nesterov when optimizer is 'sgd'.
+ :paramtype nesterov: bool
+ :keyword number_of_epochs: Number of training epochs. Must be a positive integer.
+ :paramtype number_of_epochs: int
+ :keyword number_of_workers: Number of data loader workers. Must be a non-negative integer.
+ :paramtype number_of_workers: int
+ :keyword optimizer: Type of optimizer. Possible values include: "None", "Sgd", "Adam", "Adamw".
+ :paramtype optimizer: str or ~azure.mgmt.machinelearningservices.models.StochasticOptimizer
+ :keyword random_seed: Random seed to be used when using deterministic training.
+ :paramtype random_seed: int
+ :keyword step_lr_gamma: Value of gamma when learning rate scheduler is 'step'. Must be a float
+ in the range [0, 1].
+ :paramtype step_lr_gamma: float
+ :keyword step_lr_step_size: Value of step size when learning rate scheduler is 'step'. Must be
+ a positive integer.
+ :paramtype step_lr_step_size: int
+ :keyword training_batch_size: Training batch size. Must be a positive integer.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: Validation batch size. Must be a positive integer.
+ :paramtype validation_batch_size: int
+ :keyword warmup_cosine_lr_cycles: Value of cosine cycle when learning rate scheduler is
+ 'warmup_cosine'. Must be a float in the range [0, 1].
+ :paramtype warmup_cosine_lr_cycles: float
+ :keyword warmup_cosine_lr_warmup_epochs: Value of warmup epochs when learning rate scheduler is
+ 'warmup_cosine'. Must be a positive integer.
+ :paramtype warmup_cosine_lr_warmup_epochs: int
+ :keyword weight_decay: Value of weight decay when optimizer is 'sgd', 'adam', or 'adamw'. Must
+ be a float in the range[0, 1].
+ :paramtype weight_decay: float
+ :keyword box_detections_per_image: Maximum number of detections per image, for all classes.
+ Must be a positive integer.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype box_detections_per_image: int
+ :keyword box_score_threshold: During inference, only return proposals with a classification
+ score greater than
+ BoxScoreThreshold. Must be a float in the range[0, 1].
+ :paramtype box_score_threshold: float
+ :keyword image_size: Image size for train and validation. Must be a positive integer.
+ Note: The training run may get into CUDA OOM if the size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype image_size: int
+ :keyword max_size: Maximum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype max_size: int
+ :keyword min_size: Minimum size of the image to be rescaled before feeding it to the backbone.
+ Must be a positive integer. Note: training run may get into CUDA OOM if the size is too big.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype min_size: int
+ :keyword model_size: Model size. Must be 'small', 'medium', 'large', or 'xlarge'.
+ Note: training run may get into CUDA OOM if the model size is too big.
+ Note: This settings is only supported for the 'yolov5' algorithm. Possible values include:
+ "None", "Small", "Medium", "Large", "ExtraLarge".
+ :paramtype model_size: str or ~azure.mgmt.machinelearningservices.models.ModelSize
+ :keyword multi_scale: Enable multi-scale image by varying image size by +/- 50%.
+ Note: training run may get into CUDA OOM if no sufficient GPU memory.
+ Note: This settings is only supported for the 'yolov5' algorithm.
+ :paramtype multi_scale: bool
+ :keyword nms_iou_threshold: IOU threshold used during inference in NMS post processing. Must be
+ a float in the range [0, 1].
+ :paramtype nms_iou_threshold: float
+ :keyword tile_grid_size: The grid size to use for tiling each image. Note: TileGridSize must
+ not be
+ None to enable small object detection logic. A string containing two integers in mxn format.
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_grid_size: str
+ :keyword tile_overlap_ratio: Overlap ratio between adjacent tiles in each dimension. Must be
+ float in the range [0, 1).
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_overlap_ratio: float
+ :keyword tile_predictions_nms_threshold: The IOU threshold to use to perform NMS while merging
+ predictions from tiles and image.
+ Used in validation/ inference. Must be float in the range [0, 1].
+ Note: This settings is not supported for the 'yolov5' algorithm.
+ :paramtype tile_predictions_nms_threshold: float
+ :keyword validation_iou_threshold: IOU threshold to use when computing validation metric. Must
+ be float in the range [0, 1].
+ :paramtype validation_iou_threshold: float
+ :keyword validation_metric_type: Metric computation method to use for validation metrics.
+ Possible values include: "None", "Coco", "Voc", "CocoVoc".
+ :paramtype validation_metric_type: str or
+ ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ """
+ super(ImageModelSettingsObjectDetection, self).__init__(advanced_settings=advanced_settings, ams_gradient=ams_gradient, augmentations=augmentations, beta1=beta1, beta2=beta2, checkpoint_frequency=checkpoint_frequency, checkpoint_model=checkpoint_model, checkpoint_run_id=checkpoint_run_id, distributed=distributed, early_stopping=early_stopping, early_stopping_delay=early_stopping_delay, early_stopping_patience=early_stopping_patience, enable_onnx_normalization=enable_onnx_normalization, evaluation_frequency=evaluation_frequency, gradient_accumulation_step=gradient_accumulation_step, layers_to_freeze=layers_to_freeze, learning_rate=learning_rate, learning_rate_scheduler=learning_rate_scheduler, model_name=model_name, momentum=momentum, nesterov=nesterov, number_of_epochs=number_of_epochs, number_of_workers=number_of_workers, optimizer=optimizer, random_seed=random_seed, step_lr_gamma=step_lr_gamma, step_lr_step_size=step_lr_step_size, training_batch_size=training_batch_size, validation_batch_size=validation_batch_size, warmup_cosine_lr_cycles=warmup_cosine_lr_cycles, warmup_cosine_lr_warmup_epochs=warmup_cosine_lr_warmup_epochs, weight_decay=weight_decay, **kwargs)
+ self.box_detections_per_image = box_detections_per_image
+ self.box_score_threshold = box_score_threshold
+ self.image_size = image_size
+ self.max_size = max_size
+ self.min_size = min_size
+ self.model_size = model_size
+ self.multi_scale = multi_scale
+ self.nms_iou_threshold = nms_iou_threshold
+ self.tile_grid_size = tile_grid_size
+ self.tile_overlap_ratio = tile_overlap_ratio
+ self.tile_predictions_nms_threshold = tile_predictions_nms_threshold
+ self.validation_iou_threshold = validation_iou_threshold
+ self.validation_metric_type = validation_metric_type
+
+
+class ImageObjectDetection(AutoMLVertical, ImageObjectDetectionBase):
+ """Image Object Detection. Object detection is used to identify objects in an image and locate each object with a
+bounding box e.g. locate all dogs and cats in an image and draw a bounding box around each.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :ivar sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar model_settings: Settings used for training the model.
+ :vartype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ """
+
+ _validation = {
+ 'limit_settings': {'required': True},
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'limit_settings': {'key': 'limitSettings', 'type': 'ImageLimitSettings'},
+ 'sweep_settings': {'key': 'sweepSettings', 'type': 'ImageSweepSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'model_settings': {'key': 'modelSettings', 'type': 'ImageModelSettingsObjectDetection'},
+ 'search_space': {'key': 'searchSpace', 'type': '[ImageModelDistributionSettingsObjectDetection]'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit_settings: "ImageLimitSettings",
+ training_data: "MLTableJobInput",
+ sweep_settings: Optional["ImageSweepSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["ImageModelSettingsObjectDetection"] = None,
+ search_space: Optional[List["ImageModelDistributionSettingsObjectDetection"]] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ primary_metric: Optional[Union[str, "ObjectDetectionPrimaryMetrics"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit_settings: Required. [Required] Limit settings for the AutoML job.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.ImageLimitSettings
+ :keyword sweep_settings: Model sweeping and hyperparameter sweeping related settings.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.ImageSweepSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword model_settings: Settings used for training the model.
+ :paramtype model_settings:
+ ~azure.mgmt.machinelearningservices.models.ImageModelSettingsObjectDetection
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.ImageModelDistributionSettingsObjectDetection]
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric to optimize for this task. Possible values include:
+ "MeanAveragePrecision".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ """
+ super(ImageObjectDetection, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, limit_settings=limit_settings, sweep_settings=sweep_settings, validation_data=validation_data, validation_data_size=validation_data_size, model_settings=model_settings, search_space=search_space, **kwargs)
+ self.limit_settings = limit_settings
+ self.sweep_settings = sweep_settings
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.model_settings = model_settings
+ self.search_space = search_space
+ self.task_type = 'ImageObjectDetection' # type: str
+ self.primary_metric = primary_metric
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class ImageSweepSettings(msrest.serialization.Model):
+ """Model sweeping and hyperparameter sweeping related settings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar early_termination: Type of early termination policy.
+ :vartype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :ivar sampling_algorithm: Required. [Required] Type of the hyperparameter sampling algorithms.
+ Possible values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+
+ _validation = {
+ 'sampling_algorithm': {'required': True},
+ }
+
+ _attribute_map = {
+ 'early_termination': {'key': 'earlyTermination', 'type': 'EarlyTerminationPolicy'},
+ 'sampling_algorithm': {'key': 'samplingAlgorithm', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ sampling_algorithm: Union[str, "SamplingAlgorithmType"],
+ early_termination: Optional["EarlyTerminationPolicy"] = None,
+ **kwargs
+ ):
+ """
+ :keyword early_termination: Type of early termination policy.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword sampling_algorithm: Required. [Required] Type of the hyperparameter sampling
+ algorithms. Possible values include: "Grid", "Random", "Bayesian".
+ :paramtype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+ super(ImageSweepSettings, self).__init__(**kwargs)
+ self.early_termination = early_termination
+ self.sampling_algorithm = sampling_algorithm
+
+
+class InferenceContainerProperties(msrest.serialization.Model):
+ """InferenceContainerProperties.
+
+ :ivar liveness_route: The route to check the liveness of the inference server container.
+ :vartype liveness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :ivar readiness_route: The route to check the readiness of the inference server container.
+ :vartype readiness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :ivar scoring_route: The port to send the scoring requests to, within the inference server
+ container.
+ :vartype scoring_route: ~azure.mgmt.machinelearningservices.models.Route
+ """
+
+ _attribute_map = {
+ 'liveness_route': {'key': 'livenessRoute', 'type': 'Route'},
+ 'readiness_route': {'key': 'readinessRoute', 'type': 'Route'},
+ 'scoring_route': {'key': 'scoringRoute', 'type': 'Route'},
+ }
+
+ def __init__(
+ self,
+ *,
+ liveness_route: Optional["Route"] = None,
+ readiness_route: Optional["Route"] = None,
+ scoring_route: Optional["Route"] = None,
+ **kwargs
+ ):
+ """
+ :keyword liveness_route: The route to check the liveness of the inference server container.
+ :paramtype liveness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :keyword readiness_route: The route to check the readiness of the inference server container.
+ :paramtype readiness_route: ~azure.mgmt.machinelearningservices.models.Route
+ :keyword scoring_route: The port to send the scoring requests to, within the inference server
+ container.
+ :paramtype scoring_route: ~azure.mgmt.machinelearningservices.models.Route
+ """
+ super(InferenceContainerProperties, self).__init__(**kwargs)
+ self.liveness_route = liveness_route
+ self.readiness_route = readiness_route
+ self.scoring_route = scoring_route
+
+
+class InstanceTypeSchema(msrest.serialization.Model):
+ """Instance type schema.
+
+ :ivar node_selector: Node Selector.
+ :vartype node_selector: dict[str, str]
+ :ivar resources: Resource requests/limits for this instance type.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.InstanceTypeSchemaResources
+ """
+
+ _attribute_map = {
+ 'node_selector': {'key': 'nodeSelector', 'type': '{str}'},
+ 'resources': {'key': 'resources', 'type': 'InstanceTypeSchemaResources'},
+ }
+
+ def __init__(
+ self,
+ *,
+ node_selector: Optional[Dict[str, str]] = None,
+ resources: Optional["InstanceTypeSchemaResources"] = None,
+ **kwargs
+ ):
+ """
+ :keyword node_selector: Node Selector.
+ :paramtype node_selector: dict[str, str]
+ :keyword resources: Resource requests/limits for this instance type.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.InstanceTypeSchemaResources
+ """
+ super(InstanceTypeSchema, self).__init__(**kwargs)
+ self.node_selector = node_selector
+ self.resources = resources
+
+
+class InstanceTypeSchemaResources(msrest.serialization.Model):
+ """Resource requests/limits for this instance type.
+
+ :ivar requests: Resource requests for this instance type.
+ :vartype requests: dict[str, str]
+ :ivar limits: Resource limits for this instance type.
+ :vartype limits: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'requests': {'key': 'requests', 'type': '{str}'},
+ 'limits': {'key': 'limits', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ requests: Optional[Dict[str, str]] = None,
+ limits: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword requests: Resource requests for this instance type.
+ :paramtype requests: dict[str, str]
+ :keyword limits: Resource limits for this instance type.
+ :paramtype limits: dict[str, str]
+ """
+ super(InstanceTypeSchemaResources, self).__init__(**kwargs)
+ self.requests = requests
+ self.limits = limits
+
+
+class JobBase(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'JobBaseProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "JobBaseProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+ super(JobBase, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class JobBaseResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of JobBase entities.
+
+ :ivar next_link: The link to the next page of JobBase objects. If null, there are no additional
+ pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type JobBase.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.JobBase]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[JobBase]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["JobBase"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of JobBase objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type JobBase.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.JobBase]
+ """
+ super(JobBaseResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class JobResourceConfiguration(ResourceConfiguration):
+ """JobResourceConfiguration.
+
+ :ivar instance_count: Optional number of instances or nodes used by the compute target.
+ :vartype instance_count: int
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, any]
+ :ivar docker_args: Extra arguments to pass to the Docker run command. This would override any
+ parameters that have already been set by the system, or in this section. This parameter is only
+ supported for Azure ML compute types.
+ :vartype docker_args: str
+ :ivar shm_size: Size of the docker container's shared memory block. This should be in the
+ format of (number)(unit) where number as to be greater than 0 and the unit can be one of
+ b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
+ :vartype shm_size: str
+ """
+
+ _validation = {
+ 'shm_size': {'pattern': r'\d+[bBkKmMgG]'},
+ }
+
+ _attribute_map = {
+ 'instance_count': {'key': 'instanceCount', 'type': 'int'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{object}'},
+ 'docker_args': {'key': 'dockerArgs', 'type': 'str'},
+ 'shm_size': {'key': 'shmSize', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ instance_count: Optional[int] = 1,
+ instance_type: Optional[str] = None,
+ properties: Optional[Dict[str, Any]] = None,
+ docker_args: Optional[str] = None,
+ shm_size: Optional[str] = "2g",
+ **kwargs
+ ):
+ """
+ :keyword instance_count: Optional number of instances or nodes used by the compute target.
+ :paramtype instance_count: int
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, any]
+ :keyword docker_args: Extra arguments to pass to the Docker run command. This would override
+ any parameters that have already been set by the system, or in this section. This parameter is
+ only supported for Azure ML compute types.
+ :paramtype docker_args: str
+ :keyword shm_size: Size of the docker container's shared memory block. This should be in the
+ format of (number)(unit) where number as to be greater than 0 and the unit can be one of
+ b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
+ :paramtype shm_size: str
+ """
+ super(JobResourceConfiguration, self).__init__(instance_count=instance_count, instance_type=instance_type, properties=properties, **kwargs)
+ self.docker_args = docker_args
+ self.shm_size = shm_size
+
+
+class JobScheduleAction(ScheduleActionBase):
+ """JobScheduleAction.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar action_type: Required. [Required] Specifies the action type of the schedule.Constant
+ filled by server. Possible values include: "CreateJob", "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ :ivar job_definition: Required. [Required] Defines Schedule action definition details.
+ :vartype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+
+ _validation = {
+ 'action_type': {'required': True},
+ 'job_definition': {'required': True},
+ }
+
+ _attribute_map = {
+ 'action_type': {'key': 'actionType', 'type': 'str'},
+ 'job_definition': {'key': 'jobDefinition', 'type': 'JobBaseProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ job_definition: "JobBaseProperties",
+ **kwargs
+ ):
+ """
+ :keyword job_definition: Required. [Required] Defines Schedule action definition details.
+ :paramtype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+ super(JobScheduleAction, self).__init__(**kwargs)
+ self.action_type = 'CreateJob' # type: str
+ self.job_definition = job_definition
+
+
+class JobService(msrest.serialization.Model):
+ """Job endpoint definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar endpoint: Url for endpoint.
+ :vartype endpoint: str
+ :ivar error_message: Any error in the service.
+ :vartype error_message: str
+ :ivar job_service_type: Endpoint type.
+ :vartype job_service_type: str
+ :ivar port: Port for endpoint.
+ :vartype port: int
+ :ivar properties: Additional properties to set on the endpoint.
+ :vartype properties: dict[str, str]
+ :ivar status: Status of endpoint.
+ :vartype status: str
+ """
+
+ _validation = {
+ 'error_message': {'readonly': True},
+ 'status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'endpoint': {'key': 'endpoint', 'type': 'str'},
+ 'error_message': {'key': 'errorMessage', 'type': 'str'},
+ 'job_service_type': {'key': 'jobServiceType', 'type': 'str'},
+ 'port': {'key': 'port', 'type': 'int'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ endpoint: Optional[str] = None,
+ job_service_type: Optional[str] = None,
+ port: Optional[int] = None,
+ properties: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword endpoint: Url for endpoint.
+ :paramtype endpoint: str
+ :keyword job_service_type: Endpoint type.
+ :paramtype job_service_type: str
+ :keyword port: Port for endpoint.
+ :paramtype port: int
+ :keyword properties: Additional properties to set on the endpoint.
+ :paramtype properties: dict[str, str]
+ """
+ super(JobService, self).__init__(**kwargs)
+ self.endpoint = endpoint
+ self.error_message = None
+ self.job_service_type = job_service_type
+ self.port = port
+ self.properties = properties
+ self.status = None
+
+
+class KubernetesSchema(msrest.serialization.Model):
+ """Kubernetes Compute Schema.
+
+ :ivar properties: Properties of Kubernetes.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'KubernetesProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["KubernetesProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Kubernetes.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ """
+ super(KubernetesSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class Kubernetes(Compute, KubernetesSchema):
+ """A Machine Learning compute based on Kubernetes Compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties: Properties of Kubernetes.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'KubernetesProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["KubernetesProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Properties of Kubernetes.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(Kubernetes, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'Kubernetes' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class OnlineDeploymentProperties(EndpointDeploymentPropertiesBase):
+ """OnlineDeploymentProperties.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: KubernetesOnlineDeployment, ManagedOnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar app_insights_enabled: If true, enables Application Insights logging.
+ :vartype app_insights_enabled: bool
+ :ivar egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: Required. [Required] The compute type of the endpoint.Constant
+ filled by server. Possible values include: "Managed", "Kubernetes", "AzureMLCompute".
+ :vartype endpoint_compute_type: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :ivar instance_type: Compute instance type.
+ :vartype instance_type: str
+ :ivar liveness_probe: Liveness probe monitors the health of the container regularly.
+ :vartype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar model: The URI path to the model.
+ :vartype model: str
+ :ivar model_mount_path: The path to mount the model in custom container.
+ :vartype model_mount_path: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :vartype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar request_settings: Request settings for the deployment.
+ :vartype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :ivar scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+
+ _validation = {
+ 'endpoint_compute_type': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
+ 'egress_public_network_access': {'key': 'egressPublicNetworkAccess', 'type': 'str'},
+ 'endpoint_compute_type': {'key': 'endpointComputeType', 'type': 'str'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'liveness_probe': {'key': 'livenessProbe', 'type': 'ProbeSettings'},
+ 'model': {'key': 'model', 'type': 'str'},
+ 'model_mount_path': {'key': 'modelMountPath', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'readiness_probe': {'key': 'readinessProbe', 'type': 'ProbeSettings'},
+ 'request_settings': {'key': 'requestSettings', 'type': 'OnlineRequestSettings'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'OnlineScaleSettings'},
+ }
+
+ _subtype_map = {
+ 'endpoint_compute_type': {'Kubernetes': 'KubernetesOnlineDeployment', 'Managed': 'ManagedOnlineDeployment'}
+ }
+
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["CodeConfiguration"] = None,
+ description: Optional[str] = None,
+ environment_id: Optional[str] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ properties: Optional[Dict[str, str]] = None,
+ app_insights_enabled: Optional[bool] = False,
+ egress_public_network_access: Optional[Union[str, "EgressPublicNetworkAccessType"]] = None,
+ instance_type: Optional[str] = None,
+ liveness_probe: Optional["ProbeSettings"] = None,
+ model: Optional[str] = None,
+ model_mount_path: Optional[str] = None,
+ readiness_probe: Optional["ProbeSettings"] = None,
+ request_settings: Optional["OnlineRequestSettings"] = None,
+ scale_settings: Optional["OnlineScaleSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword app_insights_enabled: If true, enables Application Insights logging.
+ :paramtype app_insights_enabled: bool
+ :keyword egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :keyword instance_type: Compute instance type.
+ :paramtype instance_type: str
+ :keyword liveness_probe: Liveness probe monitors the health of the container regularly.
+ :paramtype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword model: The URI path to the model.
+ :paramtype model: str
+ :keyword model_mount_path: The path to mount the model in custom container.
+ :paramtype model_mount_path: str
+ :keyword readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :paramtype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword request_settings: Request settings for the deployment.
+ :paramtype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :keyword scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+ super(OnlineDeploymentProperties, self).__init__(code_configuration=code_configuration, description=description, environment_id=environment_id, environment_variables=environment_variables, properties=properties, **kwargs)
+ self.app_insights_enabled = app_insights_enabled
+ self.egress_public_network_access = egress_public_network_access
+ self.endpoint_compute_type = 'OnlineDeploymentProperties' # type: str
+ self.instance_type = instance_type
+ self.liveness_probe = liveness_probe
+ self.model = model
+ self.model_mount_path = model_mount_path
+ self.provisioning_state = None
+ self.readiness_probe = readiness_probe
+ self.request_settings = request_settings
+ self.scale_settings = scale_settings
+
+
+class KubernetesOnlineDeployment(OnlineDeploymentProperties):
+ """Properties specific to a KubernetesOnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar app_insights_enabled: If true, enables Application Insights logging.
+ :vartype app_insights_enabled: bool
+ :ivar egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: Required. [Required] The compute type of the endpoint.Constant
+ filled by server. Possible values include: "Managed", "Kubernetes", "AzureMLCompute".
+ :vartype endpoint_compute_type: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :ivar instance_type: Compute instance type.
+ :vartype instance_type: str
+ :ivar liveness_probe: Liveness probe monitors the health of the container regularly.
+ :vartype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar model: The URI path to the model.
+ :vartype model: str
+ :ivar model_mount_path: The path to mount the model in custom container.
+ :vartype model_mount_path: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :vartype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar request_settings: Request settings for the deployment.
+ :vartype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :ivar scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ :ivar container_resource_requirements: The resource requirements for the container (cpu and
+ memory).
+ :vartype container_resource_requirements:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceRequirements
+ """
+
+ _validation = {
+ 'endpoint_compute_type': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
+ 'egress_public_network_access': {'key': 'egressPublicNetworkAccess', 'type': 'str'},
+ 'endpoint_compute_type': {'key': 'endpointComputeType', 'type': 'str'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'liveness_probe': {'key': 'livenessProbe', 'type': 'ProbeSettings'},
+ 'model': {'key': 'model', 'type': 'str'},
+ 'model_mount_path': {'key': 'modelMountPath', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'readiness_probe': {'key': 'readinessProbe', 'type': 'ProbeSettings'},
+ 'request_settings': {'key': 'requestSettings', 'type': 'OnlineRequestSettings'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'OnlineScaleSettings'},
+ 'container_resource_requirements': {'key': 'containerResourceRequirements', 'type': 'ContainerResourceRequirements'},
+ }
+
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["CodeConfiguration"] = None,
+ description: Optional[str] = None,
+ environment_id: Optional[str] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ properties: Optional[Dict[str, str]] = None,
+ app_insights_enabled: Optional[bool] = False,
+ egress_public_network_access: Optional[Union[str, "EgressPublicNetworkAccessType"]] = None,
+ instance_type: Optional[str] = None,
+ liveness_probe: Optional["ProbeSettings"] = None,
+ model: Optional[str] = None,
+ model_mount_path: Optional[str] = None,
+ readiness_probe: Optional["ProbeSettings"] = None,
+ request_settings: Optional["OnlineRequestSettings"] = None,
+ scale_settings: Optional["OnlineScaleSettings"] = None,
+ container_resource_requirements: Optional["ContainerResourceRequirements"] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword app_insights_enabled: If true, enables Application Insights logging.
+ :paramtype app_insights_enabled: bool
+ :keyword egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :keyword instance_type: Compute instance type.
+ :paramtype instance_type: str
+ :keyword liveness_probe: Liveness probe monitors the health of the container regularly.
+ :paramtype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword model: The URI path to the model.
+ :paramtype model: str
+ :keyword model_mount_path: The path to mount the model in custom container.
+ :paramtype model_mount_path: str
+ :keyword readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :paramtype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword request_settings: Request settings for the deployment.
+ :paramtype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :keyword scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ :keyword container_resource_requirements: The resource requirements for the container (cpu and
+ memory).
+ :paramtype container_resource_requirements:
+ ~azure.mgmt.machinelearningservices.models.ContainerResourceRequirements
+ """
+ super(KubernetesOnlineDeployment, self).__init__(code_configuration=code_configuration, description=description, environment_id=environment_id, environment_variables=environment_variables, properties=properties, app_insights_enabled=app_insights_enabled, egress_public_network_access=egress_public_network_access, instance_type=instance_type, liveness_probe=liveness_probe, model=model, model_mount_path=model_mount_path, readiness_probe=readiness_probe, request_settings=request_settings, scale_settings=scale_settings, **kwargs)
+ self.endpoint_compute_type = 'Kubernetes' # type: str
+ self.container_resource_requirements = container_resource_requirements
+
+
+class KubernetesProperties(msrest.serialization.Model):
+ """Kubernetes properties.
+
+ :ivar relay_connection_string: Relay connection string.
+ :vartype relay_connection_string: str
+ :ivar service_bus_connection_string: ServiceBus connection string.
+ :vartype service_bus_connection_string: str
+ :ivar extension_principal_id: Extension principal-id.
+ :vartype extension_principal_id: str
+ :ivar extension_instance_release_train: Extension instance release train.
+ :vartype extension_instance_release_train: str
+ :ivar vc_name: VC name.
+ :vartype vc_name: str
+ :ivar namespace: Compute namespace.
+ :vartype namespace: str
+ :ivar default_instance_type: Default instance type.
+ :vartype default_instance_type: str
+ :ivar instance_types: Instance Type Schema.
+ :vartype instance_types: dict[str,
+ ~azure.mgmt.machinelearningservices.models.InstanceTypeSchema]
+ """
+
+ _attribute_map = {
+ 'relay_connection_string': {'key': 'relayConnectionString', 'type': 'str'},
+ 'service_bus_connection_string': {'key': 'serviceBusConnectionString', 'type': 'str'},
+ 'extension_principal_id': {'key': 'extensionPrincipalId', 'type': 'str'},
+ 'extension_instance_release_train': {'key': 'extensionInstanceReleaseTrain', 'type': 'str'},
+ 'vc_name': {'key': 'vcName', 'type': 'str'},
+ 'namespace': {'key': 'namespace', 'type': 'str'},
+ 'default_instance_type': {'key': 'defaultInstanceType', 'type': 'str'},
+ 'instance_types': {'key': 'instanceTypes', 'type': '{InstanceTypeSchema}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ relay_connection_string: Optional[str] = None,
+ service_bus_connection_string: Optional[str] = None,
+ extension_principal_id: Optional[str] = None,
+ extension_instance_release_train: Optional[str] = None,
+ vc_name: Optional[str] = None,
+ namespace: Optional[str] = "default",
+ default_instance_type: Optional[str] = None,
+ instance_types: Optional[Dict[str, "InstanceTypeSchema"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword relay_connection_string: Relay connection string.
+ :paramtype relay_connection_string: str
+ :keyword service_bus_connection_string: ServiceBus connection string.
+ :paramtype service_bus_connection_string: str
+ :keyword extension_principal_id: Extension principal-id.
+ :paramtype extension_principal_id: str
+ :keyword extension_instance_release_train: Extension instance release train.
+ :paramtype extension_instance_release_train: str
+ :keyword vc_name: VC name.
+ :paramtype vc_name: str
+ :keyword namespace: Compute namespace.
+ :paramtype namespace: str
+ :keyword default_instance_type: Default instance type.
+ :paramtype default_instance_type: str
+ :keyword instance_types: Instance Type Schema.
+ :paramtype instance_types: dict[str,
+ ~azure.mgmt.machinelearningservices.models.InstanceTypeSchema]
+ """
+ super(KubernetesProperties, self).__init__(**kwargs)
+ self.relay_connection_string = relay_connection_string
+ self.service_bus_connection_string = service_bus_connection_string
+ self.extension_principal_id = extension_principal_id
+ self.extension_instance_release_train = extension_instance_release_train
+ self.vc_name = vc_name
+ self.namespace = namespace
+ self.default_instance_type = default_instance_type
+ self.instance_types = instance_types
+
+
+class ListAmlUserFeatureResult(msrest.serialization.Model):
+ """The List Aml user feature operation response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of AML user facing features.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.AmlUserFeature]
+ :ivar next_link: The URI to fetch the next page of AML user features information. Call
+ ListNext() with this to fetch the next page of AML user features information.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[AmlUserFeature]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListAmlUserFeatureResult, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class ListNotebookKeysResult(msrest.serialization.Model):
+ """ListNotebookKeysResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar primary_access_key:
+ :vartype primary_access_key: str
+ :ivar secondary_access_key:
+ :vartype secondary_access_key: str
+ """
+
+ _validation = {
+ 'primary_access_key': {'readonly': True},
+ 'secondary_access_key': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'primary_access_key': {'key': 'primaryAccessKey', 'type': 'str'},
+ 'secondary_access_key': {'key': 'secondaryAccessKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListNotebookKeysResult, self).__init__(**kwargs)
+ self.primary_access_key = None
+ self.secondary_access_key = None
+
+
+class ListStorageAccountKeysResult(msrest.serialization.Model):
+ """ListStorageAccountKeysResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar user_storage_key:
+ :vartype user_storage_key: str
+ """
+
+ _validation = {
+ 'user_storage_key': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'user_storage_key': {'key': 'userStorageKey', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListStorageAccountKeysResult, self).__init__(**kwargs)
+ self.user_storage_key = None
+
+
+class ListUsagesResult(msrest.serialization.Model):
+ """The List Usages operation response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of AML resource usages.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Usage]
+ :ivar next_link: The URI to fetch the next page of AML resource usage information. Call
+ ListNext() with this to fetch the next page of AML resource usage information.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[Usage]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListUsagesResult, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class ListWorkspaceKeysResult(msrest.serialization.Model):
+ """ListWorkspaceKeysResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar user_storage_key:
+ :vartype user_storage_key: str
+ :ivar user_storage_resource_id:
+ :vartype user_storage_resource_id: str
+ :ivar app_insights_instrumentation_key:
+ :vartype app_insights_instrumentation_key: str
+ :ivar container_registry_credentials:
+ :vartype container_registry_credentials:
+ ~azure.mgmt.machinelearningservices.models.RegistryListCredentialsResult
+ :ivar notebook_access_keys:
+ :vartype notebook_access_keys:
+ ~azure.mgmt.machinelearningservices.models.ListNotebookKeysResult
+ """
+
+ _validation = {
+ 'user_storage_key': {'readonly': True},
+ 'user_storage_resource_id': {'readonly': True},
+ 'app_insights_instrumentation_key': {'readonly': True},
+ 'container_registry_credentials': {'readonly': True},
+ 'notebook_access_keys': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'user_storage_key': {'key': 'userStorageKey', 'type': 'str'},
+ 'user_storage_resource_id': {'key': 'userStorageResourceId', 'type': 'str'},
+ 'app_insights_instrumentation_key': {'key': 'appInsightsInstrumentationKey', 'type': 'str'},
+ 'container_registry_credentials': {'key': 'containerRegistryCredentials', 'type': 'RegistryListCredentialsResult'},
+ 'notebook_access_keys': {'key': 'notebookAccessKeys', 'type': 'ListNotebookKeysResult'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListWorkspaceKeysResult, self).__init__(**kwargs)
+ self.user_storage_key = None
+ self.user_storage_resource_id = None
+ self.app_insights_instrumentation_key = None
+ self.container_registry_credentials = None
+ self.notebook_access_keys = None
+
+
+class ListWorkspaceQuotas(msrest.serialization.Model):
+ """The List WorkspaceQuotasByVMFamily operation response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of Workspace Quotas by VM Family.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ResourceQuota]
+ :ivar next_link: The URI to fetch the next page of workspace quota information by VM Family.
+ Call ListNext() with this to fetch the next page of Workspace Quota information.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[ResourceQuota]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ListWorkspaceQuotas, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class LiteralJobInput(JobInput):
+ """Literal input type.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ :ivar value: Required. [Required] Literal value for the input.
+ :vartype value: str
+ """
+
+ _validation = {
+ 'job_input_type': {'required': True},
+ 'value': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: str,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: Description for the input.
+ :paramtype description: str
+ :keyword value: Required. [Required] Literal value for the input.
+ :paramtype value: str
+ """
+ super(LiteralJobInput, self).__init__(description=description, **kwargs)
+ self.job_input_type = 'literal' # type: str
+ self.value = value
+
+
+class ManagedIdentity(IdentityConfiguration):
+ """Managed identity configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ :ivar client_id: Specifies a user-assigned identity by client ID. For system-assigned, do not
+ set this field.
+ :vartype client_id: str
+ :ivar object_id: Specifies a user-assigned identity by object ID. For system-assigned, do not
+ set this field.
+ :vartype object_id: str
+ :ivar resource_id: Specifies a user-assigned identity by ARM resource ID. For system-assigned,
+ do not set this field.
+ :vartype resource_id: str
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ 'object_id': {'key': 'objectId', 'type': 'str'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_id: Optional[str] = None,
+ object_id: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword client_id: Specifies a user-assigned identity by client ID. For system-assigned, do
+ not set this field.
+ :paramtype client_id: str
+ :keyword object_id: Specifies a user-assigned identity by object ID. For system-assigned, do
+ not set this field.
+ :paramtype object_id: str
+ :keyword resource_id: Specifies a user-assigned identity by ARM resource ID. For
+ system-assigned, do not set this field.
+ :paramtype resource_id: str
+ """
+ super(ManagedIdentity, self).__init__(**kwargs)
+ self.identity_type = 'Managed' # type: str
+ self.client_id = client_id
+ self.object_id = object_id
+ self.resource_id = resource_id
+
+
+class WorkspaceConnectionPropertiesV2(msrest.serialization.Model):
+ """WorkspaceConnectionPropertiesV2.
+
+ You probably want to use the sub-classes and not this class directly. Known
+ sub-classes are: ManagedIdentityAuthTypeWorkspaceConnectionProperties, NoneAuthTypeWorkspaceConnectionProperties, PATAuthTypeWorkspaceConnectionProperties, SASAuthTypeWorkspaceConnectionProperties, UsernamePasswordAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ }
+
+ _subtype_map = {
+ 'auth_type': {'ManagedIdentity': 'ManagedIdentityAuthTypeWorkspaceConnectionProperties', 'None': 'NoneAuthTypeWorkspaceConnectionProperties', 'PAT': 'PATAuthTypeWorkspaceConnectionProperties', 'SAS': 'SASAuthTypeWorkspaceConnectionProperties', 'UsernamePassword': 'UsernamePasswordAuthTypeWorkspaceConnectionProperties'}
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "ValueFormat"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+ super(WorkspaceConnectionPropertiesV2, self).__init__(**kwargs)
+ self.auth_type = None # type: Optional[str]
+ self.category = category
+ self.target = target
+ self.value = value
+ self.value_format = value_format
+
+
+class ManagedIdentityAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """ManagedIdentityAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionManagedIdentity
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionManagedIdentity'},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "ValueFormat"]] = None,
+ credentials: Optional["WorkspaceConnectionManagedIdentity"] = None,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionManagedIdentity
+ """
+ super(ManagedIdentityAuthTypeWorkspaceConnectionProperties, self).__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type = 'ManagedIdentity' # type: str
+ self.credentials = credentials
+
+
+class ManagedOnlineDeployment(OnlineDeploymentProperties):
+ """Properties specific to a ManagedOnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_configuration: Code configuration for the endpoint deployment.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ :ivar environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables configuration for the deployment.
+ :vartype environment_variables: dict[str, str]
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar app_insights_enabled: If true, enables Application Insights logging.
+ :vartype app_insights_enabled: bool
+ :ivar egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: Required. [Required] The compute type of the endpoint.Constant
+ filled by server. Possible values include: "Managed", "Kubernetes", "AzureMLCompute".
+ :vartype endpoint_compute_type: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :ivar instance_type: Compute instance type.
+ :vartype instance_type: str
+ :ivar liveness_probe: Liveness probe monitors the health of the container regularly.
+ :vartype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar model: The URI path to the model.
+ :vartype model: str
+ :ivar model_mount_path: The path to mount the model in custom container.
+ :vartype model_mount_path: str
+ :ivar provisioning_state: Provisioning state for the endpoint deployment. Possible values
+ include: "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.DeploymentProvisioningState
+ :ivar readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :vartype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :ivar request_settings: Request settings for the deployment.
+ :vartype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :ivar scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+
+ _validation = {
+ 'endpoint_compute_type': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'code_configuration': {'key': 'codeConfiguration', 'type': 'CodeConfiguration'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'app_insights_enabled': {'key': 'appInsightsEnabled', 'type': 'bool'},
+ 'egress_public_network_access': {'key': 'egressPublicNetworkAccess', 'type': 'str'},
+ 'endpoint_compute_type': {'key': 'endpointComputeType', 'type': 'str'},
+ 'instance_type': {'key': 'instanceType', 'type': 'str'},
+ 'liveness_probe': {'key': 'livenessProbe', 'type': 'ProbeSettings'},
+ 'model': {'key': 'model', 'type': 'str'},
+ 'model_mount_path': {'key': 'modelMountPath', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'readiness_probe': {'key': 'readinessProbe', 'type': 'ProbeSettings'},
+ 'request_settings': {'key': 'requestSettings', 'type': 'OnlineRequestSettings'},
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'OnlineScaleSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["CodeConfiguration"] = None,
+ description: Optional[str] = None,
+ environment_id: Optional[str] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ properties: Optional[Dict[str, str]] = None,
+ app_insights_enabled: Optional[bool] = False,
+ egress_public_network_access: Optional[Union[str, "EgressPublicNetworkAccessType"]] = None,
+ instance_type: Optional[str] = None,
+ liveness_probe: Optional["ProbeSettings"] = None,
+ model: Optional[str] = None,
+ model_mount_path: Optional[str] = None,
+ readiness_probe: Optional["ProbeSettings"] = None,
+ request_settings: Optional["OnlineRequestSettings"] = None,
+ scale_settings: Optional["OnlineScaleSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_configuration: Code configuration for the endpoint deployment.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ :keyword environment_id: ARM resource ID or AssetId of the environment specification for the
+ endpoint deployment.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables configuration for the deployment.
+ :paramtype environment_variables: dict[str, str]
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword app_insights_enabled: If true, enables Application Insights logging.
+ :paramtype app_insights_enabled: bool
+ :keyword egress_public_network_access: If Enabled, allow egress public network access. If
+ Disabled, this will create secure egress. Default: Enabled. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :keyword instance_type: Compute instance type.
+ :paramtype instance_type: str
+ :keyword liveness_probe: Liveness probe monitors the health of the container regularly.
+ :paramtype liveness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword model: The URI path to the model.
+ :paramtype model: str
+ :keyword model_mount_path: The path to mount the model in custom container.
+ :paramtype model_mount_path: str
+ :keyword readiness_probe: Readiness probe validates if the container is ready to serve traffic.
+ The properties and defaults are the same as liveness probe.
+ :paramtype readiness_probe: ~azure.mgmt.machinelearningservices.models.ProbeSettings
+ :keyword request_settings: Request settings for the deployment.
+ :paramtype request_settings: ~azure.mgmt.machinelearningservices.models.OnlineRequestSettings
+ :keyword scale_settings: Scale settings for the deployment.
+ If it is null or not provided,
+ it defaults to TargetUtilizationScaleSettings for KubernetesOnlineDeployment
+ and to DefaultScaleSettings for ManagedOnlineDeployment.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.OnlineScaleSettings
+ """
+ super(ManagedOnlineDeployment, self).__init__(code_configuration=code_configuration, description=description, environment_id=environment_id, environment_variables=environment_variables, properties=properties, app_insights_enabled=app_insights_enabled, egress_public_network_access=egress_public_network_access, instance_type=instance_type, liveness_probe=liveness_probe, model=model, model_mount_path=model_mount_path, readiness_probe=readiness_probe, request_settings=request_settings, scale_settings=scale_settings, **kwargs)
+ self.endpoint_compute_type = 'Managed' # type: str
+
+
+class ManagedServiceIdentity(msrest.serialization.Model):
+ """Managed service identity (system assigned and/or user assigned identities).
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar principal_id: The service principal ID of the system assigned identity. This property
+ will only be provided for a system assigned identity.
+ :vartype principal_id: str
+ :ivar tenant_id: The tenant ID of the system assigned identity. This property will only be
+ provided for a system assigned identity.
+ :vartype tenant_id: str
+ :ivar type: Required. Type of managed service identity (where both SystemAssigned and
+ UserAssigned types are allowed). Possible values include: "None", "SystemAssigned",
+ "UserAssigned", "SystemAssigned,UserAssigned".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :ivar user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :vartype user_assigned_identities: dict[str,
+ ~azure.mgmt.machinelearningservices.models.UserAssignedIdentity]
+ """
+
+ _validation = {
+ 'principal_id': {'readonly': True},
+ 'tenant_id': {'readonly': True},
+ 'type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'principal_id': {'key': 'principalId', 'type': 'str'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Union[str, "ManagedServiceIdentityType"],
+ user_assigned_identities: Optional[Dict[str, "UserAssignedIdentity"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword type: Required. Type of managed service identity (where both SystemAssigned and
+ UserAssigned types are allowed). Possible values include: "None", "SystemAssigned",
+ "UserAssigned", "SystemAssigned,UserAssigned".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :keyword user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :paramtype user_assigned_identities: dict[str,
+ ~azure.mgmt.machinelearningservices.models.UserAssignedIdentity]
+ """
+ super(ManagedServiceIdentity, self).__init__(**kwargs)
+ self.principal_id = None
+ self.tenant_id = None
+ self.type = type
+ self.user_assigned_identities = user_assigned_identities
+
+
+class MedianStoppingPolicy(EarlyTerminationPolicy):
+ """Defines an early termination policy based on running averages of the primary metric of all runs.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ delay_evaluation: Optional[int] = 0,
+ evaluation_interval: Optional[int] = 0,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ """
+ super(MedianStoppingPolicy, self).__init__(delay_evaluation=delay_evaluation, evaluation_interval=evaluation_interval, **kwargs)
+ self.policy_type = 'MedianStopping' # type: str
+
+
+class MLFlowModelJobInput(JobInput, AssetJobInput):
+ """MLFlowModelJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(MLFlowModelJobInput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_input_type = 'mlflow_model' # type: str
+ self.description = description
+
+
+class MLFlowModelJobOutput(JobOutput, AssetJobOutput):
+ """MLFlowModelJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(MLFlowModelJobOutput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_output_type = 'mlflow_model' # type: str
+ self.description = description
+
+
+class MLTableData(DataVersionBaseProperties):
+ """MLTable data definition.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ :ivar referenced_uris: Uris referenced in the MLTable definition (required for lineage).
+ :vartype referenced_uris: list[str]
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ 'referenced_uris': {'key': 'referencedUris', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_uri: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ referenced_uris: Optional[List[str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ :keyword referenced_uris: Uris referenced in the MLTable definition (required for lineage).
+ :paramtype referenced_uris: list[str]
+ """
+ super(MLTableData, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, data_uri=data_uri, **kwargs)
+ self.data_type = 'mltable' # type: str
+ self.referenced_uris = referenced_uris
+
+
+class MLTableJobInput(JobInput, AssetJobInput):
+ """MLTableJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(MLTableJobInput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_input_type = 'mltable' # type: str
+ self.description = description
+
+
+class MLTableJobOutput(JobOutput, AssetJobOutput):
+ """MLTableJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(MLTableJobOutput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_output_type = 'mltable' # type: str
+ self.description = description
+
+
+class ModelContainer(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ModelContainerProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ModelContainerProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "ModelContainerProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ModelContainerProperties
+ """
+ super(ModelContainer, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ModelContainerProperties(AssetContainer):
+ """ModelContainerProperties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar latest_version: The latest version inside this container.
+ :vartype latest_version: str
+ :ivar next_version: The next auto incremental version.
+ :vartype next_version: str
+ """
+
+ _validation = {
+ 'latest_version': {'readonly': True},
+ 'next_version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'latest_version': {'key': 'latestVersion', 'type': 'str'},
+ 'next_version': {'key': 'nextVersion', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ """
+ super(ModelContainerProperties, self).__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+
+
+class ModelContainerResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ModelContainer entities.
+
+ :ivar next_link: The link to the next page of ModelContainer objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ModelContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ModelContainer]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["ModelContainer"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ModelContainer objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ModelContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ """
+ super(ModelContainerResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class ModelVersion(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ModelVersionProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ModelVersionProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "ModelVersionProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ModelVersionProperties
+ """
+ super(ModelVersion, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ModelVersionProperties(AssetBase):
+ """Model asset version details.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar flavors: Mapping of model flavors to their properties.
+ :vartype flavors: dict[str, ~azure.mgmt.machinelearningservices.models.FlavorData]
+ :ivar job_name: Name of the training job which produced this model.
+ :vartype job_name: str
+ :ivar model_type: The storage format for this entity. Used for NCD.
+ :vartype model_type: str
+ :ivar model_uri: The URI path to the model contents.
+ :vartype model_uri: str
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'flavors': {'key': 'flavors', 'type': '{FlavorData}'},
+ 'job_name': {'key': 'jobName', 'type': 'str'},
+ 'model_type': {'key': 'modelType', 'type': 'str'},
+ 'model_uri': {'key': 'modelUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ flavors: Optional[Dict[str, "FlavorData"]] = None,
+ job_name: Optional[str] = None,
+ model_type: Optional[str] = None,
+ model_uri: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword flavors: Mapping of model flavors to their properties.
+ :paramtype flavors: dict[str, ~azure.mgmt.machinelearningservices.models.FlavorData]
+ :keyword job_name: Name of the training job which produced this model.
+ :paramtype job_name: str
+ :keyword model_type: The storage format for this entity. Used for NCD.
+ :paramtype model_type: str
+ :keyword model_uri: The URI path to the model contents.
+ :paramtype model_uri: str
+ """
+ super(ModelVersionProperties, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, **kwargs)
+ self.flavors = flavors
+ self.job_name = job_name
+ self.model_type = model_type
+ self.model_uri = model_uri
+
+
+class ModelVersionResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of ModelVersion entities.
+
+ :ivar next_link: The link to the next page of ModelVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type ModelVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[ModelVersion]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["ModelVersion"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of ModelVersion objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type ModelVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ """
+ super(ModelVersionResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class Mpi(DistributionConfiguration):
+ """MPI distribution configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ :ivar process_count_per_instance: Number of processes per MPI node.
+ :vartype process_count_per_instance: int
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ 'process_count_per_instance': {'key': 'processCountPerInstance', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ process_count_per_instance: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword process_count_per_instance: Number of processes per MPI node.
+ :paramtype process_count_per_instance: int
+ """
+ super(Mpi, self).__init__(**kwargs)
+ self.distribution_type = 'Mpi' # type: str
+ self.process_count_per_instance = process_count_per_instance
+
+
+class NlpVertical(msrest.serialization.Model):
+ """Abstract class for NLP related AutoML tasks.
+NLP - Natural Language Processing.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ }
+
+ def __init__(
+ self,
+ *,
+ featurization_settings: Optional["NlpVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["NlpVerticalLimitSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(NlpVertical, self).__init__(**kwargs)
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.validation_data = validation_data
+
+
+class NlpVerticalFeaturizationSettings(FeaturizationSettings):
+ """NlpVerticalFeaturizationSettings.
+
+ :ivar dataset_language: Dataset language, useful for the text data.
+ :vartype dataset_language: str
+ """
+
+ _attribute_map = {
+ 'dataset_language': {'key': 'datasetLanguage', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ dataset_language: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ """
+ super(NlpVerticalFeaturizationSettings, self).__init__(dataset_language=dataset_language, **kwargs)
+
+
+class NlpVerticalLimitSettings(msrest.serialization.Model):
+ """Job execution constraints.
+
+ :ivar max_concurrent_trials: Maximum Concurrent AutoML iterations.
+ :vartype max_concurrent_trials: int
+ :ivar max_trials: Number of AutoML iterations.
+ :vartype max_trials: int
+ :ivar timeout: AutoML job timeout.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_trials': {'key': 'maxTrials', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ max_concurrent_trials: Optional[int] = 1,
+ max_trials: Optional[int] = 1,
+ timeout: Optional[datetime.timedelta] = None,
+ **kwargs
+ ):
+ """
+ :keyword max_concurrent_trials: Maximum Concurrent AutoML iterations.
+ :paramtype max_concurrent_trials: int
+ :keyword max_trials: Number of AutoML iterations.
+ :paramtype max_trials: int
+ :keyword timeout: AutoML job timeout.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(NlpVerticalLimitSettings, self).__init__(**kwargs)
+ self.max_concurrent_trials = max_concurrent_trials
+ self.max_trials = max_trials
+ self.timeout = timeout
+
+
+class NodeStateCounts(msrest.serialization.Model):
+ """Counts of various compute node states on the amlCompute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar idle_node_count: Number of compute nodes in idle state.
+ :vartype idle_node_count: int
+ :ivar running_node_count: Number of compute nodes which are running jobs.
+ :vartype running_node_count: int
+ :ivar preparing_node_count: Number of compute nodes which are being prepared.
+ :vartype preparing_node_count: int
+ :ivar unusable_node_count: Number of compute nodes which are in unusable state.
+ :vartype unusable_node_count: int
+ :ivar leaving_node_count: Number of compute nodes which are leaving the amlCompute.
+ :vartype leaving_node_count: int
+ :ivar preempted_node_count: Number of compute nodes which are in preempted state.
+ :vartype preempted_node_count: int
+ """
+
+ _validation = {
+ 'idle_node_count': {'readonly': True},
+ 'running_node_count': {'readonly': True},
+ 'preparing_node_count': {'readonly': True},
+ 'unusable_node_count': {'readonly': True},
+ 'leaving_node_count': {'readonly': True},
+ 'preempted_node_count': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'idle_node_count': {'key': 'idleNodeCount', 'type': 'int'},
+ 'running_node_count': {'key': 'runningNodeCount', 'type': 'int'},
+ 'preparing_node_count': {'key': 'preparingNodeCount', 'type': 'int'},
+ 'unusable_node_count': {'key': 'unusableNodeCount', 'type': 'int'},
+ 'leaving_node_count': {'key': 'leavingNodeCount', 'type': 'int'},
+ 'preempted_node_count': {'key': 'preemptedNodeCount', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NodeStateCounts, self).__init__(**kwargs)
+ self.idle_node_count = None
+ self.running_node_count = None
+ self.preparing_node_count = None
+ self.unusable_node_count = None
+ self.leaving_node_count = None
+ self.preempted_node_count = None
+
+
+class NoneAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """NoneAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "ValueFormat"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+ super(NoneAuthTypeWorkspaceConnectionProperties, self).__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type = 'None' # type: str
+
+
+class NoneDatastoreCredentials(DatastoreCredentials):
+ """Empty/none datastore credentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NoneDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'None' # type: str
+
+
+class NotebookAccessTokenResult(msrest.serialization.Model):
+ """NotebookAccessTokenResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar notebook_resource_id:
+ :vartype notebook_resource_id: str
+ :ivar host_name:
+ :vartype host_name: str
+ :ivar public_dns:
+ :vartype public_dns: str
+ :ivar access_token:
+ :vartype access_token: str
+ :ivar token_type:
+ :vartype token_type: str
+ :ivar expires_in:
+ :vartype expires_in: int
+ :ivar refresh_token:
+ :vartype refresh_token: str
+ :ivar scope:
+ :vartype scope: str
+ """
+
+ _validation = {
+ 'notebook_resource_id': {'readonly': True},
+ 'host_name': {'readonly': True},
+ 'public_dns': {'readonly': True},
+ 'access_token': {'readonly': True},
+ 'token_type': {'readonly': True},
+ 'expires_in': {'readonly': True},
+ 'refresh_token': {'readonly': True},
+ 'scope': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'notebook_resource_id': {'key': 'notebookResourceId', 'type': 'str'},
+ 'host_name': {'key': 'hostName', 'type': 'str'},
+ 'public_dns': {'key': 'publicDns', 'type': 'str'},
+ 'access_token': {'key': 'accessToken', 'type': 'str'},
+ 'token_type': {'key': 'tokenType', 'type': 'str'},
+ 'expires_in': {'key': 'expiresIn', 'type': 'int'},
+ 'refresh_token': {'key': 'refreshToken', 'type': 'str'},
+ 'scope': {'key': 'scope', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(NotebookAccessTokenResult, self).__init__(**kwargs)
+ self.notebook_resource_id = None
+ self.host_name = None
+ self.public_dns = None
+ self.access_token = None
+ self.token_type = None
+ self.expires_in = None
+ self.refresh_token = None
+ self.scope = None
+
+
+class NotebookPreparationError(msrest.serialization.Model):
+ """NotebookPreparationError.
+
+ :ivar error_message:
+ :vartype error_message: str
+ :ivar status_code:
+ :vartype status_code: int
+ """
+
+ _attribute_map = {
+ 'error_message': {'key': 'errorMessage', 'type': 'str'},
+ 'status_code': {'key': 'statusCode', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ error_message: Optional[str] = None,
+ status_code: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword error_message:
+ :paramtype error_message: str
+ :keyword status_code:
+ :paramtype status_code: int
+ """
+ super(NotebookPreparationError, self).__init__(**kwargs)
+ self.error_message = error_message
+ self.status_code = status_code
+
+
+class NotebookResourceInfo(msrest.serialization.Model):
+ """NotebookResourceInfo.
+
+ :ivar fqdn:
+ :vartype fqdn: str
+ :ivar resource_id: the data plane resourceId that used to initialize notebook component.
+ :vartype resource_id: str
+ :ivar notebook_preparation_error: The error that occurs when preparing notebook.
+ :vartype notebook_preparation_error:
+ ~azure.mgmt.machinelearningservices.models.NotebookPreparationError
+ """
+
+ _attribute_map = {
+ 'fqdn': {'key': 'fqdn', 'type': 'str'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'notebook_preparation_error': {'key': 'notebookPreparationError', 'type': 'NotebookPreparationError'},
+ }
+
+ def __init__(
+ self,
+ *,
+ fqdn: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ notebook_preparation_error: Optional["NotebookPreparationError"] = None,
+ **kwargs
+ ):
+ """
+ :keyword fqdn:
+ :paramtype fqdn: str
+ :keyword resource_id: the data plane resourceId that used to initialize notebook component.
+ :paramtype resource_id: str
+ :keyword notebook_preparation_error: The error that occurs when preparing notebook.
+ :paramtype notebook_preparation_error:
+ ~azure.mgmt.machinelearningservices.models.NotebookPreparationError
+ """
+ super(NotebookResourceInfo, self).__init__(**kwargs)
+ self.fqdn = fqdn
+ self.resource_id = resource_id
+ self.notebook_preparation_error = notebook_preparation_error
+
+
+class Objective(msrest.serialization.Model):
+ """Optimization objective.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar goal: Required. [Required] Defines supported metric goals for hyperparameter tuning.
+ Possible values include: "Minimize", "Maximize".
+ :vartype goal: str or ~azure.mgmt.machinelearningservices.models.Goal
+ :ivar primary_metric: Required. [Required] Name of the metric to optimize.
+ :vartype primary_metric: str
+ """
+
+ _validation = {
+ 'goal': {'required': True},
+ 'primary_metric': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'goal': {'key': 'goal', 'type': 'str'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ goal: Union[str, "Goal"],
+ primary_metric: str,
+ **kwargs
+ ):
+ """
+ :keyword goal: Required. [Required] Defines supported metric goals for hyperparameter tuning.
+ Possible values include: "Minimize", "Maximize".
+ :paramtype goal: str or ~azure.mgmt.machinelearningservices.models.Goal
+ :keyword primary_metric: Required. [Required] Name of the metric to optimize.
+ :paramtype primary_metric: str
+ """
+ super(Objective, self).__init__(**kwargs)
+ self.goal = goal
+ self.primary_metric = primary_metric
+
+
+class OnlineDeployment(TrackedResource):
+ """OnlineDeployment.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.OnlineDeploymentProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'OnlineDeploymentProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ properties: "OnlineDeploymentProperties",
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ kind: Optional[str] = None,
+ sku: Optional["Sku"] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.OnlineDeploymentProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(OnlineDeployment, self).__init__(tags=tags, location=location, **kwargs)
+ self.identity = identity
+ self.kind = kind
+ self.properties = properties
+ self.sku = sku
+
+
+class OnlineDeploymentTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of OnlineDeployment entities.
+
+ :ivar next_link: The link to the next page of OnlineDeployment objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type OnlineDeployment.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[OnlineDeployment]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["OnlineDeployment"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of OnlineDeployment objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type OnlineDeployment.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ """
+ super(OnlineDeploymentTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class OnlineEndpoint(TrackedResource):
+ """OnlineEndpoint.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: Required. The geo-location where the resource lives.
+ :vartype location: str
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.OnlineEndpointProperties
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'location': {'required': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'kind': {'key': 'kind', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': 'OnlineEndpointProperties'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ properties: "OnlineEndpointProperties",
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ kind: Optional[str] = None,
+ sku: Optional["Sku"] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: Required. The geo-location where the resource lives.
+ :paramtype location: str
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.OnlineEndpointProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super(OnlineEndpoint, self).__init__(tags=tags, location=location, **kwargs)
+ self.identity = identity
+ self.kind = kind
+ self.properties = properties
+ self.sku = sku
+
+
+class OnlineEndpointProperties(EndpointPropertiesBase):
+ """Online endpoint configuration.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken' for
+ Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
+ Possible values include: "AMLToken", "Key", "AADToken".
+ :vartype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :ivar description: Description of the inference endpoint.
+ :vartype description: str
+ :ivar keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :vartype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :ivar properties: Property dictionary. Properties can be added, but not removed or altered.
+ :vartype properties: dict[str, str]
+ :ivar scoring_uri: Endpoint URI.
+ :vartype scoring_uri: str
+ :ivar swagger_uri: Endpoint Swagger URI.
+ :vartype swagger_uri: str
+ :ivar compute: ARM resource ID of the compute if it exists.
+ optional.
+ :vartype compute: str
+ :ivar provisioning_state: Provisioning state for the endpoint. Possible values include:
+ "Creating", "Deleting", "Succeeded", "Failed", "Updating", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.EndpointProvisioningState
+ :ivar public_network_access: Set to "Enabled" for endpoints that should allow public access
+ when Private Link is enabled. Possible values include: "Enabled", "Disabled".
+ :vartype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccessType
+ :ivar traffic: Percentage of traffic from endpoint to divert to each deployment. Traffic values
+ need to sum to 100.
+ :vartype traffic: dict[str, int]
+ """
+
+ _validation = {
+ 'auth_mode': {'required': True},
+ 'scoring_uri': {'readonly': True},
+ 'swagger_uri': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'auth_mode': {'key': 'authMode', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'keys': {'key': 'keys', 'type': 'EndpointAuthKeys'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'scoring_uri': {'key': 'scoringUri', 'type': 'str'},
+ 'swagger_uri': {'key': 'swaggerUri', 'type': 'str'},
+ 'compute': {'key': 'compute', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'},
+ 'traffic': {'key': 'traffic', 'type': '{int}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ auth_mode: Union[str, "EndpointAuthMode"],
+ description: Optional[str] = None,
+ keys: Optional["EndpointAuthKeys"] = None,
+ properties: Optional[Dict[str, str]] = None,
+ compute: Optional[str] = None,
+ public_network_access: Optional[Union[str, "PublicNetworkAccessType"]] = None,
+ traffic: Optional[Dict[str, int]] = None,
+ **kwargs
+ ):
+ """
+ :keyword auth_mode: Required. [Required] Use 'Key' for key based authentication and 'AMLToken'
+ for Azure Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken'
+ does. Possible values include: "AMLToken", "Key", "AADToken".
+ :paramtype auth_mode: str or ~azure.mgmt.machinelearningservices.models.EndpointAuthMode
+ :keyword description: Description of the inference endpoint.
+ :paramtype description: str
+ :keyword keys: EndpointAuthKeys to set initially on an Endpoint.
+ This property will always be returned as null. AuthKey values must be retrieved using the
+ ListKeys API.
+ :paramtype keys: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :keyword properties: Property dictionary. Properties can be added, but not removed or altered.
+ :paramtype properties: dict[str, str]
+ :keyword compute: ARM resource ID of the compute if it exists.
+ optional.
+ :paramtype compute: str
+ :keyword public_network_access: Set to "Enabled" for endpoints that should allow public access
+ when Private Link is enabled. Possible values include: "Enabled", "Disabled".
+ :paramtype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccessType
+ :keyword traffic: Percentage of traffic from endpoint to divert to each deployment. Traffic
+ values need to sum to 100.
+ :paramtype traffic: dict[str, int]
+ """
+ super(OnlineEndpointProperties, self).__init__(auth_mode=auth_mode, description=description, keys=keys, properties=properties, **kwargs)
+ self.compute = compute
+ self.provisioning_state = None
+ self.public_network_access = public_network_access
+ self.traffic = traffic
+
+
+class OnlineEndpointTrackedResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of OnlineEndpoint entities.
+
+ :ivar next_link: The link to the next page of OnlineEndpoint objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type OnlineEndpoint.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[OnlineEndpoint]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["OnlineEndpoint"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of OnlineEndpoint objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type OnlineEndpoint.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ """
+ super(OnlineEndpointTrackedResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class OnlineRequestSettings(msrest.serialization.Model):
+ """Online deployment scoring requests configuration.
+
+ :ivar max_concurrent_requests_per_instance: The number of maximum concurrent requests per node
+ allowed per deployment. Defaults to 1.
+ :vartype max_concurrent_requests_per_instance: int
+ :ivar max_queue_wait: The maximum amount of time a request will stay in the queue in ISO 8601
+ format.
+ Defaults to 500ms.
+ :vartype max_queue_wait: ~datetime.timedelta
+ :ivar request_timeout: The scoring timeout in ISO 8601 format.
+ Defaults to 5000ms.
+ :vartype request_timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'max_concurrent_requests_per_instance': {'key': 'maxConcurrentRequestsPerInstance', 'type': 'int'},
+ 'max_queue_wait': {'key': 'maxQueueWait', 'type': 'duration'},
+ 'request_timeout': {'key': 'requestTimeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ max_concurrent_requests_per_instance: Optional[int] = 1,
+ max_queue_wait: Optional[datetime.timedelta] = "PT0.5S",
+ request_timeout: Optional[datetime.timedelta] = "PT5S",
+ **kwargs
+ ):
+ """
+ :keyword max_concurrent_requests_per_instance: The number of maximum concurrent requests per
+ node allowed per deployment. Defaults to 1.
+ :paramtype max_concurrent_requests_per_instance: int
+ :keyword max_queue_wait: The maximum amount of time a request will stay in the queue in ISO
+ 8601 format.
+ Defaults to 500ms.
+ :paramtype max_queue_wait: ~datetime.timedelta
+ :keyword request_timeout: The scoring timeout in ISO 8601 format.
+ Defaults to 5000ms.
+ :paramtype request_timeout: ~datetime.timedelta
+ """
+ super(OnlineRequestSettings, self).__init__(**kwargs)
+ self.max_concurrent_requests_per_instance = max_concurrent_requests_per_instance
+ self.max_queue_wait = max_queue_wait
+ self.request_timeout = request_timeout
+
+
+class OutputPathAssetReference(AssetReferenceBase):
+ """Reference to an asset via its path in a job output.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar reference_type: Required. [Required] Specifies the type of asset reference.Constant
+ filled by server. Possible values include: "Id", "DataPath", "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar job_id: ARM resource ID of the job.
+ :vartype job_id: str
+ :ivar path: The path of the file/directory in the job output.
+ :vartype path: str
+ """
+
+ _validation = {
+ 'reference_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'reference_type': {'key': 'referenceType', 'type': 'str'},
+ 'job_id': {'key': 'jobId', 'type': 'str'},
+ 'path': {'key': 'path', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ job_id: Optional[str] = None,
+ path: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword job_id: ARM resource ID of the job.
+ :paramtype job_id: str
+ :keyword path: The path of the file/directory in the job output.
+ :paramtype path: str
+ """
+ super(OutputPathAssetReference, self).__init__(**kwargs)
+ self.reference_type = 'OutputPath' # type: str
+ self.job_id = job_id
+ self.path = path
+
+
+class PaginatedComputeResourcesList(msrest.serialization.Model):
+ """Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.
+
+ :ivar value: An array of Machine Learning compute objects wrapped in ARM resource envelope.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :ivar next_link: A continuation link (absolute URI) to the next page of results in the list.
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[ComputeResource]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["ComputeResource"]] = None,
+ next_link: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: An array of Machine Learning compute objects wrapped in ARM resource envelope.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :keyword next_link: A continuation link (absolute URI) to the next page of results in the list.
+ :paramtype next_link: str
+ """
+ super(PaginatedComputeResourcesList, self).__init__(**kwargs)
+ self.value = value
+ self.next_link = next_link
+
+
+class PartialBatchDeployment(msrest.serialization.Model):
+ """Mutable batch inference settings per deployment.
+
+ :ivar description: Description of the endpoint deployment.
+ :vartype description: str
+ """
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: Description of the endpoint deployment.
+ :paramtype description: str
+ """
+ super(PartialBatchDeployment, self).__init__(**kwargs)
+ self.description = description
+
+
+class PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties(msrest.serialization.Model):
+ """Strictly used in update requests.
+
+ :ivar properties: Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.PartialBatchDeployment
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'PartialBatchDeployment'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["PartialBatchDeployment"] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties: Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.PartialBatchDeployment
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ """
+ super(PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties, self).__init__(**kwargs)
+ self.properties = properties
+ self.tags = tags
+
+
+class PartialManagedServiceIdentity(msrest.serialization.Model):
+ """Managed service identity (system assigned and/or user assigned identities).
+
+ :ivar type: Managed service identity (system assigned and/or user assigned identities).
+ Possible values include: "None", "SystemAssigned", "UserAssigned",
+ "SystemAssigned,UserAssigned".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :ivar user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :vartype user_assigned_identities: dict[str, any]
+ """
+
+ _attribute_map = {
+ 'type': {'key': 'type', 'type': 'str'},
+ 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{object}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Optional[Union[str, "ManagedServiceIdentityType"]] = None,
+ user_assigned_identities: Optional[Dict[str, Any]] = None,
+ **kwargs
+ ):
+ """
+ :keyword type: Managed service identity (system assigned and/or user assigned identities).
+ Possible values include: "None", "SystemAssigned", "UserAssigned",
+ "SystemAssigned,UserAssigned".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentityType
+ :keyword user_assigned_identities: The set of user assigned identities associated with the
+ resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form:
+ '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}.
+ The dictionary values can be empty objects ({}) in requests.
+ :paramtype user_assigned_identities: dict[str, any]
+ """
+ super(PartialManagedServiceIdentity, self).__init__(**kwargs)
+ self.type = type
+ self.user_assigned_identities = user_assigned_identities
+
+
+class PartialMinimalTrackedResource(msrest.serialization.Model):
+ """Strictly used in update requests.
+
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ """
+ super(PartialMinimalTrackedResource, self).__init__(**kwargs)
+ self.tags = tags
+
+
+class PartialMinimalTrackedResourceWithIdentity(PartialMinimalTrackedResource):
+ """Strictly used in update requests.
+
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.PartialManagedServiceIdentity
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'identity': {'key': 'identity', 'type': 'PartialManagedServiceIdentity'},
+ }
+
+ def __init__(
+ self,
+ *,
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["PartialManagedServiceIdentity"] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword identity: Managed service identity (system assigned and/or user assigned identities).
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.PartialManagedServiceIdentity
+ """
+ super(PartialMinimalTrackedResourceWithIdentity, self).__init__(tags=tags, **kwargs)
+ self.identity = identity
+
+
+class PartialMinimalTrackedResourceWithSku(PartialMinimalTrackedResource):
+ """Strictly used in update requests.
+
+ :ivar tags: A set of tags. Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.PartialSku
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'PartialSku'},
+ }
+
+ def __init__(
+ self,
+ *,
+ tags: Optional[Dict[str, str]] = None,
+ sku: Optional["PartialSku"] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.PartialSku
+ """
+ super(PartialMinimalTrackedResourceWithSku, self).__init__(tags=tags, **kwargs)
+ self.sku = sku
+
+
+class PartialSku(msrest.serialization.Model):
+ """Common SKU definition.
+
+ :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included.
+ If scale out/in is not possible for the resource this may be omitted.
+ :vartype capacity: int
+ :ivar family: If the service has different generations of hardware, for the same SKU, then that
+ can be captured here.
+ :vartype family: str
+ :ivar name: The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :vartype name: str
+ :ivar size: The SKU size. When the name field is the combination of tier and some other value,
+ this would be the standalone code.
+ :vartype size: str
+ :ivar tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+
+ _attribute_map = {
+ 'capacity': {'key': 'capacity', 'type': 'int'},
+ 'family': {'key': 'family', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'size': {'key': 'size', 'type': 'str'},
+ 'tier': {'key': 'tier', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ capacity: Optional[int] = None,
+ family: Optional[str] = None,
+ name: Optional[str] = None,
+ size: Optional[str] = None,
+ tier: Optional[Union[str, "SkuTier"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword capacity: If the SKU supports scale out/in then the capacity integer should be
+ included. If scale out/in is not possible for the resource this may be omitted.
+ :paramtype capacity: int
+ :keyword family: If the service has different generations of hardware, for the same SKU, then
+ that can be captured here.
+ :paramtype family: str
+ :keyword name: The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :paramtype name: str
+ :keyword size: The SKU size. When the name field is the combination of tier and some other
+ value, this would be the standalone code.
+ :paramtype size: str
+ :keyword tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+ super(PartialSku, self).__init__(**kwargs)
+ self.capacity = capacity
+ self.family = family
+ self.name = name
+ self.size = size
+ self.tier = tier
+
+
+class Password(msrest.serialization.Model):
+ """Password.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name:
+ :vartype name: str
+ :ivar value:
+ :vartype value: str
+ """
+
+ _validation = {
+ 'name': {'readonly': True},
+ 'value': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Password, self).__init__(**kwargs)
+ self.name = None
+ self.value = None
+
+
+class PATAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """PATAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPersonalAccessToken
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionPersonalAccessToken'},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "ValueFormat"]] = None,
+ credentials: Optional["WorkspaceConnectionPersonalAccessToken"] = None,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPersonalAccessToken
+ """
+ super(PATAuthTypeWorkspaceConnectionProperties, self).__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type = 'PAT' # type: str
+ self.credentials = credentials
+
+
+class PersonalComputeInstanceSettings(msrest.serialization.Model):
+ """Settings for a personal compute instance.
+
+ :ivar assigned_user: A user explicitly assigned to a personal compute instance.
+ :vartype assigned_user: ~azure.mgmt.machinelearningservices.models.AssignedUser
+ """
+
+ _attribute_map = {
+ 'assigned_user': {'key': 'assignedUser', 'type': 'AssignedUser'},
+ }
+
+ def __init__(
+ self,
+ *,
+ assigned_user: Optional["AssignedUser"] = None,
+ **kwargs
+ ):
+ """
+ :keyword assigned_user: A user explicitly assigned to a personal compute instance.
+ :paramtype assigned_user: ~azure.mgmt.machinelearningservices.models.AssignedUser
+ """
+ super(PersonalComputeInstanceSettings, self).__init__(**kwargs)
+ self.assigned_user = assigned_user
+
+
+class PipelineJob(JobBaseProperties):
+ """Pipeline Job definition: defines generic to MFE attributes.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar inputs: Inputs for the pipeline job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar jobs: Jobs construct the Pipeline Job.
+ :vartype jobs: dict[str, any]
+ :ivar outputs: Outputs for the pipeline job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar settings: Pipeline settings, for things like ContinueRunOnStepFailure etc.
+ :vartype settings: any
+ :ivar source_job_id: ARM resource ID of source job.
+ :vartype source_job_id: str
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'inputs': {'key': 'inputs', 'type': '{JobInput}'},
+ 'jobs': {'key': 'jobs', 'type': '{object}'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'settings': {'key': 'settings', 'type': 'object'},
+ 'source_job_id': {'key': 'sourceJobId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ component_id: Optional[str] = None,
+ compute_id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ experiment_name: Optional[str] = "Default",
+ identity: Optional["IdentityConfiguration"] = None,
+ is_archived: Optional[bool] = False,
+ services: Optional[Dict[str, "JobService"]] = None,
+ inputs: Optional[Dict[str, "JobInput"]] = None,
+ jobs: Optional[Dict[str, Any]] = None,
+ outputs: Optional[Dict[str, "JobOutput"]] = None,
+ settings: Optional[Any] = None,
+ source_job_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword inputs: Inputs for the pipeline job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword jobs: Jobs construct the Pipeline Job.
+ :paramtype jobs: dict[str, any]
+ :keyword outputs: Outputs for the pipeline job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword settings: Pipeline settings, for things like ContinueRunOnStepFailure etc.
+ :paramtype settings: any
+ :keyword source_job_id: ARM resource ID of source job.
+ :paramtype source_job_id: str
+ """
+ super(PipelineJob, self).__init__(description=description, properties=properties, tags=tags, component_id=component_id, compute_id=compute_id, display_name=display_name, experiment_name=experiment_name, identity=identity, is_archived=is_archived, services=services, **kwargs)
+ self.job_type = 'Pipeline' # type: str
+ self.inputs = inputs
+ self.jobs = jobs
+ self.outputs = outputs
+ self.settings = settings
+ self.source_job_id = source_job_id
+
+
+class PrivateEndpoint(msrest.serialization.Model):
+ """The Private Endpoint resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: The ARM identifier for Private Endpoint.
+ :vartype id: str
+ :ivar subnet_arm_id: The ARM identifier for Subnet resource that private endpoint links to.
+ :vartype subnet_arm_id: str
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'subnet_arm_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'subnet_arm_id': {'key': 'subnetArmId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(PrivateEndpoint, self).__init__(**kwargs)
+ self.id = None
+ self.subnet_arm_id = None
+
+
+class PrivateEndpointConnection(Resource):
+ """The Private Endpoint Connection resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar private_endpoint: The resource of private end point.
+ :vartype private_endpoint: ~azure.mgmt.machinelearningservices.models.PrivateEndpoint
+ :ivar private_link_service_connection_state: A collection of information about the state of the
+ connection between service consumer and provider.
+ :vartype private_link_service_connection_state:
+ ~azure.mgmt.machinelearningservices.models.PrivateLinkServiceConnectionState
+ :ivar provisioning_state: The provisioning state of the private endpoint connection resource.
+ Possible values include: "Succeeded", "Creating", "Deleting", "Failed".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnectionProvisioningState
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'},
+ 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'},
+ 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ location: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ sku: Optional["Sku"] = None,
+ private_endpoint: Optional["PrivateEndpoint"] = None,
+ private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None,
+ **kwargs
+ ):
+ """
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword private_endpoint: The resource of private end point.
+ :paramtype private_endpoint: ~azure.mgmt.machinelearningservices.models.PrivateEndpoint
+ :keyword private_link_service_connection_state: A collection of information about the state of
+ the connection between service consumer and provider.
+ :paramtype private_link_service_connection_state:
+ ~azure.mgmt.machinelearningservices.models.PrivateLinkServiceConnectionState
+ """
+ super(PrivateEndpointConnection, self).__init__(**kwargs)
+ self.identity = identity
+ self.location = location
+ self.tags = tags
+ self.sku = sku
+ self.private_endpoint = private_endpoint
+ self.private_link_service_connection_state = private_link_service_connection_state
+ self.provisioning_state = None
+
+
+class PrivateEndpointConnectionListResult(msrest.serialization.Model):
+ """List of private endpoint connection associated with the specified workspace.
+
+ :ivar value: Array of private endpoint connections.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["PrivateEndpointConnection"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: Array of private endpoint connections.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
+ """
+ super(PrivateEndpointConnectionListResult, self).__init__(**kwargs)
+ self.value = value
+
+
+class PrivateLinkResource(Resource):
+ """A private link resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar group_id: The private link resource group id.
+ :vartype group_id: str
+ :ivar required_members: The private link resource required member names.
+ :vartype required_members: list[str]
+ :ivar required_zone_names: The private link resource Private link DNS zone name.
+ :vartype required_zone_names: list[str]
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'group_id': {'readonly': True},
+ 'required_members': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'group_id': {'key': 'properties.groupId', 'type': 'str'},
+ 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'},
+ 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ location: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ sku: Optional["Sku"] = None,
+ required_zone_names: Optional[List[str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword required_zone_names: The private link resource Private link DNS zone name.
+ :paramtype required_zone_names: list[str]
+ """
+ super(PrivateLinkResource, self).__init__(**kwargs)
+ self.identity = identity
+ self.location = location
+ self.tags = tags
+ self.sku = sku
+ self.group_id = None
+ self.required_members = None
+ self.required_zone_names = required_zone_names
+
+
+class PrivateLinkResourceListResult(msrest.serialization.Model):
+ """A list of private link resources.
+
+ :ivar value: Array of private link resources.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.PrivateLinkResource]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[PrivateLinkResource]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["PrivateLinkResource"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: Array of private link resources.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.PrivateLinkResource]
+ """
+ super(PrivateLinkResourceListResult, self).__init__(**kwargs)
+ self.value = value
+
+
+class PrivateLinkServiceConnectionState(msrest.serialization.Model):
+ """A collection of information about the state of the connection between service consumer and provider.
+
+ :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner
+ of the service. Possible values include: "Pending", "Approved", "Rejected", "Disconnected",
+ "Timeout".
+ :vartype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ :ivar description: The reason for approval/rejection of the connection.
+ :vartype description: str
+ :ivar actions_required: A message indicating if changes on the service provider require any
+ updates on the consumer.
+ :vartype actions_required: str
+ """
+
+ _attribute_map = {
+ 'status': {'key': 'status', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'actions_required': {'key': 'actionsRequired', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ status: Optional[Union[str, "PrivateEndpointServiceConnectionStatus"]] = None,
+ description: Optional[str] = None,
+ actions_required: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the
+ owner of the service. Possible values include: "Pending", "Approved", "Rejected",
+ "Disconnected", "Timeout".
+ :paramtype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ :keyword description: The reason for approval/rejection of the connection.
+ :paramtype description: str
+ :keyword actions_required: A message indicating if changes on the service provider require any
+ updates on the consumer.
+ :paramtype actions_required: str
+ """
+ super(PrivateLinkServiceConnectionState, self).__init__(**kwargs)
+ self.status = status
+ self.description = description
+ self.actions_required = actions_required
+
+
+class ProbeSettings(msrest.serialization.Model):
+ """Deployment container liveness/readiness probe configuration.
+
+ :ivar failure_threshold: The number of failures to allow before returning an unhealthy status.
+ :vartype failure_threshold: int
+ :ivar initial_delay: The delay before the first probe in ISO 8601 format.
+ :vartype initial_delay: ~datetime.timedelta
+ :ivar period: The length of time between probes in ISO 8601 format.
+ :vartype period: ~datetime.timedelta
+ :ivar success_threshold: The number of successful probes before returning a healthy status.
+ :vartype success_threshold: int
+ :ivar timeout: The probe timeout in ISO 8601 format.
+ :vartype timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'failure_threshold': {'key': 'failureThreshold', 'type': 'int'},
+ 'initial_delay': {'key': 'initialDelay', 'type': 'duration'},
+ 'period': {'key': 'period', 'type': 'duration'},
+ 'success_threshold': {'key': 'successThreshold', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ failure_threshold: Optional[int] = 30,
+ initial_delay: Optional[datetime.timedelta] = None,
+ period: Optional[datetime.timedelta] = "PT10S",
+ success_threshold: Optional[int] = 1,
+ timeout: Optional[datetime.timedelta] = "PT2S",
+ **kwargs
+ ):
+ """
+ :keyword failure_threshold: The number of failures to allow before returning an unhealthy
+ status.
+ :paramtype failure_threshold: int
+ :keyword initial_delay: The delay before the first probe in ISO 8601 format.
+ :paramtype initial_delay: ~datetime.timedelta
+ :keyword period: The length of time between probes in ISO 8601 format.
+ :paramtype period: ~datetime.timedelta
+ :keyword success_threshold: The number of successful probes before returning a healthy status.
+ :paramtype success_threshold: int
+ :keyword timeout: The probe timeout in ISO 8601 format.
+ :paramtype timeout: ~datetime.timedelta
+ """
+ super(ProbeSettings, self).__init__(**kwargs)
+ self.failure_threshold = failure_threshold
+ self.initial_delay = initial_delay
+ self.period = period
+ self.success_threshold = success_threshold
+ self.timeout = timeout
+
+
+class PyTorch(DistributionConfiguration):
+ """PyTorch distribution configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ :ivar process_count_per_instance: Number of processes per node.
+ :vartype process_count_per_instance: int
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ 'process_count_per_instance': {'key': 'processCountPerInstance', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ process_count_per_instance: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword process_count_per_instance: Number of processes per node.
+ :paramtype process_count_per_instance: int
+ """
+ super(PyTorch, self).__init__(**kwargs)
+ self.distribution_type = 'PyTorch' # type: str
+ self.process_count_per_instance = process_count_per_instance
+
+
+class QuotaBaseProperties(msrest.serialization.Model):
+ """The properties for Quota update or retrieval.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar limit: The maximum permitted quota of the resource.
+ :vartype limit: long
+ :ivar unit: An enum describing the unit of quota measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ """
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ id: Optional[str] = None,
+ type: Optional[str] = None,
+ limit: Optional[int] = None,
+ unit: Optional[Union[str, "QuotaUnit"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword id: Specifies the resource ID.
+ :paramtype id: str
+ :keyword type: Specifies the resource type.
+ :paramtype type: str
+ :keyword limit: The maximum permitted quota of the resource.
+ :paramtype limit: long
+ :keyword unit: An enum describing the unit of quota measurement. Possible values include:
+ "Count".
+ :paramtype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ """
+ super(QuotaBaseProperties, self).__init__(**kwargs)
+ self.id = id
+ self.type = type
+ self.limit = limit
+ self.unit = unit
+
+
+class QuotaUpdateParameters(msrest.serialization.Model):
+ """Quota update parameters.
+
+ :ivar value: The list for update quota.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.QuotaBaseProperties]
+ :ivar location: Region of workspace quota to be updated.
+ :vartype location: str
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[QuotaBaseProperties]'},
+ 'location': {'key': 'location', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["QuotaBaseProperties"]] = None,
+ location: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: The list for update quota.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.QuotaBaseProperties]
+ :keyword location: Region of workspace quota to be updated.
+ :paramtype location: str
+ """
+ super(QuotaUpdateParameters, self).__init__(**kwargs)
+ self.value = value
+ self.location = location
+
+
+class RandomSamplingAlgorithm(SamplingAlgorithm):
+ """Defines a Sampling Algorithm that generates values randomly.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar sampling_algorithm_type: Required. [Required] The algorithm used for generating
+ hyperparameter values, along with configuration properties.Constant filled by server. Possible
+ values include: "Grid", "Random", "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :ivar rule: The specific type of random algorithm. Possible values include: "Random", "Sobol".
+ :vartype rule: str or ~azure.mgmt.machinelearningservices.models.RandomSamplingAlgorithmRule
+ :ivar seed: An optional integer to use as the seed for random number generation.
+ :vartype seed: int
+ """
+
+ _validation = {
+ 'sampling_algorithm_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'sampling_algorithm_type': {'key': 'samplingAlgorithmType', 'type': 'str'},
+ 'rule': {'key': 'rule', 'type': 'str'},
+ 'seed': {'key': 'seed', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ rule: Optional[Union[str, "RandomSamplingAlgorithmRule"]] = None,
+ seed: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword rule: The specific type of random algorithm. Possible values include: "Random",
+ "Sobol".
+ :paramtype rule: str or ~azure.mgmt.machinelearningservices.models.RandomSamplingAlgorithmRule
+ :keyword seed: An optional integer to use as the seed for random number generation.
+ :paramtype seed: int
+ """
+ super(RandomSamplingAlgorithm, self).__init__(**kwargs)
+ self.sampling_algorithm_type = 'Random' # type: str
+ self.rule = rule
+ self.seed = seed
+
+
+class RecurrenceSchedule(msrest.serialization.Model):
+ """RecurrenceSchedule.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar hours: Required. [Required] List of hours for the schedule.
+ :vartype hours: list[int]
+ :ivar minutes: Required. [Required] List of minutes for the schedule.
+ :vartype minutes: list[int]
+ :ivar month_days: List of month days for the schedule.
+ :vartype month_days: list[int]
+ :ivar week_days: List of days for the schedule.
+ :vartype week_days: list[str or ~azure.mgmt.machinelearningservices.models.WeekDay]
+ """
+
+ _validation = {
+ 'hours': {'required': True},
+ 'minutes': {'required': True},
+ }
+
+ _attribute_map = {
+ 'hours': {'key': 'hours', 'type': '[int]'},
+ 'minutes': {'key': 'minutes', 'type': '[int]'},
+ 'month_days': {'key': 'monthDays', 'type': '[int]'},
+ 'week_days': {'key': 'weekDays', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ hours: List[int],
+ minutes: List[int],
+ month_days: Optional[List[int]] = None,
+ week_days: Optional[List[Union[str, "WeekDay"]]] = None,
+ **kwargs
+ ):
+ """
+ :keyword hours: Required. [Required] List of hours for the schedule.
+ :paramtype hours: list[int]
+ :keyword minutes: Required. [Required] List of minutes for the schedule.
+ :paramtype minutes: list[int]
+ :keyword month_days: List of month days for the schedule.
+ :paramtype month_days: list[int]
+ :keyword week_days: List of days for the schedule.
+ :paramtype week_days: list[str or ~azure.mgmt.machinelearningservices.models.WeekDay]
+ """
+ super(RecurrenceSchedule, self).__init__(**kwargs)
+ self.hours = hours
+ self.minutes = minutes
+ self.month_days = month_days
+ self.week_days = week_days
+
+
+class RecurrenceTrigger(TriggerBase):
+ """RecurrenceTrigger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :vartype end_time: str
+ :ivar start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar trigger_type: Required. [Required].Constant filled by server. Possible values include:
+ "Recurrence", "Cron".
+ :vartype trigger_type: str or ~azure.mgmt.machinelearningservices.models.TriggerType
+ :ivar frequency: Required. [Required] The frequency to trigger schedule. Possible values
+ include: "Minute", "Hour", "Day", "Week", "Month".
+ :vartype frequency: str or ~azure.mgmt.machinelearningservices.models.RecurrenceFrequency
+ :ivar interval: Required. [Required] Specifies schedule interval in conjunction with frequency.
+ :vartype interval: int
+ :ivar schedule: The recurrence schedule.
+ :vartype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceSchedule
+ """
+
+ _validation = {
+ 'trigger_type': {'required': True},
+ 'frequency': {'required': True},
+ 'interval': {'required': True},
+ }
+
+ _attribute_map = {
+ 'end_time': {'key': 'endTime', 'type': 'str'},
+ 'start_time': {'key': 'startTime', 'type': 'str'},
+ 'time_zone': {'key': 'timeZone', 'type': 'str'},
+ 'trigger_type': {'key': 'triggerType', 'type': 'str'},
+ 'frequency': {'key': 'frequency', 'type': 'str'},
+ 'interval': {'key': 'interval', 'type': 'int'},
+ 'schedule': {'key': 'schedule', 'type': 'RecurrenceSchedule'},
+ }
+
+ def __init__(
+ self,
+ *,
+ frequency: Union[str, "RecurrenceFrequency"],
+ interval: int,
+ end_time: Optional[str] = None,
+ start_time: Optional[str] = None,
+ time_zone: Optional[str] = "UTC",
+ schedule: Optional["RecurrenceSchedule"] = None,
+ **kwargs
+ ):
+ """
+ :keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
+ https://en.wikipedia.org/wiki/ISO_8601.
+ Recommented format would be "2022-06-01T00:00:01"
+ If not present, the schedule will run indefinitely.
+ :paramtype end_time: str
+ :keyword start_time: Specifies start time of schedule in ISO 8601 format, but without a UTC
+ offset.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://learn.microsoft.com/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ :keyword frequency: Required. [Required] The frequency to trigger schedule. Possible values
+ include: "Minute", "Hour", "Day", "Week", "Month".
+ :paramtype frequency: str or ~azure.mgmt.machinelearningservices.models.RecurrenceFrequency
+ :keyword interval: Required. [Required] Specifies schedule interval in conjunction with
+ frequency.
+ :paramtype interval: int
+ :keyword schedule: The recurrence schedule.
+ :paramtype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceSchedule
+ """
+ super(RecurrenceTrigger, self).__init__(end_time=end_time, start_time=start_time, time_zone=time_zone, **kwargs)
+ self.trigger_type = 'Recurrence' # type: str
+ self.frequency = frequency
+ self.interval = interval
+ self.schedule = schedule
+
+
+class RegenerateEndpointKeysRequest(msrest.serialization.Model):
+ """RegenerateEndpointKeysRequest.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar key_type: Required. [Required] Specification for which type of key to generate. Primary
+ or Secondary. Possible values include: "Primary", "Secondary".
+ :vartype key_type: str or ~azure.mgmt.machinelearningservices.models.KeyType
+ :ivar key_value: The value the key is set to.
+ :vartype key_value: str
+ """
+
+ _validation = {
+ 'key_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'key_type': {'key': 'keyType', 'type': 'str'},
+ 'key_value': {'key': 'keyValue', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ key_type: Union[str, "KeyType"],
+ key_value: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword key_type: Required. [Required] Specification for which type of key to generate.
+ Primary or Secondary. Possible values include: "Primary", "Secondary".
+ :paramtype key_type: str or ~azure.mgmt.machinelearningservices.models.KeyType
+ :keyword key_value: The value the key is set to.
+ :paramtype key_value: str
+ """
+ super(RegenerateEndpointKeysRequest, self).__init__(**kwargs)
+ self.key_type = key_type
+ self.key_value = key_value
+
+
+class RegistryListCredentialsResult(msrest.serialization.Model):
+ """RegistryListCredentialsResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar location:
+ :vartype location: str
+ :ivar username:
+ :vartype username: str
+ :ivar passwords:
+ :vartype passwords: list[~azure.mgmt.machinelearningservices.models.Password]
+ """
+
+ _validation = {
+ 'location': {'readonly': True},
+ 'username': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'location': {'key': 'location', 'type': 'str'},
+ 'username': {'key': 'username', 'type': 'str'},
+ 'passwords': {'key': 'passwords', 'type': '[Password]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ passwords: Optional[List["Password"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword passwords:
+ :paramtype passwords: list[~azure.mgmt.machinelearningservices.models.Password]
+ """
+ super(RegistryListCredentialsResult, self).__init__(**kwargs)
+ self.location = None
+ self.username = None
+ self.passwords = passwords
+
+
+class Regression(AutoMLVertical, TableVertical):
+ """Regression task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar cv_split_column_names: Columns to use for CVSplit data.
+ :vartype cv_split_column_names: list[str]
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :ivar n_cross_validations: Number of cross validation folds to be applied on training dataset
+ when validation dataset is not provided.
+ :vartype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :ivar test_data: Test data input.
+ :vartype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype test_data_size: float
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :vartype validation_data_size: float
+ :ivar weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :vartype weight_column_name: str
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for regression task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.RegressionPrimaryMetrics
+ :ivar training_settings: Inputs for training phase for an AutoML Job.
+ :vartype training_settings:
+ ~azure.mgmt.machinelearningservices.models.RegressionTrainingSettings
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'cv_split_column_names': {'key': 'cvSplitColumnNames', 'type': '[str]'},
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'TableVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'TableVerticalLimitSettings'},
+ 'n_cross_validations': {'key': 'nCrossValidations', 'type': 'NCrossValidations'},
+ 'test_data': {'key': 'testData', 'type': 'MLTableJobInput'},
+ 'test_data_size': {'key': 'testDataSize', 'type': 'float'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'validation_data_size': {'key': 'validationDataSize', 'type': 'float'},
+ 'weight_column_name': {'key': 'weightColumnName', 'type': 'str'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ 'training_settings': {'key': 'trainingSettings', 'type': 'RegressionTrainingSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ cv_split_column_names: Optional[List[str]] = None,
+ featurization_settings: Optional["TableVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["TableVerticalLimitSettings"] = None,
+ n_cross_validations: Optional["NCrossValidations"] = None,
+ test_data: Optional["MLTableJobInput"] = None,
+ test_data_size: Optional[float] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ weight_column_name: Optional[str] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ primary_metric: Optional[Union[str, "RegressionPrimaryMetrics"]] = None,
+ training_settings: Optional["RegressionTrainingSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword cv_split_column_names: Columns to use for CVSplit data.
+ :paramtype cv_split_column_names: list[str]
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings:
+ ~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
+ :keyword n_cross_validations: Number of cross validation folds to be applied on training
+ dataset
+ when validation dataset is not provided.
+ :paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword test_data: Test data input.
+ :paramtype test_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword test_data_size: The fraction of test dataset that needs to be set aside for validation
+ purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype test_data_size: float
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword validation_data_size: The fraction of training dataset that needs to be set aside for
+ validation purpose.
+ Values between (0.0 , 1.0)
+ Applied when validation dataset is not provided.
+ :paramtype validation_data_size: float
+ :keyword weight_column_name: The name of the sample weight column. Automated ML supports a
+ weighted column as an input, causing rows in the data to be weighted up or down.
+ :paramtype weight_column_name: str
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric for regression task. Possible values include:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score",
+ "NormalizedMeanAbsoluteError".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.RegressionPrimaryMetrics
+ :keyword training_settings: Inputs for training phase for an AutoML Job.
+ :paramtype training_settings:
+ ~azure.mgmt.machinelearningservices.models.RegressionTrainingSettings
+ """
+ super(Regression, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, cv_split_column_names=cv_split_column_names, featurization_settings=featurization_settings, limit_settings=limit_settings, n_cross_validations=n_cross_validations, test_data=test_data, test_data_size=test_data_size, validation_data=validation_data, validation_data_size=validation_data_size, weight_column_name=weight_column_name, **kwargs)
+ self.cv_split_column_names = cv_split_column_names
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.n_cross_validations = n_cross_validations
+ self.test_data = test_data
+ self.test_data_size = test_data_size
+ self.validation_data = validation_data
+ self.validation_data_size = validation_data_size
+ self.weight_column_name = weight_column_name
+ self.task_type = 'Regression' # type: str
+ self.primary_metric = primary_metric
+ self.training_settings = training_settings
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class RegressionTrainingSettings(TrainingSettings):
+ """Regression Training related configuration.
+
+ :ivar enable_dnn_training: Enable recommendation of DNN models.
+ :vartype enable_dnn_training: bool
+ :ivar enable_model_explainability: Flag to turn on explainability on best model.
+ :vartype enable_model_explainability: bool
+ :ivar enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :vartype enable_onnx_compatible_models: bool
+ :ivar enable_stack_ensemble: Enable stack ensemble run.
+ :vartype enable_stack_ensemble: bool
+ :ivar enable_vote_ensemble: Enable voting ensemble run.
+ :vartype enable_vote_ensemble: bool
+ :ivar ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :vartype ensemble_model_download_timeout: ~datetime.timedelta
+ :ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :vartype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar allowed_training_algorithms: Allowed models for regression task.
+ :vartype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ :ivar blocked_training_algorithms: Blocked models for regression task.
+ :vartype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ """
+
+ _attribute_map = {
+ 'enable_dnn_training': {'key': 'enableDnnTraining', 'type': 'bool'},
+ 'enable_model_explainability': {'key': 'enableModelExplainability', 'type': 'bool'},
+ 'enable_onnx_compatible_models': {'key': 'enableOnnxCompatibleModels', 'type': 'bool'},
+ 'enable_stack_ensemble': {'key': 'enableStackEnsemble', 'type': 'bool'},
+ 'enable_vote_ensemble': {'key': 'enableVoteEnsemble', 'type': 'bool'},
+ 'ensemble_model_download_timeout': {'key': 'ensembleModelDownloadTimeout', 'type': 'duration'},
+ 'stack_ensemble_settings': {'key': 'stackEnsembleSettings', 'type': 'StackEnsembleSettings'},
+ 'allowed_training_algorithms': {'key': 'allowedTrainingAlgorithms', 'type': '[str]'},
+ 'blocked_training_algorithms': {'key': 'blockedTrainingAlgorithms', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ enable_dnn_training: Optional[bool] = False,
+ enable_model_explainability: Optional[bool] = True,
+ enable_onnx_compatible_models: Optional[bool] = False,
+ enable_stack_ensemble: Optional[bool] = True,
+ enable_vote_ensemble: Optional[bool] = True,
+ ensemble_model_download_timeout: Optional[datetime.timedelta] = "PT5M",
+ stack_ensemble_settings: Optional["StackEnsembleSettings"] = None,
+ allowed_training_algorithms: Optional[List[Union[str, "RegressionModels"]]] = None,
+ blocked_training_algorithms: Optional[List[Union[str, "RegressionModels"]]] = None,
+ **kwargs
+ ):
+ """
+ :keyword enable_dnn_training: Enable recommendation of DNN models.
+ :paramtype enable_dnn_training: bool
+ :keyword enable_model_explainability: Flag to turn on explainability on best model.
+ :paramtype enable_model_explainability: bool
+ :keyword enable_onnx_compatible_models: Flag for enabling onnx compatible models.
+ :paramtype enable_onnx_compatible_models: bool
+ :keyword enable_stack_ensemble: Enable stack ensemble run.
+ :paramtype enable_stack_ensemble: bool
+ :keyword enable_vote_ensemble: Enable voting ensemble run.
+ :paramtype enable_vote_ensemble: bool
+ :keyword ensemble_model_download_timeout: During VotingEnsemble and StackEnsemble model
+ generation, multiple fitted models from the previous child runs are downloaded.
+ Configure this parameter with a higher value than 300 secs, if more time is needed.
+ :paramtype ensemble_model_download_timeout: ~datetime.timedelta
+ :keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
+ :paramtype stack_ensemble_settings:
+ ~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword allowed_training_algorithms: Allowed models for regression task.
+ :paramtype allowed_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ :keyword blocked_training_algorithms: Blocked models for regression task.
+ :paramtype blocked_training_algorithms: list[str or
+ ~azure.mgmt.machinelearningservices.models.RegressionModels]
+ """
+ super(RegressionTrainingSettings, self).__init__(enable_dnn_training=enable_dnn_training, enable_model_explainability=enable_model_explainability, enable_onnx_compatible_models=enable_onnx_compatible_models, enable_stack_ensemble=enable_stack_ensemble, enable_vote_ensemble=enable_vote_ensemble, ensemble_model_download_timeout=ensemble_model_download_timeout, stack_ensemble_settings=stack_ensemble_settings, **kwargs)
+ self.allowed_training_algorithms = allowed_training_algorithms
+ self.blocked_training_algorithms = blocked_training_algorithms
+
+
+class ResourceId(msrest.serialization.Model):
+ """Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required. The ID of the resource.
+ :vartype id: str
+ """
+
+ _validation = {
+ 'id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ id: str,
+ **kwargs
+ ):
+ """
+ :keyword id: Required. The ID of the resource.
+ :paramtype id: str
+ """
+ super(ResourceId, self).__init__(**kwargs)
+ self.id = id
+
+
+class ResourceName(msrest.serialization.Model):
+ """The Resource Name.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The name of the resource.
+ :vartype value: str
+ :ivar localized_value: The localized name of the resource.
+ :vartype localized_value: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'localized_value': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'str'},
+ 'localized_value': {'key': 'localizedValue', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ResourceName, self).__init__(**kwargs)
+ self.value = None
+ self.localized_value = None
+
+
+class ResourceQuota(msrest.serialization.Model):
+ """The quota assigned to a resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar aml_workspace_location: Region of the AML workspace in the id.
+ :vartype aml_workspace_location: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar name: Name of the resource.
+ :vartype name: ~azure.mgmt.machinelearningservices.models.ResourceName
+ :ivar limit: The maximum permitted quota of the resource.
+ :vartype limit: long
+ :ivar unit: An enum describing the unit of quota measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'aml_workspace_location': {'readonly': True},
+ 'type': {'readonly': True},
+ 'name': {'readonly': True},
+ 'limit': {'readonly': True},
+ 'unit': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'aml_workspace_location': {'key': 'amlWorkspaceLocation', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'ResourceName'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(ResourceQuota, self).__init__(**kwargs)
+ self.id = None
+ self.aml_workspace_location = None
+ self.type = None
+ self.name = None
+ self.limit = None
+ self.unit = None
+
+
+class Route(msrest.serialization.Model):
+ """Route.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar path: Required. [Required] The path for the route.
+ :vartype path: str
+ :ivar port: Required. [Required] The port for the route.
+ :vartype port: int
+ """
+
+ _validation = {
+ 'path': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'port': {'required': True},
+ }
+
+ _attribute_map = {
+ 'path': {'key': 'path', 'type': 'str'},
+ 'port': {'key': 'port', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ path: str,
+ port: int,
+ **kwargs
+ ):
+ """
+ :keyword path: Required. [Required] The path for the route.
+ :paramtype path: str
+ :keyword port: Required. [Required] The port for the route.
+ :paramtype port: int
+ """
+ super(Route, self).__init__(**kwargs)
+ self.path = path
+ self.port = port
+
+
+class SASAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """SASAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionSharedAccessSignature
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionSharedAccessSignature'},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "ValueFormat"]] = None,
+ credentials: Optional["WorkspaceConnectionSharedAccessSignature"] = None,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionSharedAccessSignature
+ """
+ super(SASAuthTypeWorkspaceConnectionProperties, self).__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type = 'SAS' # type: str
+ self.credentials = credentials
+
+
+class SasDatastoreCredentials(DatastoreCredentials):
+ """SAS datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar secrets: Required. [Required] Storage container secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.SasDatastoreSecrets
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'secrets': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'SasDatastoreSecrets'},
+ }
+
+ def __init__(
+ self,
+ *,
+ secrets: "SasDatastoreSecrets",
+ **kwargs
+ ):
+ """
+ :keyword secrets: Required. [Required] Storage container secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.SasDatastoreSecrets
+ """
+ super(SasDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'Sas' # type: str
+ self.secrets = secrets
+
+
+class SasDatastoreSecrets(DatastoreSecrets):
+ """Datastore SAS secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar sas_token: Storage container SAS token.
+ :vartype sas_token: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'sas_token': {'key': 'sasToken', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ sas_token: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword sas_token: Storage container SAS token.
+ :paramtype sas_token: str
+ """
+ super(SasDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'Sas' # type: str
+ self.sas_token = sas_token
+
+
+class ScaleSettings(msrest.serialization.Model):
+ """scale settings for AML Compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar max_node_count: Required. Max number of nodes to use.
+ :vartype max_node_count: int
+ :ivar min_node_count: Min number of nodes to use.
+ :vartype min_node_count: int
+ :ivar node_idle_time_before_scale_down: Node Idle Time before scaling down amlCompute. This
+ string needs to be in the RFC Format.
+ :vartype node_idle_time_before_scale_down: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'max_node_count': {'required': True},
+ }
+
+ _attribute_map = {
+ 'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
+ 'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
+ 'node_idle_time_before_scale_down': {'key': 'nodeIdleTimeBeforeScaleDown', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ max_node_count: int,
+ min_node_count: Optional[int] = 0,
+ node_idle_time_before_scale_down: Optional[datetime.timedelta] = None,
+ **kwargs
+ ):
+ """
+ :keyword max_node_count: Required. Max number of nodes to use.
+ :paramtype max_node_count: int
+ :keyword min_node_count: Min number of nodes to use.
+ :paramtype min_node_count: int
+ :keyword node_idle_time_before_scale_down: Node Idle Time before scaling down amlCompute. This
+ string needs to be in the RFC Format.
+ :paramtype node_idle_time_before_scale_down: ~datetime.timedelta
+ """
+ super(ScaleSettings, self).__init__(**kwargs)
+ self.max_node_count = max_node_count
+ self.min_node_count = min_node_count
+ self.node_idle_time_before_scale_down = node_idle_time_before_scale_down
+
+
+class ScaleSettingsInformation(msrest.serialization.Model):
+ """Desired scale settings for the amlCompute.
+
+ :ivar scale_settings: scale settings for AML Compute.
+ :vartype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ """
+
+ _attribute_map = {
+ 'scale_settings': {'key': 'scaleSettings', 'type': 'ScaleSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ scale_settings: Optional["ScaleSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword scale_settings: scale settings for AML Compute.
+ :paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
+ """
+ super(ScaleSettingsInformation, self).__init__(**kwargs)
+ self.scale_settings = scale_settings
+
+
+class Schedule(Resource):
+ """Azure Resource Manager resource envelope.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required. [Required] Additional attributes of the entity.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.ScheduleProperties
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'ScheduleProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "ScheduleProperties",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required. [Required] Additional attributes of the entity.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.ScheduleProperties
+ """
+ super(Schedule, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class ScheduleBase(msrest.serialization.Model):
+ """ScheduleBase.
+
+ :ivar id: A system assigned id for the schedule.
+ :vartype id: str
+ :ivar provisioning_status: The current deployment state of schedule. Possible values include:
+ "Completed", "Provisioning", "Failed".
+ :vartype provisioning_status: str or
+ ~azure.mgmt.machinelearningservices.models.ScheduleProvisioningState
+ :ivar status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ """
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ id: Optional[str] = None,
+ provisioning_status: Optional[Union[str, "ScheduleProvisioningState"]] = None,
+ status: Optional[Union[str, "ScheduleStatus"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword id: A system assigned id for the schedule.
+ :paramtype id: str
+ :keyword provisioning_status: The current deployment state of schedule. Possible values
+ include: "Completed", "Provisioning", "Failed".
+ :paramtype provisioning_status: str or
+ ~azure.mgmt.machinelearningservices.models.ScheduleProvisioningState
+ :keyword status: Is the schedule enabled or disabled?. Possible values include: "Enabled",
+ "Disabled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.ScheduleStatus
+ """
+ super(ScheduleBase, self).__init__(**kwargs)
+ self.id = id
+ self.provisioning_status = provisioning_status
+ self.status = status
+
+
+class ScheduleProperties(ResourceBase):
+ """Base definition of a schedule.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar action: Required. [Required] Specifies the action of the schedule.
+ :vartype action: ~azure.mgmt.machinelearningservices.models.ScheduleActionBase
+ :ivar display_name: Display name of schedule.
+ :vartype display_name: str
+ :ivar is_enabled: Is the schedule enabled?.
+ :vartype is_enabled: bool
+ :ivar provisioning_state: Provisioning state for the schedule. Possible values include:
+ "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ScheduleProvisioningStatus
+ :ivar trigger: Required. [Required] Specifies the trigger details.
+ :vartype trigger: ~azure.mgmt.machinelearningservices.models.TriggerBase
+ """
+
+ _validation = {
+ 'action': {'required': True},
+ 'provisioning_state': {'readonly': True},
+ 'trigger': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'action': {'key': 'action', 'type': 'ScheduleActionBase'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'is_enabled': {'key': 'isEnabled', 'type': 'bool'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'trigger': {'key': 'trigger', 'type': 'TriggerBase'},
+ }
+
+ def __init__(
+ self,
+ *,
+ action: "ScheduleActionBase",
+ trigger: "TriggerBase",
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ display_name: Optional[str] = None,
+ is_enabled: Optional[bool] = True,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword action: Required. [Required] Specifies the action of the schedule.
+ :paramtype action: ~azure.mgmt.machinelearningservices.models.ScheduleActionBase
+ :keyword display_name: Display name of schedule.
+ :paramtype display_name: str
+ :keyword is_enabled: Is the schedule enabled?.
+ :paramtype is_enabled: bool
+ :keyword trigger: Required. [Required] Specifies the trigger details.
+ :paramtype trigger: ~azure.mgmt.machinelearningservices.models.TriggerBase
+ """
+ super(ScheduleProperties, self).__init__(description=description, properties=properties, tags=tags, **kwargs)
+ self.action = action
+ self.display_name = display_name
+ self.is_enabled = is_enabled
+ self.provisioning_state = None
+ self.trigger = trigger
+
+
+class ScheduleResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of Schedule entities.
+
+ :ivar next_link: The link to the next page of Schedule objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type Schedule.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Schedule]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[Schedule]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["Schedule"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of Schedule objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type Schedule.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Schedule]
+ """
+ super(ScheduleResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class ScriptReference(msrest.serialization.Model):
+ """Script reference.
+
+ :ivar script_source: The storage source of the script: inline, workspace.
+ :vartype script_source: str
+ :ivar script_data: The location of scripts in the mounted volume.
+ :vartype script_data: str
+ :ivar script_arguments: Optional command line arguments passed to the script to run.
+ :vartype script_arguments: str
+ :ivar timeout: Optional time period passed to timeout command.
+ :vartype timeout: str
+ """
+
+ _attribute_map = {
+ 'script_source': {'key': 'scriptSource', 'type': 'str'},
+ 'script_data': {'key': 'scriptData', 'type': 'str'},
+ 'script_arguments': {'key': 'scriptArguments', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ script_source: Optional[str] = None,
+ script_data: Optional[str] = None,
+ script_arguments: Optional[str] = None,
+ timeout: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword script_source: The storage source of the script: inline, workspace.
+ :paramtype script_source: str
+ :keyword script_data: The location of scripts in the mounted volume.
+ :paramtype script_data: str
+ :keyword script_arguments: Optional command line arguments passed to the script to run.
+ :paramtype script_arguments: str
+ :keyword timeout: Optional time period passed to timeout command.
+ :paramtype timeout: str
+ """
+ super(ScriptReference, self).__init__(**kwargs)
+ self.script_source = script_source
+ self.script_data = script_data
+ self.script_arguments = script_arguments
+ self.timeout = timeout
+
+
+class ScriptsToExecute(msrest.serialization.Model):
+ """Customized setup scripts.
+
+ :ivar startup_script: Script that's run every time the machine starts.
+ :vartype startup_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ :ivar creation_script: Script that's run only once during provision of the compute.
+ :vartype creation_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ """
+
+ _attribute_map = {
+ 'startup_script': {'key': 'startupScript', 'type': 'ScriptReference'},
+ 'creation_script': {'key': 'creationScript', 'type': 'ScriptReference'},
+ }
+
+ def __init__(
+ self,
+ *,
+ startup_script: Optional["ScriptReference"] = None,
+ creation_script: Optional["ScriptReference"] = None,
+ **kwargs
+ ):
+ """
+ :keyword startup_script: Script that's run every time the machine starts.
+ :paramtype startup_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ :keyword creation_script: Script that's run only once during provision of the compute.
+ :paramtype creation_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
+ """
+ super(ScriptsToExecute, self).__init__(**kwargs)
+ self.startup_script = startup_script
+ self.creation_script = creation_script
+
+
+class ServiceManagedResourcesSettings(msrest.serialization.Model):
+ """ServiceManagedResourcesSettings.
+
+ :ivar cosmos_db: The settings for the service managed cosmosdb account.
+ :vartype cosmos_db: ~azure.mgmt.machinelearningservices.models.CosmosDbSettings
+ """
+
+ _attribute_map = {
+ 'cosmos_db': {'key': 'cosmosDb', 'type': 'CosmosDbSettings'},
+ }
+
+ def __init__(
+ self,
+ *,
+ cosmos_db: Optional["CosmosDbSettings"] = None,
+ **kwargs
+ ):
+ """
+ :keyword cosmos_db: The settings for the service managed cosmosdb account.
+ :paramtype cosmos_db: ~azure.mgmt.machinelearningservices.models.CosmosDbSettings
+ """
+ super(ServiceManagedResourcesSettings, self).__init__(**kwargs)
+ self.cosmos_db = cosmos_db
+
+
+class ServicePrincipalDatastoreCredentials(DatastoreCredentials):
+ """Service Principal datastore credentials configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate",
+ "None", "Sas", "ServicePrincipal".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar authority_url: Authority URL used for authentication.
+ :vartype authority_url: str
+ :ivar client_id: Required. [Required] Service principal client ID.
+ :vartype client_id: str
+ :ivar resource_url: Resource the service principal has access to.
+ :vartype resource_url: str
+ :ivar secrets: Required. [Required] Service principal secrets.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.ServicePrincipalDatastoreSecrets
+ :ivar tenant_id: Required. [Required] ID of the tenant to which the service principal belongs.
+ :vartype tenant_id: str
+ """
+
+ _validation = {
+ 'credentials_type': {'required': True},
+ 'client_id': {'required': True},
+ 'secrets': {'required': True},
+ 'tenant_id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'credentials_type': {'key': 'credentialsType', 'type': 'str'},
+ 'authority_url': {'key': 'authorityUrl', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ 'resource_url': {'key': 'resourceUrl', 'type': 'str'},
+ 'secrets': {'key': 'secrets', 'type': 'ServicePrincipalDatastoreSecrets'},
+ 'tenant_id': {'key': 'tenantId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_id: str,
+ secrets: "ServicePrincipalDatastoreSecrets",
+ tenant_id: str,
+ authority_url: Optional[str] = None,
+ resource_url: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword authority_url: Authority URL used for authentication.
+ :paramtype authority_url: str
+ :keyword client_id: Required. [Required] Service principal client ID.
+ :paramtype client_id: str
+ :keyword resource_url: Resource the service principal has access to.
+ :paramtype resource_url: str
+ :keyword secrets: Required. [Required] Service principal secrets.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.ServicePrincipalDatastoreSecrets
+ :keyword tenant_id: Required. [Required] ID of the tenant to which the service principal
+ belongs.
+ :paramtype tenant_id: str
+ """
+ super(ServicePrincipalDatastoreCredentials, self).__init__(**kwargs)
+ self.credentials_type = 'ServicePrincipal' # type: str
+ self.authority_url = authority_url
+ self.client_id = client_id
+ self.resource_url = resource_url
+ self.secrets = secrets
+ self.tenant_id = tenant_id
+
+
+class ServicePrincipalDatastoreSecrets(DatastoreSecrets):
+ """Datastore Service Principal secrets.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar secrets_type: Required. [Required] Credential type used to authentication with
+ storage.Constant filled by server. Possible values include: "AccountKey", "Certificate", "Sas",
+ "ServicePrincipal".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar client_secret: Service principal secret.
+ :vartype client_secret: str
+ """
+
+ _validation = {
+ 'secrets_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'secrets_type': {'key': 'secretsType', 'type': 'str'},
+ 'client_secret': {'key': 'clientSecret', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_secret: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword client_secret: Service principal secret.
+ :paramtype client_secret: str
+ """
+ super(ServicePrincipalDatastoreSecrets, self).__init__(**kwargs)
+ self.secrets_type = 'ServicePrincipal' # type: str
+ self.client_secret = client_secret
+
+
+class SetupScripts(msrest.serialization.Model):
+ """Details of customized scripts to execute for setting up the cluster.
+
+ :ivar scripts: Customized setup scripts.
+ :vartype scripts: ~azure.mgmt.machinelearningservices.models.ScriptsToExecute
+ """
+
+ _attribute_map = {
+ 'scripts': {'key': 'scripts', 'type': 'ScriptsToExecute'},
+ }
+
+ def __init__(
+ self,
+ *,
+ scripts: Optional["ScriptsToExecute"] = None,
+ **kwargs
+ ):
+ """
+ :keyword scripts: Customized setup scripts.
+ :paramtype scripts: ~azure.mgmt.machinelearningservices.models.ScriptsToExecute
+ """
+ super(SetupScripts, self).__init__(**kwargs)
+ self.scripts = scripts
+
+
+class SharedPrivateLinkResource(msrest.serialization.Model):
+ """SharedPrivateLinkResource.
+
+ :ivar name: Unique name of the private link.
+ :vartype name: str
+ :ivar private_link_resource_id: The resource id that private link links to.
+ :vartype private_link_resource_id: str
+ :ivar group_id: The private link resource group id.
+ :vartype group_id: str
+ :ivar request_message: Request message.
+ :vartype request_message: str
+ :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner
+ of the service. Possible values include: "Pending", "Approved", "Rejected", "Disconnected",
+ "Timeout".
+ :vartype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ """
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'private_link_resource_id': {'key': 'properties.privateLinkResourceId', 'type': 'str'},
+ 'group_id': {'key': 'properties.groupId', 'type': 'str'},
+ 'request_message': {'key': 'properties.requestMessage', 'type': 'str'},
+ 'status': {'key': 'properties.status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: Optional[str] = None,
+ private_link_resource_id: Optional[str] = None,
+ group_id: Optional[str] = None,
+ request_message: Optional[str] = None,
+ status: Optional[Union[str, "PrivateEndpointServiceConnectionStatus"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword name: Unique name of the private link.
+ :paramtype name: str
+ :keyword private_link_resource_id: The resource id that private link links to.
+ :paramtype private_link_resource_id: str
+ :keyword group_id: The private link resource group id.
+ :paramtype group_id: str
+ :keyword request_message: Request message.
+ :paramtype request_message: str
+ :keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the
+ owner of the service. Possible values include: "Pending", "Approved", "Rejected",
+ "Disconnected", "Timeout".
+ :paramtype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ """
+ super(SharedPrivateLinkResource, self).__init__(**kwargs)
+ self.name = name
+ self.private_link_resource_id = private_link_resource_id
+ self.group_id = group_id
+ self.request_message = request_message
+ self.status = status
+
+
+class Sku(msrest.serialization.Model):
+ """The resource model definition representing SKU.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :vartype name: str
+ :ivar tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ :ivar size: The SKU size. When the name field is the combination of tier and some other value,
+ this would be the standalone code.
+ :vartype size: str
+ :ivar family: If the service has different generations of hardware, for the same SKU, then that
+ can be captured here.
+ :vartype family: str
+ :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included.
+ If scale out/in is not possible for the resource this may be omitted.
+ :vartype capacity: int
+ """
+
+ _validation = {
+ 'name': {'required': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'tier': {'key': 'tier', 'type': 'str'},
+ 'size': {'key': 'size', 'type': 'str'},
+ 'family': {'key': 'family', 'type': 'str'},
+ 'capacity': {'key': 'capacity', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ tier: Optional[Union[str, "SkuTier"]] = None,
+ size: Optional[str] = None,
+ family: Optional[str] = None,
+ capacity: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword name: Required. The name of the SKU. Ex - P3. It is typically a letter+number code.
+ :paramtype name: str
+ :keyword tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ :keyword size: The SKU size. When the name field is the combination of tier and some other
+ value, this would be the standalone code.
+ :paramtype size: str
+ :keyword family: If the service has different generations of hardware, for the same SKU, then
+ that can be captured here.
+ :paramtype family: str
+ :keyword capacity: If the SKU supports scale out/in then the capacity integer should be
+ included. If scale out/in is not possible for the resource this may be omitted.
+ :paramtype capacity: int
+ """
+ super(Sku, self).__init__(**kwargs)
+ self.name = name
+ self.tier = tier
+ self.size = size
+ self.family = family
+ self.capacity = capacity
+
+
+class SkuCapacity(msrest.serialization.Model):
+ """SKU capacity information.
+
+ :ivar default: Gets or sets the default capacity.
+ :vartype default: int
+ :ivar maximum: Gets or sets the maximum.
+ :vartype maximum: int
+ :ivar minimum: Gets or sets the minimum.
+ :vartype minimum: int
+ :ivar scale_type: Gets or sets the type of the scale. Possible values include: "Automatic",
+ "Manual", "None".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
+ """
+
+ _attribute_map = {
+ 'default': {'key': 'default', 'type': 'int'},
+ 'maximum': {'key': 'maximum', 'type': 'int'},
+ 'minimum': {'key': 'minimum', 'type': 'int'},
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ default: Optional[int] = 0,
+ maximum: Optional[int] = 0,
+ minimum: Optional[int] = 0,
+ scale_type: Optional[Union[str, "SkuScaleType"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword default: Gets or sets the default capacity.
+ :paramtype default: int
+ :keyword maximum: Gets or sets the maximum.
+ :paramtype maximum: int
+ :keyword minimum: Gets or sets the minimum.
+ :paramtype minimum: int
+ :keyword scale_type: Gets or sets the type of the scale. Possible values include: "Automatic",
+ "Manual", "None".
+ :paramtype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
+ """
+ super(SkuCapacity, self).__init__(**kwargs)
+ self.default = default
+ self.maximum = maximum
+ self.minimum = minimum
+ self.scale_type = scale_type
+
+
+class SkuResource(msrest.serialization.Model):
+ """Fulfills ARM Contract requirement to list all available SKUS for a resource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar capacity: Gets or sets the Sku Capacity.
+ :vartype capacity: ~azure.mgmt.machinelearningservices.models.SkuCapacity
+ :ivar resource_type: The resource type name.
+ :vartype resource_type: str
+ :ivar sku: Gets or sets the Sku.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.SkuSetting
+ """
+
+ _validation = {
+ 'resource_type': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'},
+ 'resource_type': {'key': 'resourceType', 'type': 'str'},
+ 'sku': {'key': 'sku', 'type': 'SkuSetting'},
+ }
+
+ def __init__(
+ self,
+ *,
+ capacity: Optional["SkuCapacity"] = None,
+ sku: Optional["SkuSetting"] = None,
+ **kwargs
+ ):
+ """
+ :keyword capacity: Gets or sets the Sku Capacity.
+ :paramtype capacity: ~azure.mgmt.machinelearningservices.models.SkuCapacity
+ :keyword sku: Gets or sets the Sku.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.SkuSetting
+ """
+ super(SkuResource, self).__init__(**kwargs)
+ self.capacity = capacity
+ self.resource_type = None
+ self.sku = sku
+
+
+class SkuResourceArmPaginatedResult(msrest.serialization.Model):
+ """A paginated list of SkuResource entities.
+
+ :ivar next_link: The link to the next page of SkuResource objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type SkuResource.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.SkuResource]
+ """
+
+ _attribute_map = {
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ 'value': {'key': 'value', 'type': '[SkuResource]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["SkuResource"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword next_link: The link to the next page of SkuResource objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type SkuResource.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.SkuResource]
+ """
+ super(SkuResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
+class SkuSetting(msrest.serialization.Model):
+ """SkuSetting fulfills the need for stripped down SKU info in ARM contract.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: Required. [Required] The name of the SKU. Ex - P3. It is typically a letter+number
+ code.
+ :vartype name: str
+ :ivar tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+
+ _validation = {
+ 'name': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'tier': {'key': 'tier', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ name: str,
+ tier: Optional[Union[str, "SkuTier"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword name: Required. [Required] The name of the SKU. Ex - P3. It is typically a
+ letter+number code.
+ :paramtype name: str
+ :keyword tier: This field is required to be implemented by the Resource Provider if the service
+ has more than one tier, but is not required on a PUT. Possible values include: "Free", "Basic",
+ "Standard", "Premium".
+ :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ """
+ super(SkuSetting, self).__init__(**kwargs)
+ self.name = name
+ self.tier = tier
+
+
+class SslConfiguration(msrest.serialization.Model):
+ """The ssl configuration for scoring.
+
+ :ivar status: Enable or disable ssl for scoring. Possible values include: "Disabled",
+ "Enabled", "Auto".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.SslConfigStatus
+ :ivar cert: Cert data.
+ :vartype cert: str
+ :ivar key: Key data.
+ :vartype key: str
+ :ivar cname: CNAME of the cert.
+ :vartype cname: str
+ :ivar leaf_domain_label: Leaf domain label of public endpoint.
+ :vartype leaf_domain_label: str
+ :ivar overwrite_existing_domain: Indicates whether to overwrite existing domain label.
+ :vartype overwrite_existing_domain: bool
+ """
+
+ _attribute_map = {
+ 'status': {'key': 'status', 'type': 'str'},
+ 'cert': {'key': 'cert', 'type': 'str'},
+ 'key': {'key': 'key', 'type': 'str'},
+ 'cname': {'key': 'cname', 'type': 'str'},
+ 'leaf_domain_label': {'key': 'leafDomainLabel', 'type': 'str'},
+ 'overwrite_existing_domain': {'key': 'overwriteExistingDomain', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ status: Optional[Union[str, "SslConfigStatus"]] = None,
+ cert: Optional[str] = None,
+ key: Optional[str] = None,
+ cname: Optional[str] = None,
+ leaf_domain_label: Optional[str] = None,
+ overwrite_existing_domain: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword status: Enable or disable ssl for scoring. Possible values include: "Disabled",
+ "Enabled", "Auto".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.SslConfigStatus
+ :keyword cert: Cert data.
+ :paramtype cert: str
+ :keyword key: Key data.
+ :paramtype key: str
+ :keyword cname: CNAME of the cert.
+ :paramtype cname: str
+ :keyword leaf_domain_label: Leaf domain label of public endpoint.
+ :paramtype leaf_domain_label: str
+ :keyword overwrite_existing_domain: Indicates whether to overwrite existing domain label.
+ :paramtype overwrite_existing_domain: bool
+ """
+ super(SslConfiguration, self).__init__(**kwargs)
+ self.status = status
+ self.cert = cert
+ self.key = key
+ self.cname = cname
+ self.leaf_domain_label = leaf_domain_label
+ self.overwrite_existing_domain = overwrite_existing_domain
+
+
+class StackEnsembleSettings(msrest.serialization.Model):
+ """Advances setting to customize StackEnsemble run.
+
+ :ivar stack_meta_learner_k_wargs: Optional parameters to pass to the initializer of the
+ meta-learner.
+ :vartype stack_meta_learner_k_wargs: any
+ :ivar stack_meta_learner_train_percentage: Specifies the proportion of the training set (when
+ choosing train and validation type of training) to be reserved for training the meta-learner.
+ Default value is 0.2.
+ :vartype stack_meta_learner_train_percentage: float
+ :ivar stack_meta_learner_type: The meta-learner is a model trained on the output of the
+ individual heterogeneous models. Possible values include: "None", "LogisticRegression",
+ "LogisticRegressionCV", "LightGBMClassifier", "ElasticNet", "ElasticNetCV",
+ "LightGBMRegressor", "LinearRegression".
+ :vartype stack_meta_learner_type: str or
+ ~azure.mgmt.machinelearningservices.models.StackMetaLearnerType
+ """
+
+ _attribute_map = {
+ 'stack_meta_learner_k_wargs': {'key': 'stackMetaLearnerKWargs', 'type': 'object'},
+ 'stack_meta_learner_train_percentage': {'key': 'stackMetaLearnerTrainPercentage', 'type': 'float'},
+ 'stack_meta_learner_type': {'key': 'stackMetaLearnerType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ stack_meta_learner_k_wargs: Optional[Any] = None,
+ stack_meta_learner_train_percentage: Optional[float] = 0.2,
+ stack_meta_learner_type: Optional[Union[str, "StackMetaLearnerType"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword stack_meta_learner_k_wargs: Optional parameters to pass to the initializer of the
+ meta-learner.
+ :paramtype stack_meta_learner_k_wargs: any
+ :keyword stack_meta_learner_train_percentage: Specifies the proportion of the training set
+ (when choosing train and validation type of training) to be reserved for training the
+ meta-learner. Default value is 0.2.
+ :paramtype stack_meta_learner_train_percentage: float
+ :keyword stack_meta_learner_type: The meta-learner is a model trained on the output of the
+ individual heterogeneous models. Possible values include: "None", "LogisticRegression",
+ "LogisticRegressionCV", "LightGBMClassifier", "ElasticNet", "ElasticNetCV",
+ "LightGBMRegressor", "LinearRegression".
+ :paramtype stack_meta_learner_type: str or
+ ~azure.mgmt.machinelearningservices.models.StackMetaLearnerType
+ """
+ super(StackEnsembleSettings, self).__init__(**kwargs)
+ self.stack_meta_learner_k_wargs = stack_meta_learner_k_wargs
+ self.stack_meta_learner_train_percentage = stack_meta_learner_train_percentage
+ self.stack_meta_learner_type = stack_meta_learner_type
+
+
+class SweepJob(JobBaseProperties):
+ """Sweep job definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar component_id: ARM resource ID of the component resource.
+ :vartype component_id: str
+ :ivar compute_id: ARM resource ID of the compute resource.
+ :vartype compute_id: str
+ :ivar display_name: Display name of job.
+ :vartype display_name: str
+ :ivar experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :vartype experiment_name: str
+ :ivar identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar job_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "AutoML", "Command", "Sweep", "Pipeline".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :vartype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :ivar status: Status of the job. Possible values include: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar early_termination: Early termination policies enable canceling poor-performing runs
+ before they complete.
+ :vartype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :ivar inputs: Mapping of input data bindings used in the job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar limits: Sweep Job limit.
+ :vartype limits: ~azure.mgmt.machinelearningservices.models.SweepJobLimits
+ :ivar objective: Required. [Required] Optimization objective.
+ :vartype objective: ~azure.mgmt.machinelearningservices.models.Objective
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar sampling_algorithm: Required. [Required] The hyperparameter sampling algorithm.
+ :vartype sampling_algorithm: ~azure.mgmt.machinelearningservices.models.SamplingAlgorithm
+ :ivar search_space: Required. [Required] A dictionary containing each parameter and its
+ distribution. The dictionary key is the name of the parameter.
+ :vartype search_space: any
+ :ivar trial: Required. [Required] Trial component definition.
+ :vartype trial: ~azure.mgmt.machinelearningservices.models.TrialComponent
+ """
+
+ _validation = {
+ 'job_type': {'required': True},
+ 'status': {'readonly': True},
+ 'objective': {'required': True},
+ 'sampling_algorithm': {'required': True},
+ 'search_space': {'required': True},
+ 'trial': {'required': True},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'component_id': {'key': 'componentId', 'type': 'str'},
+ 'compute_id': {'key': 'computeId', 'type': 'str'},
+ 'display_name': {'key': 'displayName', 'type': 'str'},
+ 'experiment_name': {'key': 'experimentName', 'type': 'str'},
+ 'identity': {'key': 'identity', 'type': 'IdentityConfiguration'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'job_type': {'key': 'jobType', 'type': 'str'},
+ 'services': {'key': 'services', 'type': '{JobService}'},
+ 'status': {'key': 'status', 'type': 'str'},
+ 'early_termination': {'key': 'earlyTermination', 'type': 'EarlyTerminationPolicy'},
+ 'inputs': {'key': 'inputs', 'type': '{JobInput}'},
+ 'limits': {'key': 'limits', 'type': 'SweepJobLimits'},
+ 'objective': {'key': 'objective', 'type': 'Objective'},
+ 'outputs': {'key': 'outputs', 'type': '{JobOutput}'},
+ 'sampling_algorithm': {'key': 'samplingAlgorithm', 'type': 'SamplingAlgorithm'},
+ 'search_space': {'key': 'searchSpace', 'type': 'object'},
+ 'trial': {'key': 'trial', 'type': 'TrialComponent'},
+ }
+
+ def __init__(
+ self,
+ *,
+ objective: "Objective",
+ sampling_algorithm: "SamplingAlgorithm",
+ search_space: Any,
+ trial: "TrialComponent",
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ component_id: Optional[str] = None,
+ compute_id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ experiment_name: Optional[str] = "Default",
+ identity: Optional["IdentityConfiguration"] = None,
+ is_archived: Optional[bool] = False,
+ services: Optional[Dict[str, "JobService"]] = None,
+ early_termination: Optional["EarlyTerminationPolicy"] = None,
+ inputs: Optional[Dict[str, "JobInput"]] = None,
+ limits: Optional["SweepJobLimits"] = None,
+ outputs: Optional[Dict[str, "JobOutput"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword component_id: ARM resource ID of the component resource.
+ :paramtype component_id: str
+ :keyword compute_id: ARM resource ID of the compute resource.
+ :paramtype compute_id: str
+ :keyword display_name: Display name of job.
+ :paramtype display_name: str
+ :keyword experiment_name: The name of the experiment the job belongs to. If not set, the job is
+ placed in the "Default" experiment.
+ :paramtype experiment_name: str
+ :keyword identity: Identity configuration. If set, this should be one of AmlToken,
+ ManagedIdentity, UserIdentity or null.
+ Defaults to AmlToken if null.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword services: List of JobEndpoints.
+ For local jobs, a job endpoint will have an endpoint value of FileStreamObject.
+ :paramtype services: dict[str, ~azure.mgmt.machinelearningservices.models.JobService]
+ :keyword early_termination: Early termination policies enable canceling poor-performing runs
+ before they complete.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword inputs: Mapping of input data bindings used in the job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword limits: Sweep Job limit.
+ :paramtype limits: ~azure.mgmt.machinelearningservices.models.SweepJobLimits
+ :keyword objective: Required. [Required] Optimization objective.
+ :paramtype objective: ~azure.mgmt.machinelearningservices.models.Objective
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword sampling_algorithm: Required. [Required] The hyperparameter sampling algorithm.
+ :paramtype sampling_algorithm: ~azure.mgmt.machinelearningservices.models.SamplingAlgorithm
+ :keyword search_space: Required. [Required] A dictionary containing each parameter and its
+ distribution. The dictionary key is the name of the parameter.
+ :paramtype search_space: any
+ :keyword trial: Required. [Required] Trial component definition.
+ :paramtype trial: ~azure.mgmt.machinelearningservices.models.TrialComponent
+ """
+ super(SweepJob, self).__init__(description=description, properties=properties, tags=tags, component_id=component_id, compute_id=compute_id, display_name=display_name, experiment_name=experiment_name, identity=identity, is_archived=is_archived, services=services, **kwargs)
+ self.job_type = 'Sweep' # type: str
+ self.early_termination = early_termination
+ self.inputs = inputs
+ self.limits = limits
+ self.objective = objective
+ self.outputs = outputs
+ self.sampling_algorithm = sampling_algorithm
+ self.search_space = search_space
+ self.trial = trial
+
+
+class SweepJobLimits(JobLimits):
+ """Sweep Job limit class.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar job_limits_type: Required. [Required] JobLimit type.Constant filled by server. Possible
+ values include: "Command", "Sweep".
+ :vartype job_limits_type: str or ~azure.mgmt.machinelearningservices.models.JobLimitsType
+ :ivar timeout: The max run duration in ISO 8601 format, after which the job will be cancelled.
+ Only supports duration with precision as low as Seconds.
+ :vartype timeout: ~datetime.timedelta
+ :ivar max_concurrent_trials: Sweep Job max concurrent trials.
+ :vartype max_concurrent_trials: int
+ :ivar max_total_trials: Sweep Job max total trials.
+ :vartype max_total_trials: int
+ :ivar trial_timeout: Sweep Job Trial timeout value.
+ :vartype trial_timeout: ~datetime.timedelta
+ """
+
+ _validation = {
+ 'job_limits_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'job_limits_type': {'key': 'jobLimitsType', 'type': 'str'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_total_trials': {'key': 'maxTotalTrials', 'type': 'int'},
+ 'trial_timeout': {'key': 'trialTimeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ timeout: Optional[datetime.timedelta] = None,
+ max_concurrent_trials: Optional[int] = None,
+ max_total_trials: Optional[int] = None,
+ trial_timeout: Optional[datetime.timedelta] = None,
+ **kwargs
+ ):
+ """
+ :keyword timeout: The max run duration in ISO 8601 format, after which the job will be
+ cancelled. Only supports duration with precision as low as Seconds.
+ :paramtype timeout: ~datetime.timedelta
+ :keyword max_concurrent_trials: Sweep Job max concurrent trials.
+ :paramtype max_concurrent_trials: int
+ :keyword max_total_trials: Sweep Job max total trials.
+ :paramtype max_total_trials: int
+ :keyword trial_timeout: Sweep Job Trial timeout value.
+ :paramtype trial_timeout: ~datetime.timedelta
+ """
+ super(SweepJobLimits, self).__init__(timeout=timeout, **kwargs)
+ self.job_limits_type = 'Sweep' # type: str
+ self.max_concurrent_trials = max_concurrent_trials
+ self.max_total_trials = max_total_trials
+ self.trial_timeout = trial_timeout
+
+
+class SynapseSpark(Compute):
+ """A SynapseSpark compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.SynapseSparkProperties
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ 'properties': {'key': 'properties', 'type': 'SynapseSparkProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ properties: Optional["SynapseSparkProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ :keyword properties:
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.SynapseSparkProperties
+ """
+ super(SynapseSpark, self).__init__(description=description, resource_id=resource_id, **kwargs)
+ self.compute_type = 'SynapseSpark' # type: str
+ self.properties = properties
+
+
+class SynapseSparkProperties(msrest.serialization.Model):
+ """SynapseSparkProperties.
+
+ :ivar auto_scale_properties: Auto scale properties.
+ :vartype auto_scale_properties: ~azure.mgmt.machinelearningservices.models.AutoScaleProperties
+ :ivar auto_pause_properties: Auto pause properties.
+ :vartype auto_pause_properties: ~azure.mgmt.machinelearningservices.models.AutoPauseProperties
+ :ivar spark_version: Spark version.
+ :vartype spark_version: str
+ :ivar node_count: The number of compute nodes currently assigned to the compute.
+ :vartype node_count: int
+ :ivar node_size: Node size.
+ :vartype node_size: str
+ :ivar node_size_family: Node size family.
+ :vartype node_size_family: str
+ :ivar subscription_id: Azure subscription identifier.
+ :vartype subscription_id: str
+ :ivar resource_group: Name of the resource group in which workspace is located.
+ :vartype resource_group: str
+ :ivar workspace_name: Name of Azure Machine Learning workspace.
+ :vartype workspace_name: str
+ :ivar pool_name: Pool name.
+ :vartype pool_name: str
+ """
+
+ _attribute_map = {
+ 'auto_scale_properties': {'key': 'autoScaleProperties', 'type': 'AutoScaleProperties'},
+ 'auto_pause_properties': {'key': 'autoPauseProperties', 'type': 'AutoPauseProperties'},
+ 'spark_version': {'key': 'sparkVersion', 'type': 'str'},
+ 'node_count': {'key': 'nodeCount', 'type': 'int'},
+ 'node_size': {'key': 'nodeSize', 'type': 'str'},
+ 'node_size_family': {'key': 'nodeSizeFamily', 'type': 'str'},
+ 'subscription_id': {'key': 'subscriptionId', 'type': 'str'},
+ 'resource_group': {'key': 'resourceGroup', 'type': 'str'},
+ 'workspace_name': {'key': 'workspaceName', 'type': 'str'},
+ 'pool_name': {'key': 'poolName', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ auto_scale_properties: Optional["AutoScaleProperties"] = None,
+ auto_pause_properties: Optional["AutoPauseProperties"] = None,
+ spark_version: Optional[str] = None,
+ node_count: Optional[int] = None,
+ node_size: Optional[str] = None,
+ node_size_family: Optional[str] = None,
+ subscription_id: Optional[str] = None,
+ resource_group: Optional[str] = None,
+ workspace_name: Optional[str] = None,
+ pool_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword auto_scale_properties: Auto scale properties.
+ :paramtype auto_scale_properties:
+ ~azure.mgmt.machinelearningservices.models.AutoScaleProperties
+ :keyword auto_pause_properties: Auto pause properties.
+ :paramtype auto_pause_properties:
+ ~azure.mgmt.machinelearningservices.models.AutoPauseProperties
+ :keyword spark_version: Spark version.
+ :paramtype spark_version: str
+ :keyword node_count: The number of compute nodes currently assigned to the compute.
+ :paramtype node_count: int
+ :keyword node_size: Node size.
+ :paramtype node_size: str
+ :keyword node_size_family: Node size family.
+ :paramtype node_size_family: str
+ :keyword subscription_id: Azure subscription identifier.
+ :paramtype subscription_id: str
+ :keyword resource_group: Name of the resource group in which workspace is located.
+ :paramtype resource_group: str
+ :keyword workspace_name: Name of Azure Machine Learning workspace.
+ :paramtype workspace_name: str
+ :keyword pool_name: Pool name.
+ :paramtype pool_name: str
+ """
+ super(SynapseSparkProperties, self).__init__(**kwargs)
+ self.auto_scale_properties = auto_scale_properties
+ self.auto_pause_properties = auto_pause_properties
+ self.spark_version = spark_version
+ self.node_count = node_count
+ self.node_size = node_size
+ self.node_size_family = node_size_family
+ self.subscription_id = subscription_id
+ self.resource_group = resource_group
+ self.workspace_name = workspace_name
+ self.pool_name = pool_name
+
+
+class SystemData(msrest.serialization.Model):
+ """Metadata pertaining to creation and last modification of the resource.
+
+ :ivar created_by: The identity that created the resource.
+ :vartype created_by: str
+ :ivar created_by_type: The type of identity that created the resource. Possible values include:
+ "User", "Application", "ManagedIdentity", "Key".
+ :vartype created_by_type: str or ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :ivar created_at: The timestamp of resource creation (UTC).
+ :vartype created_at: ~datetime.datetime
+ :ivar last_modified_by: The identity that last modified the resource.
+ :vartype last_modified_by: str
+ :ivar last_modified_by_type: The type of identity that last modified the resource. Possible
+ values include: "User", "Application", "ManagedIdentity", "Key".
+ :vartype last_modified_by_type: str or ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :ivar last_modified_at: The timestamp of resource last modification (UTC).
+ :vartype last_modified_at: ~datetime.datetime
+ """
+
+ _attribute_map = {
+ 'created_by': {'key': 'createdBy', 'type': 'str'},
+ 'created_by_type': {'key': 'createdByType', 'type': 'str'},
+ 'created_at': {'key': 'createdAt', 'type': 'iso-8601'},
+ 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'},
+ 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'},
+ 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'},
+ }
+
+ def __init__(
+ self,
+ *,
+ created_by: Optional[str] = None,
+ created_by_type: Optional[Union[str, "CreatedByType"]] = None,
+ created_at: Optional[datetime.datetime] = None,
+ last_modified_by: Optional[str] = None,
+ last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None,
+ last_modified_at: Optional[datetime.datetime] = None,
+ **kwargs
+ ):
+ """
+ :keyword created_by: The identity that created the resource.
+ :paramtype created_by: str
+ :keyword created_by_type: The type of identity that created the resource. Possible values
+ include: "User", "Application", "ManagedIdentity", "Key".
+ :paramtype created_by_type: str or ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :keyword created_at: The timestamp of resource creation (UTC).
+ :paramtype created_at: ~datetime.datetime
+ :keyword last_modified_by: The identity that last modified the resource.
+ :paramtype last_modified_by: str
+ :keyword last_modified_by_type: The type of identity that last modified the resource. Possible
+ values include: "User", "Application", "ManagedIdentity", "Key".
+ :paramtype last_modified_by_type: str or
+ ~azure.mgmt.machinelearningservices.models.CreatedByType
+ :keyword last_modified_at: The timestamp of resource last modification (UTC).
+ :paramtype last_modified_at: ~datetime.datetime
+ """
+ super(SystemData, self).__init__(**kwargs)
+ self.created_by = created_by
+ self.created_by_type = created_by_type
+ self.created_at = created_at
+ self.last_modified_by = last_modified_by
+ self.last_modified_by_type = last_modified_by_type
+ self.last_modified_at = last_modified_at
+
+
+class SystemService(msrest.serialization.Model):
+ """A system service running on a compute.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar system_service_type: The type of this system service.
+ :vartype system_service_type: str
+ :ivar public_ip_address: Public IP address.
+ :vartype public_ip_address: str
+ :ivar version: The version for this type.
+ :vartype version: str
+ """
+
+ _validation = {
+ 'system_service_type': {'readonly': True},
+ 'public_ip_address': {'readonly': True},
+ 'version': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'system_service_type': {'key': 'systemServiceType', 'type': 'str'},
+ 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'},
+ 'version': {'key': 'version', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(SystemService, self).__init__(**kwargs)
+ self.system_service_type = None
+ self.public_ip_address = None
+ self.version = None
+
+
+class TableVerticalFeaturizationSettings(FeaturizationSettings):
+ """Featurization Configuration.
+
+ :ivar dataset_language: Dataset language, useful for the text data.
+ :vartype dataset_language: str
+ :ivar blocked_transformers: These transformers shall not be used in featurization.
+ :vartype blocked_transformers: list[str or
+ ~azure.mgmt.machinelearningservices.models.BlockedTransformers]
+ :ivar column_name_and_types: Dictionary of column name and its type (int, float, string,
+ datetime etc).
+ :vartype column_name_and_types: dict[str, str]
+ :ivar enable_dnn_featurization: Determines whether to use Dnn based featurizers for data
+ featurization.
+ :vartype enable_dnn_featurization: bool
+ :ivar mode: Featurization mode - User can keep the default 'Auto' mode and AutoML will take
+ care of necessary transformation of the data in featurization phase.
+ If 'Off' is selected then no featurization is done.
+ If 'Custom' is selected then user can specify additional inputs to customize how featurization
+ is done. Possible values include: "Auto", "Custom", "Off".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.FeaturizationMode
+ :ivar transformer_params: User can specify additional transformers to be used along with the
+ columns to which it would be applied and parameters for the transformer constructor.
+ :vartype transformer_params: dict[str,
+ list[~azure.mgmt.machinelearningservices.models.ColumnTransformer]]
+ """
+
+ _attribute_map = {
+ 'dataset_language': {'key': 'datasetLanguage', 'type': 'str'},
+ 'blocked_transformers': {'key': 'blockedTransformers', 'type': '[str]'},
+ 'column_name_and_types': {'key': 'columnNameAndTypes', 'type': '{str}'},
+ 'enable_dnn_featurization': {'key': 'enableDnnFeaturization', 'type': 'bool'},
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'transformer_params': {'key': 'transformerParams', 'type': '{[ColumnTransformer]}'},
+ }
+
+ def __init__(
+ self,
+ *,
+ dataset_language: Optional[str] = None,
+ blocked_transformers: Optional[List[Union[str, "BlockedTransformers"]]] = None,
+ column_name_and_types: Optional[Dict[str, str]] = None,
+ enable_dnn_featurization: Optional[bool] = False,
+ mode: Optional[Union[str, "FeaturizationMode"]] = None,
+ transformer_params: Optional[Dict[str, List["ColumnTransformer"]]] = None,
+ **kwargs
+ ):
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ :keyword blocked_transformers: These transformers shall not be used in featurization.
+ :paramtype blocked_transformers: list[str or
+ ~azure.mgmt.machinelearningservices.models.BlockedTransformers]
+ :keyword column_name_and_types: Dictionary of column name and its type (int, float, string,
+ datetime etc).
+ :paramtype column_name_and_types: dict[str, str]
+ :keyword enable_dnn_featurization: Determines whether to use Dnn based featurizers for data
+ featurization.
+ :paramtype enable_dnn_featurization: bool
+ :keyword mode: Featurization mode - User can keep the default 'Auto' mode and AutoML will take
+ care of necessary transformation of the data in featurization phase.
+ If 'Off' is selected then no featurization is done.
+ If 'Custom' is selected then user can specify additional inputs to customize how featurization
+ is done. Possible values include: "Auto", "Custom", "Off".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.FeaturizationMode
+ :keyword transformer_params: User can specify additional transformers to be used along with the
+ columns to which it would be applied and parameters for the transformer constructor.
+ :paramtype transformer_params: dict[str,
+ list[~azure.mgmt.machinelearningservices.models.ColumnTransformer]]
+ """
+ super(TableVerticalFeaturizationSettings, self).__init__(dataset_language=dataset_language, **kwargs)
+ self.blocked_transformers = blocked_transformers
+ self.column_name_and_types = column_name_and_types
+ self.enable_dnn_featurization = enable_dnn_featurization
+ self.mode = mode
+ self.transformer_params = transformer_params
+
+
+class TableVerticalLimitSettings(msrest.serialization.Model):
+ """Job execution constraints.
+
+ :ivar enable_early_termination: Enable early termination, determines whether or not if
+ AutoMLJob will terminate early if there is no score improvement in last 20 iterations.
+ :vartype enable_early_termination: bool
+ :ivar exit_score: Exit score for the AutoML job.
+ :vartype exit_score: float
+ :ivar max_concurrent_trials: Maximum Concurrent iterations.
+ :vartype max_concurrent_trials: int
+ :ivar max_cores_per_trial: Max cores per iteration.
+ :vartype max_cores_per_trial: int
+ :ivar max_trials: Number of iterations.
+ :vartype max_trials: int
+ :ivar timeout: AutoML job timeout.
+ :vartype timeout: ~datetime.timedelta
+ :ivar trial_timeout: Iteration timeout.
+ :vartype trial_timeout: ~datetime.timedelta
+ """
+
+ _attribute_map = {
+ 'enable_early_termination': {'key': 'enableEarlyTermination', 'type': 'bool'},
+ 'exit_score': {'key': 'exitScore', 'type': 'float'},
+ 'max_concurrent_trials': {'key': 'maxConcurrentTrials', 'type': 'int'},
+ 'max_cores_per_trial': {'key': 'maxCoresPerTrial', 'type': 'int'},
+ 'max_trials': {'key': 'maxTrials', 'type': 'int'},
+ 'timeout': {'key': 'timeout', 'type': 'duration'},
+ 'trial_timeout': {'key': 'trialTimeout', 'type': 'duration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ enable_early_termination: Optional[bool] = True,
+ exit_score: Optional[float] = None,
+ max_concurrent_trials: Optional[int] = 1,
+ max_cores_per_trial: Optional[int] = -1,
+ max_trials: Optional[int] = 1000,
+ timeout: Optional[datetime.timedelta] = "PT6H",
+ trial_timeout: Optional[datetime.timedelta] = "PT30M",
+ **kwargs
+ ):
+ """
+ :keyword enable_early_termination: Enable early termination, determines whether or not if
+ AutoMLJob will terminate early if there is no score improvement in last 20 iterations.
+ :paramtype enable_early_termination: bool
+ :keyword exit_score: Exit score for the AutoML job.
+ :paramtype exit_score: float
+ :keyword max_concurrent_trials: Maximum Concurrent iterations.
+ :paramtype max_concurrent_trials: int
+ :keyword max_cores_per_trial: Max cores per iteration.
+ :paramtype max_cores_per_trial: int
+ :keyword max_trials: Number of iterations.
+ :paramtype max_trials: int
+ :keyword timeout: AutoML job timeout.
+ :paramtype timeout: ~datetime.timedelta
+ :keyword trial_timeout: Iteration timeout.
+ :paramtype trial_timeout: ~datetime.timedelta
+ """
+ super(TableVerticalLimitSettings, self).__init__(**kwargs)
+ self.enable_early_termination = enable_early_termination
+ self.exit_score = exit_score
+ self.max_concurrent_trials = max_concurrent_trials
+ self.max_cores_per_trial = max_cores_per_trial
+ self.max_trials = max_trials
+ self.timeout = timeout
+ self.trial_timeout = trial_timeout
+
+
+class TargetUtilizationScaleSettings(OnlineScaleSettings):
+ """TargetUtilizationScaleSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar scale_type: Required. [Required] Type of deployment scaling algorithm.Constant filled by
+ server. Possible values include: "Default", "TargetUtilization".
+ :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.ScaleType
+ :ivar max_instances: The maximum number of instances that the deployment can scale to. The
+ quota will be reserved for max_instances.
+ :vartype max_instances: int
+ :ivar min_instances: The minimum number of instances to always be present.
+ :vartype min_instances: int
+ :ivar polling_interval: The polling interval in ISO 8691 format. Only supports duration with
+ precision as low as Seconds.
+ :vartype polling_interval: ~datetime.timedelta
+ :ivar target_utilization_percentage: Target CPU usage for the autoscaler.
+ :vartype target_utilization_percentage: int
+ """
+
+ _validation = {
+ 'scale_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'scale_type': {'key': 'scaleType', 'type': 'str'},
+ 'max_instances': {'key': 'maxInstances', 'type': 'int'},
+ 'min_instances': {'key': 'minInstances', 'type': 'int'},
+ 'polling_interval': {'key': 'pollingInterval', 'type': 'duration'},
+ 'target_utilization_percentage': {'key': 'targetUtilizationPercentage', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ max_instances: Optional[int] = 1,
+ min_instances: Optional[int] = 1,
+ polling_interval: Optional[datetime.timedelta] = "PT1S",
+ target_utilization_percentage: Optional[int] = 70,
+ **kwargs
+ ):
+ """
+ :keyword max_instances: The maximum number of instances that the deployment can scale to. The
+ quota will be reserved for max_instances.
+ :paramtype max_instances: int
+ :keyword min_instances: The minimum number of instances to always be present.
+ :paramtype min_instances: int
+ :keyword polling_interval: The polling interval in ISO 8691 format. Only supports duration with
+ precision as low as Seconds.
+ :paramtype polling_interval: ~datetime.timedelta
+ :keyword target_utilization_percentage: Target CPU usage for the autoscaler.
+ :paramtype target_utilization_percentage: int
+ """
+ super(TargetUtilizationScaleSettings, self).__init__(**kwargs)
+ self.scale_type = 'TargetUtilization' # type: str
+ self.max_instances = max_instances
+ self.min_instances = min_instances
+ self.polling_interval = polling_interval
+ self.target_utilization_percentage = target_utilization_percentage
+
+
+class TensorFlow(DistributionConfiguration):
+ """TensorFlow distribution configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar distribution_type: Required. [Required] Specifies the type of distribution
+ framework.Constant filled by server. Possible values include: "PyTorch", "TensorFlow", "Mpi".
+ :vartype distribution_type: str or ~azure.mgmt.machinelearningservices.models.DistributionType
+ :ivar parameter_server_count: Number of parameter server tasks.
+ :vartype parameter_server_count: int
+ :ivar worker_count: Number of workers. If not specified, will default to the instance count.
+ :vartype worker_count: int
+ """
+
+ _validation = {
+ 'distribution_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'distribution_type': {'key': 'distributionType', 'type': 'str'},
+ 'parameter_server_count': {'key': 'parameterServerCount', 'type': 'int'},
+ 'worker_count': {'key': 'workerCount', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ parameter_server_count: Optional[int] = 0,
+ worker_count: Optional[int] = None,
+ **kwargs
+ ):
+ """
+ :keyword parameter_server_count: Number of parameter server tasks.
+ :paramtype parameter_server_count: int
+ :keyword worker_count: Number of workers. If not specified, will default to the instance count.
+ :paramtype worker_count: int
+ """
+ super(TensorFlow, self).__init__(**kwargs)
+ self.distribution_type = 'TensorFlow' # type: str
+ self.parameter_server_count = parameter_server_count
+ self.worker_count = worker_count
+
+
+class TextClassification(AutoMLVertical, NlpVertical):
+ """Text Classification task in AutoML NLP vertical.
+NLP - Natural Language Processing.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-Classification task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ }
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ featurization_settings: Optional["NlpVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["NlpVerticalLimitSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ primary_metric: Optional[Union[str, "ClassificationPrimaryMetrics"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword primary_metric: Primary metric for Text-Classification task. Possible values include:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+ super(TextClassification, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, featurization_settings=featurization_settings, limit_settings=limit_settings, validation_data=validation_data, **kwargs)
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.validation_data = validation_data
+ self.task_type = 'TextClassification' # type: str
+ self.primary_metric = primary_metric
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class TextClassificationMultilabel(AutoMLVertical, NlpVertical):
+ """Text Classification Multilabel task in AutoML NLP vertical.
+NLP - Natural Language Processing.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-Classification-Multilabel task.
+ Currently only Accuracy is supported as primary metric, hence user need not set it explicitly.
+ Possible values include: "AUCWeighted", "Accuracy", "NormMacroRecall",
+ "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted", "IOU".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ 'primary_metric': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ featurization_settings: Optional["NlpVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["NlpVerticalLimitSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(TextClassificationMultilabel, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, featurization_settings=featurization_settings, limit_settings=limit_settings, validation_data=validation_data, **kwargs)
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.validation_data = validation_data
+ self.task_type = 'TextClassificationMultilabel' # type: str
+ self.primary_metric = None
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class TextNer(AutoMLVertical, NlpVertical):
+ """Text-NER task in AutoML NLP vertical.
+NER - Named Entity Recognition.
+NLP - Natural Language Processing.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :vartype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :ivar target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :vartype target_column_name: str
+ :ivar task_type: Required. [Required] Task type for AutoMLJob.Constant filled by server.
+ Possible values include: "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: Required. [Required] Training data input.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-NER task.
+ Only 'Accuracy' is supported for Text-NER, so user need not set this explicitly. Possible
+ values include: "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ 'task_type': {'required': True},
+ 'training_data': {'required': True},
+ 'primary_metric': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'featurization_settings': {'key': 'featurizationSettings', 'type': 'NlpVerticalFeaturizationSettings'},
+ 'limit_settings': {'key': 'limitSettings', 'type': 'NlpVerticalLimitSettings'},
+ 'validation_data': {'key': 'validationData', 'type': 'MLTableJobInput'},
+ 'log_verbosity': {'key': 'logVerbosity', 'type': 'str'},
+ 'target_column_name': {'key': 'targetColumnName', 'type': 'str'},
+ 'task_type': {'key': 'taskType', 'type': 'str'},
+ 'training_data': {'key': 'trainingData', 'type': 'MLTableJobInput'},
+ 'primary_metric': {'key': 'primaryMetric', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "MLTableJobInput",
+ featurization_settings: Optional["NlpVerticalFeaturizationSettings"] = None,
+ limit_settings: Optional["NlpVerticalLimitSettings"] = None,
+ validation_data: Optional["MLTableJobInput"] = None,
+ log_verbosity: Optional[Union[str, "LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword featurization_settings: Featurization inputs needed for AutoML job.
+ :paramtype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword limit_settings: Execution constraints for AutoMLJob.
+ :paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword validation_data: Validation data inputs.
+ :paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword log_verbosity: Log verbosity for the job. Possible values include: "NotSet", "Debug",
+ "Info", "Warning", "Error", "Critical".
+ :paramtype log_verbosity: str or ~azure.mgmt.machinelearningservices.models.LogVerbosity
+ :keyword target_column_name: Target column name: This is prediction values column.
+ Also known as label column name in context of classification tasks.
+ :paramtype target_column_name: str
+ :keyword training_data: Required. [Required] Training data input.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ """
+ super(TextNer, self).__init__(log_verbosity=log_verbosity, target_column_name=target_column_name, training_data=training_data, featurization_settings=featurization_settings, limit_settings=limit_settings, validation_data=validation_data, **kwargs)
+ self.featurization_settings = featurization_settings
+ self.limit_settings = limit_settings
+ self.validation_data = validation_data
+ self.task_type = 'TextNER' # type: str
+ self.primary_metric = None
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.training_data = training_data
+
+
+class TrialComponent(msrest.serialization.Model):
+ """Trial component definition.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar code_id: ARM resource ID of the code asset.
+ :vartype code_id: str
+ :ivar command: Required. [Required] The command to execute on startup of the job. eg. "python
+ train.py".
+ :vartype command: str
+ :ivar distribution: Distribution configuration of the job. If set, this should be one of Mpi,
+ Tensorflow, PyTorch, or null.
+ :vartype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :ivar environment_id: Required. [Required] The ARM resource ID of the Environment specification
+ for the job.
+ :vartype environment_id: str
+ :ivar environment_variables: Environment variables included in the job.
+ :vartype environment_variables: dict[str, str]
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+
+ _validation = {
+ 'command': {'required': True, 'min_length': 1, 'pattern': r'[a-zA-Z0-9_]'},
+ 'environment_id': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'code_id': {'key': 'codeId', 'type': 'str'},
+ 'command': {'key': 'command', 'type': 'str'},
+ 'distribution': {'key': 'distribution', 'type': 'DistributionConfiguration'},
+ 'environment_id': {'key': 'environmentId', 'type': 'str'},
+ 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'},
+ 'resources': {'key': 'resources', 'type': 'JobResourceConfiguration'},
+ }
+
+ def __init__(
+ self,
+ *,
+ command: str,
+ environment_id: str,
+ code_id: Optional[str] = None,
+ distribution: Optional["DistributionConfiguration"] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ resources: Optional["JobResourceConfiguration"] = None,
+ **kwargs
+ ):
+ """
+ :keyword code_id: ARM resource ID of the code asset.
+ :paramtype code_id: str
+ :keyword command: Required. [Required] The command to execute on startup of the job. eg.
+ "python train.py".
+ :paramtype command: str
+ :keyword distribution: Distribution configuration of the job. If set, this should be one of
+ Mpi, Tensorflow, PyTorch, or null.
+ :paramtype distribution: ~azure.mgmt.machinelearningservices.models.DistributionConfiguration
+ :keyword environment_id: Required. [Required] The ARM resource ID of the Environment
+ specification for the job.
+ :paramtype environment_id: str
+ :keyword environment_variables: Environment variables included in the job.
+ :paramtype environment_variables: dict[str, str]
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ """
+ super(TrialComponent, self).__init__(**kwargs)
+ self.code_id = code_id
+ self.command = command
+ self.distribution = distribution
+ self.environment_id = environment_id
+ self.environment_variables = environment_variables
+ self.resources = resources
+
+
+class TritonModelJobInput(JobInput, AssetJobInput):
+ """TritonModelJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(TritonModelJobInput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_input_type = 'triton_model' # type: str
+ self.description = description
+
+
+class TritonModelJobOutput(JobOutput, AssetJobOutput):
+ """TritonModelJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(TritonModelJobOutput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_output_type = 'triton_model' # type: str
+ self.description = description
+
+
+class TruncationSelectionPolicy(EarlyTerminationPolicy):
+ """Defines an early termination policy that cancels a given percentage of runs at each evaluation interval.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :vartype delay_evaluation: int
+ :ivar evaluation_interval: Interval (number of runs) between policy evaluations.
+ :vartype evaluation_interval: int
+ :ivar policy_type: Required. [Required] Name of policy configuration.Constant filled by server.
+ Possible values include: "Bandit", "MedianStopping", "TruncationSelection".
+ :vartype policy_type: str or
+ ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicyType
+ :ivar truncation_percentage: The percentage of runs to cancel at each evaluation interval.
+ :vartype truncation_percentage: int
+ """
+
+ _validation = {
+ 'policy_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'delay_evaluation': {'key': 'delayEvaluation', 'type': 'int'},
+ 'evaluation_interval': {'key': 'evaluationInterval', 'type': 'int'},
+ 'policy_type': {'key': 'policyType', 'type': 'str'},
+ 'truncation_percentage': {'key': 'truncationPercentage', 'type': 'int'},
+ }
+
+ def __init__(
+ self,
+ *,
+ delay_evaluation: Optional[int] = 0,
+ evaluation_interval: Optional[int] = 0,
+ truncation_percentage: Optional[int] = 0,
+ **kwargs
+ ):
+ """
+ :keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
+ :paramtype delay_evaluation: int
+ :keyword evaluation_interval: Interval (number of runs) between policy evaluations.
+ :paramtype evaluation_interval: int
+ :keyword truncation_percentage: The percentage of runs to cancel at each evaluation interval.
+ :paramtype truncation_percentage: int
+ """
+ super(TruncationSelectionPolicy, self).__init__(delay_evaluation=delay_evaluation, evaluation_interval=evaluation_interval, **kwargs)
+ self.policy_type = 'TruncationSelection' # type: str
+ self.truncation_percentage = truncation_percentage
+
+
+class UpdateWorkspaceQuotas(msrest.serialization.Model):
+ """The properties for update Quota response.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar limit: The maximum permitted quota of the resource.
+ :vartype limit: long
+ :ivar unit: An enum describing the unit of quota measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.QuotaUnit
+ :ivar status: Status of update workspace quota. Possible values include: "Undefined",
+ "Success", "Failure", "InvalidQuotaBelowClusterMinimum",
+ "InvalidQuotaExceedsSubscriptionLimit", "InvalidVMFamilyName", "OperationNotSupportedForSku",
+ "OperationNotEnabledForRegion".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.Status
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'type': {'readonly': True},
+ 'unit': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ 'status': {'key': 'status', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ limit: Optional[int] = None,
+ status: Optional[Union[str, "Status"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword limit: The maximum permitted quota of the resource.
+ :paramtype limit: long
+ :keyword status: Status of update workspace quota. Possible values include: "Undefined",
+ "Success", "Failure", "InvalidQuotaBelowClusterMinimum",
+ "InvalidQuotaExceedsSubscriptionLimit", "InvalidVMFamilyName", "OperationNotSupportedForSku",
+ "OperationNotEnabledForRegion".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.Status
+ """
+ super(UpdateWorkspaceQuotas, self).__init__(**kwargs)
+ self.id = None
+ self.type = None
+ self.limit = limit
+ self.unit = None
+ self.status = status
+
+
+class UpdateWorkspaceQuotasResult(msrest.serialization.Model):
+ """The result of update workspace quota.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The list of workspace quota update result.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.UpdateWorkspaceQuotas]
+ :ivar next_link: The URI to fetch the next page of workspace quota update result. Call
+ ListNext() with this to fetch the next page of Workspace Quota update result.
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[UpdateWorkspaceQuotas]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UpdateWorkspaceQuotasResult, self).__init__(**kwargs)
+ self.value = None
+ self.next_link = None
+
+
+class UriFileDataVersion(DataVersionBaseProperties):
+ """uri-file data version entity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_uri: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ """
+ super(UriFileDataVersion, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, data_uri=data_uri, **kwargs)
+ self.data_type = 'uri_file' # type: str
+
+
+class UriFileJobInput(JobInput, AssetJobInput):
+ """UriFileJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(UriFileJobInput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_input_type = 'uri_file' # type: str
+ self.description = description
+
+
+class UriFileJobOutput(JobOutput, AssetJobOutput):
+ """UriFileJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(UriFileJobOutput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_output_type = 'uri_file' # type: str
+ self.description = description
+
+
+class UriFolderDataVersion(DataVersionBaseProperties):
+ """uri-folder data version entity.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar is_anonymous: If the name version are system generated (anonymous registration).
+ :vartype is_anonymous: bool
+ :ivar is_archived: Is the asset archived?.
+ :vartype is_archived: bool
+ :ivar data_type: Required. [Required] Specifies the type of data.Constant filled by server.
+ Possible values include: "uri_file", "uri_folder", "mltable".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
+ :ivar data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :vartype data_uri: str
+ """
+
+ _validation = {
+ 'data_type': {'required': True},
+ 'data_uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ }
+
+ _attribute_map = {
+ 'description': {'key': 'description', 'type': 'str'},
+ 'properties': {'key': 'properties', 'type': '{str}'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'is_anonymous': {'key': 'isAnonymous', 'type': 'bool'},
+ 'is_archived': {'key': 'isArchived', 'type': 'bool'},
+ 'data_type': {'key': 'dataType', 'type': 'str'},
+ 'data_uri': {'key': 'dataUri', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ data_uri: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: Optional[bool] = False,
+ is_archived: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: A set of tags. Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword is_anonymous: If the name version are system generated (anonymous registration).
+ :paramtype is_anonymous: bool
+ :keyword is_archived: Is the asset archived?.
+ :paramtype is_archived: bool
+ :keyword data_uri: Required. [Required] Uri of the data. Usage/meaning depends on
+ Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
+ :paramtype data_uri: str
+ """
+ super(UriFolderDataVersion, self).__init__(description=description, properties=properties, tags=tags, is_anonymous=is_anonymous, is_archived=is_archived, data_uri=data_uri, **kwargs)
+ self.data_type = 'uri_folder' # type: str
+
+
+class UriFolderJobInput(JobInput, AssetJobInput):
+ """UriFolderJobInput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :ivar uri: Required. [Required] Input Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the input.
+ :vartype description: str
+ :ivar job_input_type: Required. [Required] Specifies the type of job.Constant filled by server.
+ Possible values include: "literal", "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ """
+
+ _validation = {
+ 'uri': {'required': True, 'pattern': r'[a-zA-Z0-9_]'},
+ 'job_input_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_input_type': {'key': 'jobInputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ uri: str,
+ mode: Optional[Union[str, "InputDeliveryMode"]] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Input Asset Delivery Mode. Possible values include: "ReadOnlyMount",
+ "ReadWriteMount", "Download", "Direct", "EvalMount", "EvalDownload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.InputDeliveryMode
+ :keyword uri: Required. [Required] Input Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the input.
+ :paramtype description: str
+ """
+ super(UriFolderJobInput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_input_type = 'uri_folder' # type: str
+ self.description = description
+
+
+class UriFolderJobOutput(JobOutput, AssetJobOutput):
+ """UriFolderJobOutput.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :ivar uri: Output Asset URI.
+ :vartype uri: str
+ :ivar description: Description for the output.
+ :vartype description: str
+ :ivar job_output_type: Required. [Required] Specifies the type of job.Constant filled by
+ server. Possible values include: "uri_file", "uri_folder", "mltable", "custom_model",
+ "mlflow_model", "triton_model".
+ :vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
+ """
+
+ _validation = {
+ 'job_output_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'mode': {'key': 'mode', 'type': 'str'},
+ 'uri': {'key': 'uri', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'job_output_type': {'key': 'jobOutputType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ description: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword mode: Output Asset Delivery Mode. Possible values include: "ReadWriteMount", "Upload".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
+ :keyword uri: Output Asset URI.
+ :paramtype uri: str
+ :keyword description: Description for the output.
+ :paramtype description: str
+ """
+ super(UriFolderJobOutput, self).__init__(description=description, mode=mode, uri=uri, **kwargs)
+ self.mode = mode
+ self.uri = uri
+ self.job_output_type = 'uri_folder' # type: str
+ self.description = description
+
+
+class Usage(msrest.serialization.Model):
+ """Describes AML Resource Usage.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Specifies the resource ID.
+ :vartype id: str
+ :ivar aml_workspace_location: Region of the AML workspace in the id.
+ :vartype aml_workspace_location: str
+ :ivar type: Specifies the resource type.
+ :vartype type: str
+ :ivar unit: An enum describing the unit of usage measurement. Possible values include: "Count".
+ :vartype unit: str or ~azure.mgmt.machinelearningservices.models.UsageUnit
+ :ivar current_value: The current usage of the resource.
+ :vartype current_value: long
+ :ivar limit: The maximum permitted usage of the resource.
+ :vartype limit: long
+ :ivar name: The name of the type of usage.
+ :vartype name: ~azure.mgmt.machinelearningservices.models.UsageName
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'aml_workspace_location': {'readonly': True},
+ 'type': {'readonly': True},
+ 'unit': {'readonly': True},
+ 'current_value': {'readonly': True},
+ 'limit': {'readonly': True},
+ 'name': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'aml_workspace_location': {'key': 'amlWorkspaceLocation', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'unit': {'key': 'unit', 'type': 'str'},
+ 'current_value': {'key': 'currentValue', 'type': 'long'},
+ 'limit': {'key': 'limit', 'type': 'long'},
+ 'name': {'key': 'name', 'type': 'UsageName'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(Usage, self).__init__(**kwargs)
+ self.id = None
+ self.aml_workspace_location = None
+ self.type = None
+ self.unit = None
+ self.current_value = None
+ self.limit = None
+ self.name = None
+
+
+class UsageName(msrest.serialization.Model):
+ """The Usage Names.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value: The name of the resource.
+ :vartype value: str
+ :ivar localized_value: The localized name of the resource.
+ :vartype localized_value: str
+ """
+
+ _validation = {
+ 'value': {'readonly': True},
+ 'localized_value': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': 'str'},
+ 'localized_value': {'key': 'localizedValue', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UsageName, self).__init__(**kwargs)
+ self.value = None
+ self.localized_value = None
+
+
+class UserAccountCredentials(msrest.serialization.Model):
+ """Settings for user account that gets created on each on the nodes of a compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar admin_user_name: Required. Name of the administrator user account which can be used to
+ SSH to nodes.
+ :vartype admin_user_name: str
+ :ivar admin_user_ssh_public_key: SSH public key of the administrator user account.
+ :vartype admin_user_ssh_public_key: str
+ :ivar admin_user_password: Password of the administrator user account.
+ :vartype admin_user_password: str
+ """
+
+ _validation = {
+ 'admin_user_name': {'required': True},
+ }
+
+ _attribute_map = {
+ 'admin_user_name': {'key': 'adminUserName', 'type': 'str'},
+ 'admin_user_ssh_public_key': {'key': 'adminUserSshPublicKey', 'type': 'str'},
+ 'admin_user_password': {'key': 'adminUserPassword', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ admin_user_name: str,
+ admin_user_ssh_public_key: Optional[str] = None,
+ admin_user_password: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword admin_user_name: Required. Name of the administrator user account which can be used to
+ SSH to nodes.
+ :paramtype admin_user_name: str
+ :keyword admin_user_ssh_public_key: SSH public key of the administrator user account.
+ :paramtype admin_user_ssh_public_key: str
+ :keyword admin_user_password: Password of the administrator user account.
+ :paramtype admin_user_password: str
+ """
+ super(UserAccountCredentials, self).__init__(**kwargs)
+ self.admin_user_name = admin_user_name
+ self.admin_user_ssh_public_key = admin_user_ssh_public_key
+ self.admin_user_password = admin_user_password
+
+
+class UserAssignedIdentity(msrest.serialization.Model):
+ """User assigned identity properties.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar principal_id: The principal ID of the assigned identity.
+ :vartype principal_id: str
+ :ivar client_id: The client ID of the assigned identity.
+ :vartype client_id: str
+ """
+
+ _validation = {
+ 'principal_id': {'readonly': True},
+ 'client_id': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'principal_id': {'key': 'principalId', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UserAssignedIdentity, self).__init__(**kwargs)
+ self.principal_id = None
+ self.client_id = None
+
+
+class UserIdentity(IdentityConfiguration):
+ """User identity configuration.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar identity_type: Required. [Required] Specifies the type of identity framework.Constant
+ filled by server. Possible values include: "Managed", "AMLToken", "UserIdentity".
+ :vartype identity_type: str or
+ ~azure.mgmt.machinelearningservices.models.IdentityConfigurationType
+ """
+
+ _validation = {
+ 'identity_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'identity_type': {'key': 'identityType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ **kwargs
+ ):
+ """
+ """
+ super(UserIdentity, self).__init__(**kwargs)
+ self.identity_type = 'UserIdentity' # type: str
+
+
+class UsernamePasswordAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """UsernamePasswordAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Required. Authentication type of the connection target.Constant filled by
+ server. Possible values include: "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :ivar target:
+ :vartype target: str
+ :ivar value: Value details of the workspace connection.
+ :vartype value: str
+ :ivar value_format: format for the workspace connection value. Possible values include: "JSON".
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionUsernamePassword
+ """
+
+ _validation = {
+ 'auth_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'auth_type': {'key': 'authType', 'type': 'str'},
+ 'category': {'key': 'category', 'type': 'str'},
+ 'target': {'key': 'target', 'type': 'str'},
+ 'value': {'key': 'value', 'type': 'str'},
+ 'value_format': {'key': 'valueFormat', 'type': 'str'},
+ 'credentials': {'key': 'credentials', 'type': 'WorkspaceConnectionUsernamePassword'},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "ValueFormat"]] = None,
+ credentials: Optional["WorkspaceConnectionUsernamePassword"] = None,
+ **kwargs
+ ):
+ """
+ :keyword category: Category of the connection. Possible values include: "PythonFeed",
+ "ContainerRegistry", "Git".
+ :paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
+ :keyword target:
+ :paramtype target: str
+ :keyword value: Value details of the workspace connection.
+ :paramtype value: str
+ :keyword value_format: format for the workspace connection value. Possible values include:
+ "JSON".
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionUsernamePassword
+ """
+ super(UsernamePasswordAuthTypeWorkspaceConnectionProperties, self).__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type = 'UsernamePassword' # type: str
+ self.credentials = credentials
+
+
+class VirtualMachineSchema(msrest.serialization.Model):
+ """VirtualMachineSchema.
+
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ """
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'VirtualMachineSchemaProperties'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["VirtualMachineSchemaProperties"] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ """
+ super(VirtualMachineSchema, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class VirtualMachine(Compute, VirtualMachineSchema):
+ """A Machine Learning compute based on Azure Virtual Machines.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ :ivar compute_location: Location for the underlying compute.
+ :vartype compute_location: str
+ :ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
+ Updating, Provisioning, Succeeded, and Failed. Possible values include: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar description: The description of the Machine Learning compute.
+ :vartype description: str
+ :ivar created_on: The time at which the compute was created.
+ :vartype created_on: ~datetime.datetime
+ :ivar modified_on: The time at which the compute was last modified.
+ :vartype modified_on: ~datetime.datetime
+ :ivar resource_id: ARM resource id of the underlying compute.
+ :vartype resource_id: str
+ :ivar provisioning_errors: Errors during provisioning.
+ :vartype provisioning_errors: list[~azure.mgmt.machinelearningservices.models.ErrorResponse]
+ :ivar is_attached_compute: Indicating whether the compute was provisioned by user and brought
+ from outside if true, or machine learning service provisioned it if false.
+ :vartype is_attached_compute: bool
+ :ivar disable_local_auth: Opt-out of local authentication and ensure customers can use only MSI
+ and AAD exclusively for authentication.
+ :vartype disable_local_auth: bool
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ 'compute_location': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'created_on': {'readonly': True},
+ 'modified_on': {'readonly': True},
+ 'provisioning_errors': {'readonly': True},
+ 'is_attached_compute': {'readonly': True},
+ 'disable_local_auth': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'properties': {'key': 'properties', 'type': 'VirtualMachineSchemaProperties'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ 'compute_location': {'key': 'computeLocation', 'type': 'str'},
+ 'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
+ 'description': {'key': 'description', 'type': 'str'},
+ 'created_on': {'key': 'createdOn', 'type': 'iso-8601'},
+ 'modified_on': {'key': 'modifiedOn', 'type': 'iso-8601'},
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'provisioning_errors': {'key': 'provisioningErrors', 'type': '[ErrorResponse]'},
+ 'is_attached_compute': {'key': 'isAttachedCompute', 'type': 'bool'},
+ 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: Optional["VirtualMachineSchemaProperties"] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword properties:
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSchemaProperties
+ :keyword description: The description of the Machine Learning compute.
+ :paramtype description: str
+ :keyword resource_id: ARM resource id of the underlying compute.
+ :paramtype resource_id: str
+ """
+ super(VirtualMachine, self).__init__(description=description, resource_id=resource_id, properties=properties, **kwargs)
+ self.properties = properties
+ self.compute_type = 'VirtualMachine' # type: str
+ self.compute_location = None
+ self.provisioning_state = None
+ self.description = description
+ self.created_on = None
+ self.modified_on = None
+ self.resource_id = resource_id
+ self.provisioning_errors = None
+ self.is_attached_compute = None
+ self.disable_local_auth = None
+
+
+class VirtualMachineImage(msrest.serialization.Model):
+ """Virtual Machine image for Windows AML Compute.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Required. Virtual Machine image path.
+ :vartype id: str
+ """
+
+ _validation = {
+ 'id': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ id: str,
+ **kwargs
+ ):
+ """
+ :keyword id: Required. Virtual Machine image path.
+ :paramtype id: str
+ """
+ super(VirtualMachineImage, self).__init__(**kwargs)
+ self.id = id
+
+
+class VirtualMachineSchemaProperties(msrest.serialization.Model):
+ """VirtualMachineSchemaProperties.
+
+ :ivar virtual_machine_size: Virtual Machine size.
+ :vartype virtual_machine_size: str
+ :ivar ssh_port: Port open for ssh connections.
+ :vartype ssh_port: int
+ :ivar notebook_server_port: Notebook server port open for ssh connections.
+ :vartype notebook_server_port: int
+ :ivar address: Public IP address of the virtual machine.
+ :vartype address: str
+ :ivar administrator_account: Admin credentials for virtual machine.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ :ivar is_notebook_instance_compute: Indicates whether this compute will be used for running
+ notebooks.
+ :vartype is_notebook_instance_compute: bool
+ """
+
+ _attribute_map = {
+ 'virtual_machine_size': {'key': 'virtualMachineSize', 'type': 'str'},
+ 'ssh_port': {'key': 'sshPort', 'type': 'int'},
+ 'notebook_server_port': {'key': 'notebookServerPort', 'type': 'int'},
+ 'address': {'key': 'address', 'type': 'str'},
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ 'is_notebook_instance_compute': {'key': 'isNotebookInstanceCompute', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ virtual_machine_size: Optional[str] = None,
+ ssh_port: Optional[int] = None,
+ notebook_server_port: Optional[int] = None,
+ address: Optional[str] = None,
+ administrator_account: Optional["VirtualMachineSshCredentials"] = None,
+ is_notebook_instance_compute: Optional[bool] = None,
+ **kwargs
+ ):
+ """
+ :keyword virtual_machine_size: Virtual Machine size.
+ :paramtype virtual_machine_size: str
+ :keyword ssh_port: Port open for ssh connections.
+ :paramtype ssh_port: int
+ :keyword notebook_server_port: Notebook server port open for ssh connections.
+ :paramtype notebook_server_port: int
+ :keyword address: Public IP address of the virtual machine.
+ :paramtype address: str
+ :keyword administrator_account: Admin credentials for virtual machine.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ :keyword is_notebook_instance_compute: Indicates whether this compute will be used for running
+ notebooks.
+ :paramtype is_notebook_instance_compute: bool
+ """
+ super(VirtualMachineSchemaProperties, self).__init__(**kwargs)
+ self.virtual_machine_size = virtual_machine_size
+ self.ssh_port = ssh_port
+ self.notebook_server_port = notebook_server_port
+ self.address = address
+ self.administrator_account = administrator_account
+ self.is_notebook_instance_compute = is_notebook_instance_compute
+
+
+class VirtualMachineSecretsSchema(msrest.serialization.Model):
+ """VirtualMachineSecretsSchema.
+
+ :ivar administrator_account: Admin credentials for virtual machine.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+
+ _attribute_map = {
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ }
+
+ def __init__(
+ self,
+ *,
+ administrator_account: Optional["VirtualMachineSshCredentials"] = None,
+ **kwargs
+ ):
+ """
+ :keyword administrator_account: Admin credentials for virtual machine.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+ super(VirtualMachineSecretsSchema, self).__init__(**kwargs)
+ self.administrator_account = administrator_account
+
+
+class VirtualMachineSecrets(ComputeSecrets, VirtualMachineSecretsSchema):
+ """Secrets related to a Machine Learning compute based on AKS.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar administrator_account: Admin credentials for virtual machine.
+ :vartype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ :ivar compute_type: Required. The type of compute.Constant filled by server. Possible values
+ include: "AKS", "Kubernetes", "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine",
+ "HDInsight", "Databricks", "DataLakeAnalytics", "SynapseSpark".
+ :vartype compute_type: str or ~azure.mgmt.machinelearningservices.models.ComputeType
+ """
+
+ _validation = {
+ 'compute_type': {'required': True},
+ }
+
+ _attribute_map = {
+ 'administrator_account': {'key': 'administratorAccount', 'type': 'VirtualMachineSshCredentials'},
+ 'compute_type': {'key': 'computeType', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ administrator_account: Optional["VirtualMachineSshCredentials"] = None,
+ **kwargs
+ ):
+ """
+ :keyword administrator_account: Admin credentials for virtual machine.
+ :paramtype administrator_account:
+ ~azure.mgmt.machinelearningservices.models.VirtualMachineSshCredentials
+ """
+ super(VirtualMachineSecrets, self).__init__(administrator_account=administrator_account, **kwargs)
+ self.administrator_account = administrator_account
+ self.compute_type = 'VirtualMachine' # type: str
+
+
+class VirtualMachineSize(msrest.serialization.Model):
+ """Describes the properties of a VM size.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar name: The name of the virtual machine size.
+ :vartype name: str
+ :ivar family: The family name of the virtual machine size.
+ :vartype family: str
+ :ivar v_cp_us: The number of vCPUs supported by the virtual machine size.
+ :vartype v_cp_us: int
+ :ivar gpus: The number of gPUs supported by the virtual machine size.
+ :vartype gpus: int
+ :ivar os_vhd_size_mb: The OS VHD disk size, in MB, allowed by the virtual machine size.
+ :vartype os_vhd_size_mb: int
+ :ivar max_resource_volume_mb: The resource volume size, in MB, allowed by the virtual machine
+ size.
+ :vartype max_resource_volume_mb: int
+ :ivar memory_gb: The amount of memory, in GB, supported by the virtual machine size.
+ :vartype memory_gb: float
+ :ivar low_priority_capable: Specifies if the virtual machine size supports low priority VMs.
+ :vartype low_priority_capable: bool
+ :ivar premium_io: Specifies if the virtual machine size supports premium IO.
+ :vartype premium_io: bool
+ :ivar estimated_vm_prices: The estimated price information for using a VM.
+ :vartype estimated_vm_prices: ~azure.mgmt.machinelearningservices.models.EstimatedVMPrices
+ :ivar supported_compute_types: Specifies the compute types supported by the virtual machine
+ size.
+ :vartype supported_compute_types: list[str]
+ """
+
+ _validation = {
+ 'name': {'readonly': True},
+ 'family': {'readonly': True},
+ 'v_cp_us': {'readonly': True},
+ 'gpus': {'readonly': True},
+ 'os_vhd_size_mb': {'readonly': True},
+ 'max_resource_volume_mb': {'readonly': True},
+ 'memory_gb': {'readonly': True},
+ 'low_priority_capable': {'readonly': True},
+ 'premium_io': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'name': {'key': 'name', 'type': 'str'},
+ 'family': {'key': 'family', 'type': 'str'},
+ 'v_cp_us': {'key': 'vCPUs', 'type': 'int'},
+ 'gpus': {'key': 'gpus', 'type': 'int'},
+ 'os_vhd_size_mb': {'key': 'osVhdSizeMB', 'type': 'int'},
+ 'max_resource_volume_mb': {'key': 'maxResourceVolumeMB', 'type': 'int'},
+ 'memory_gb': {'key': 'memoryGB', 'type': 'float'},
+ 'low_priority_capable': {'key': 'lowPriorityCapable', 'type': 'bool'},
+ 'premium_io': {'key': 'premiumIO', 'type': 'bool'},
+ 'estimated_vm_prices': {'key': 'estimatedVMPrices', 'type': 'EstimatedVMPrices'},
+ 'supported_compute_types': {'key': 'supportedComputeTypes', 'type': '[str]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ estimated_vm_prices: Optional["EstimatedVMPrices"] = None,
+ supported_compute_types: Optional[List[str]] = None,
+ **kwargs
+ ):
+ """
+ :keyword estimated_vm_prices: The estimated price information for using a VM.
+ :paramtype estimated_vm_prices: ~azure.mgmt.machinelearningservices.models.EstimatedVMPrices
+ :keyword supported_compute_types: Specifies the compute types supported by the virtual machine
+ size.
+ :paramtype supported_compute_types: list[str]
+ """
+ super(VirtualMachineSize, self).__init__(**kwargs)
+ self.name = None
+ self.family = None
+ self.v_cp_us = None
+ self.gpus = None
+ self.os_vhd_size_mb = None
+ self.max_resource_volume_mb = None
+ self.memory_gb = None
+ self.low_priority_capable = None
+ self.premium_io = None
+ self.estimated_vm_prices = estimated_vm_prices
+ self.supported_compute_types = supported_compute_types
+
+
+class VirtualMachineSizeListResult(msrest.serialization.Model):
+ """The List Virtual Machine size operation response.
+
+ :ivar value: The list of virtual machine sizes supported by AmlCompute.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.VirtualMachineSize]
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[VirtualMachineSize]'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["VirtualMachineSize"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: The list of virtual machine sizes supported by AmlCompute.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.VirtualMachineSize]
+ """
+ super(VirtualMachineSizeListResult, self).__init__(**kwargs)
+ self.value = value
+
+
+class VirtualMachineSshCredentials(msrest.serialization.Model):
+ """Admin credentials for virtual machine.
+
+ :ivar username: Username of admin account.
+ :vartype username: str
+ :ivar password: Password of admin account.
+ :vartype password: str
+ :ivar public_key_data: Public key data.
+ :vartype public_key_data: str
+ :ivar private_key_data: Private key data.
+ :vartype private_key_data: str
+ """
+
+ _attribute_map = {
+ 'username': {'key': 'username', 'type': 'str'},
+ 'password': {'key': 'password', 'type': 'str'},
+ 'public_key_data': {'key': 'publicKeyData', 'type': 'str'},
+ 'private_key_data': {'key': 'privateKeyData', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ username: Optional[str] = None,
+ password: Optional[str] = None,
+ public_key_data: Optional[str] = None,
+ private_key_data: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword username: Username of admin account.
+ :paramtype username: str
+ :keyword password: Password of admin account.
+ :paramtype password: str
+ :keyword public_key_data: Public key data.
+ :paramtype public_key_data: str
+ :keyword private_key_data: Private key data.
+ :paramtype private_key_data: str
+ """
+ super(VirtualMachineSshCredentials, self).__init__(**kwargs)
+ self.username = username
+ self.password = password
+ self.public_key_data = public_key_data
+ self.private_key_data = private_key_data
+
+
+class Workspace(Resource):
+ """An object that represents a machine learning workspace.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar location: Specifies the location of the resource.
+ :vartype location: str
+ :ivar tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar workspace_id: The immutable id associated with this workspace.
+ :vartype workspace_id: str
+ :ivar description: The description of this workspace.
+ :vartype description: str
+ :ivar friendly_name: The friendly name for this workspace. This name in mutable.
+ :vartype friendly_name: str
+ :ivar key_vault: ARM id of the key vault associated with this workspace. This cannot be changed
+ once the workspace has been created.
+ :vartype key_vault: str
+ :ivar application_insights: ARM id of the application insights associated with this workspace.
+ :vartype application_insights: str
+ :ivar container_registry: ARM id of the container registry associated with this workspace.
+ :vartype container_registry: str
+ :ivar storage_account: ARM id of the storage account associated with this workspace. This
+ cannot be changed once the workspace has been created.
+ :vartype storage_account: str
+ :ivar discovery_url: Url for the discovery service to identify regional endpoints for machine
+ learning experimentation services.
+ :vartype discovery_url: str
+ :ivar provisioning_state: The current deployment state of workspace resource. The
+ provisioningState is to indicate states for resource provisioning. Possible values include:
+ "Unknown", "Updating", "Creating", "Deleting", "Succeeded", "Failed", "Canceled".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.ProvisioningState
+ :ivar encryption: The encryption settings of Azure ML workspace.
+ :vartype encryption: ~azure.mgmt.machinelearningservices.models.EncryptionProperty
+ :ivar hbi_workspace: The flag to signal HBI data in the workspace and reduce diagnostic data
+ collected by the service.
+ :vartype hbi_workspace: bool
+ :ivar service_provisioned_resource_group: The name of the managed resource group created by
+ workspace RP in customer subscription if the workspace is CMK workspace.
+ :vartype service_provisioned_resource_group: str
+ :ivar private_link_count: Count of private connections in the workspace.
+ :vartype private_link_count: int
+ :ivar image_build_compute: The compute name for image build.
+ :vartype image_build_compute: str
+ :ivar allow_public_access_when_behind_vnet: The flag to indicate whether to allow public access
+ when behind VNet.
+ :vartype allow_public_access_when_behind_vnet: bool
+ :ivar public_network_access: Whether requests from Public Network are allowed. Possible values
+ include: "Enabled", "Disabled".
+ :vartype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :ivar private_endpoint_connections: The list of private endpoint connections in the workspace.
+ :vartype private_endpoint_connections:
+ list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
+ :ivar shared_private_link_resources: The list of shared private link resources in this
+ workspace.
+ :vartype shared_private_link_resources:
+ list[~azure.mgmt.machinelearningservices.models.SharedPrivateLinkResource]
+ :ivar notebook_info: The notebook info of Azure ML workspace.
+ :vartype notebook_info: ~azure.mgmt.machinelearningservices.models.NotebookResourceInfo
+ :ivar service_managed_resources_settings: The service managed resource settings.
+ :vartype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :ivar primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :vartype primary_user_assigned_identity: str
+ :ivar tenant_id: The tenant id associated with this workspace.
+ :vartype tenant_id: str
+ :ivar storage_hns_enabled: If the storage associated with the workspace has hierarchical
+ namespace(HNS) enabled.
+ :vartype storage_hns_enabled: bool
+ :ivar ml_flow_tracking_uri: The URI associated with this workspace that machine learning flow
+ must point at to set up tracking.
+ :vartype ml_flow_tracking_uri: str
+ :ivar v1_legacy_mode: Enabling v1_legacy_mode may prevent you from using features provided by
+ the v2 API.
+ :vartype v1_legacy_mode: bool
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'workspace_id': {'readonly': True},
+ 'provisioning_state': {'readonly': True},
+ 'service_provisioned_resource_group': {'readonly': True},
+ 'private_link_count': {'readonly': True},
+ 'private_endpoint_connections': {'readonly': True},
+ 'notebook_info': {'readonly': True},
+ 'tenant_id': {'readonly': True},
+ 'storage_hns_enabled': {'readonly': True},
+ 'ml_flow_tracking_uri': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'location': {'key': 'location', 'type': 'str'},
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'},
+ 'description': {'key': 'properties.description', 'type': 'str'},
+ 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'},
+ 'key_vault': {'key': 'properties.keyVault', 'type': 'str'},
+ 'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'},
+ 'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'},
+ 'storage_account': {'key': 'properties.storageAccount', 'type': 'str'},
+ 'discovery_url': {'key': 'properties.discoveryUrl', 'type': 'str'},
+ 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
+ 'encryption': {'key': 'properties.encryption', 'type': 'EncryptionProperty'},
+ 'hbi_workspace': {'key': 'properties.hbiWorkspace', 'type': 'bool'},
+ 'service_provisioned_resource_group': {'key': 'properties.serviceProvisionedResourceGroup', 'type': 'str'},
+ 'private_link_count': {'key': 'properties.privateLinkCount', 'type': 'int'},
+ 'image_build_compute': {'key': 'properties.imageBuildCompute', 'type': 'str'},
+ 'allow_public_access_when_behind_vnet': {'key': 'properties.allowPublicAccessWhenBehindVnet', 'type': 'bool'},
+ 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
+ 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'},
+ 'shared_private_link_resources': {'key': 'properties.sharedPrivateLinkResources', 'type': '[SharedPrivateLinkResource]'},
+ 'notebook_info': {'key': 'properties.notebookInfo', 'type': 'NotebookResourceInfo'},
+ 'service_managed_resources_settings': {'key': 'properties.serviceManagedResourcesSettings', 'type': 'ServiceManagedResourcesSettings'},
+ 'primary_user_assigned_identity': {'key': 'properties.primaryUserAssignedIdentity', 'type': 'str'},
+ 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'},
+ 'storage_hns_enabled': {'key': 'properties.storageHnsEnabled', 'type': 'bool'},
+ 'ml_flow_tracking_uri': {'key': 'properties.mlFlowTrackingUri', 'type': 'str'},
+ 'v1_legacy_mode': {'key': 'properties.v1LegacyMode', 'type': 'bool'},
+ }
+
+ def __init__(
+ self,
+ *,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ location: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ sku: Optional["Sku"] = None,
+ description: Optional[str] = None,
+ friendly_name: Optional[str] = None,
+ key_vault: Optional[str] = None,
+ application_insights: Optional[str] = None,
+ container_registry: Optional[str] = None,
+ storage_account: Optional[str] = None,
+ discovery_url: Optional[str] = None,
+ encryption: Optional["EncryptionProperty"] = None,
+ hbi_workspace: Optional[bool] = False,
+ image_build_compute: Optional[str] = None,
+ allow_public_access_when_behind_vnet: Optional[bool] = False,
+ public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
+ shared_private_link_resources: Optional[List["SharedPrivateLinkResource"]] = None,
+ service_managed_resources_settings: Optional["ServiceManagedResourcesSettings"] = None,
+ primary_user_assigned_identity: Optional[str] = None,
+ v1_legacy_mode: Optional[bool] = False,
+ **kwargs
+ ):
+ """
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword location: Specifies the location of the resource.
+ :paramtype location: str
+ :keyword tags: A set of tags. Contains resource tags defined as key/value pairs.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword description: The description of this workspace.
+ :paramtype description: str
+ :keyword friendly_name: The friendly name for this workspace. This name in mutable.
+ :paramtype friendly_name: str
+ :keyword key_vault: ARM id of the key vault associated with this workspace. This cannot be
+ changed once the workspace has been created.
+ :paramtype key_vault: str
+ :keyword application_insights: ARM id of the application insights associated with this
+ workspace.
+ :paramtype application_insights: str
+ :keyword container_registry: ARM id of the container registry associated with this workspace.
+ :paramtype container_registry: str
+ :keyword storage_account: ARM id of the storage account associated with this workspace. This
+ cannot be changed once the workspace has been created.
+ :paramtype storage_account: str
+ :keyword discovery_url: Url for the discovery service to identify regional endpoints for
+ machine learning experimentation services.
+ :paramtype discovery_url: str
+ :keyword encryption: The encryption settings of Azure ML workspace.
+ :paramtype encryption: ~azure.mgmt.machinelearningservices.models.EncryptionProperty
+ :keyword hbi_workspace: The flag to signal HBI data in the workspace and reduce diagnostic data
+ collected by the service.
+ :paramtype hbi_workspace: bool
+ :keyword image_build_compute: The compute name for image build.
+ :paramtype image_build_compute: str
+ :keyword allow_public_access_when_behind_vnet: The flag to indicate whether to allow public
+ access when behind VNet.
+ :paramtype allow_public_access_when_behind_vnet: bool
+ :keyword public_network_access: Whether requests from Public Network are allowed. Possible
+ values include: "Enabled", "Disabled".
+ :paramtype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :keyword shared_private_link_resources: The list of shared private link resources in this
+ workspace.
+ :paramtype shared_private_link_resources:
+ list[~azure.mgmt.machinelearningservices.models.SharedPrivateLinkResource]
+ :keyword service_managed_resources_settings: The service managed resource settings.
+ :paramtype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :keyword primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :paramtype primary_user_assigned_identity: str
+ :keyword v1_legacy_mode: Enabling v1_legacy_mode may prevent you from using features provided
+ by the v2 API.
+ :paramtype v1_legacy_mode: bool
+ """
+ super(Workspace, self).__init__(**kwargs)
+ self.identity = identity
+ self.location = location
+ self.tags = tags
+ self.sku = sku
+ self.workspace_id = None
+ self.description = description
+ self.friendly_name = friendly_name
+ self.key_vault = key_vault
+ self.application_insights = application_insights
+ self.container_registry = container_registry
+ self.storage_account = storage_account
+ self.discovery_url = discovery_url
+ self.provisioning_state = None
+ self.encryption = encryption
+ self.hbi_workspace = hbi_workspace
+ self.service_provisioned_resource_group = None
+ self.private_link_count = None
+ self.image_build_compute = image_build_compute
+ self.allow_public_access_when_behind_vnet = allow_public_access_when_behind_vnet
+ self.public_network_access = public_network_access
+ self.private_endpoint_connections = None
+ self.shared_private_link_resources = shared_private_link_resources
+ self.notebook_info = None
+ self.service_managed_resources_settings = service_managed_resources_settings
+ self.primary_user_assigned_identity = primary_user_assigned_identity
+ self.tenant_id = None
+ self.storage_hns_enabled = None
+ self.ml_flow_tracking_uri = None
+ self.v1_legacy_mode = v1_legacy_mode
+
+
+class WorkspaceConnectionManagedIdentity(msrest.serialization.Model):
+ """WorkspaceConnectionManagedIdentity.
+
+ :ivar resource_id:
+ :vartype resource_id: str
+ :ivar client_id:
+ :vartype client_id: str
+ """
+
+ _attribute_map = {
+ 'resource_id': {'key': 'resourceId', 'type': 'str'},
+ 'client_id': {'key': 'clientId', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ resource_id: Optional[str] = None,
+ client_id: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword resource_id:
+ :paramtype resource_id: str
+ :keyword client_id:
+ :paramtype client_id: str
+ """
+ super(WorkspaceConnectionManagedIdentity, self).__init__(**kwargs)
+ self.resource_id = resource_id
+ self.client_id = client_id
+
+
+class WorkspaceConnectionPersonalAccessToken(msrest.serialization.Model):
+ """WorkspaceConnectionPersonalAccessToken.
+
+ :ivar pat:
+ :vartype pat: str
+ """
+
+ _attribute_map = {
+ 'pat': {'key': 'pat', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ pat: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword pat:
+ :paramtype pat: str
+ """
+ super(WorkspaceConnectionPersonalAccessToken, self).__init__(**kwargs)
+ self.pat = pat
+
+
+class WorkspaceConnectionPropertiesV2BasicResource(Resource):
+ """WorkspaceConnectionPropertiesV2BasicResource.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar id: Fully qualified resource ID for the resource. Ex -
+ /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ :vartype id: str
+ :ivar name: The name of the resource.
+ :vartype name: str
+ :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ "Microsoft.Storage/storageAccounts".
+ :vartype type: str
+ :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy
+ information.
+ :vartype system_data: ~azure.mgmt.machinelearningservices.models.SystemData
+ :ivar properties: Required.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2
+ """
+
+ _validation = {
+ 'id': {'readonly': True},
+ 'name': {'readonly': True},
+ 'type': {'readonly': True},
+ 'system_data': {'readonly': True},
+ 'properties': {'required': True},
+ }
+
+ _attribute_map = {
+ 'id': {'key': 'id', 'type': 'str'},
+ 'name': {'key': 'name', 'type': 'str'},
+ 'type': {'key': 'type', 'type': 'str'},
+ 'system_data': {'key': 'systemData', 'type': 'SystemData'},
+ 'properties': {'key': 'properties', 'type': 'WorkspaceConnectionPropertiesV2'},
+ }
+
+ def __init__(
+ self,
+ *,
+ properties: "WorkspaceConnectionPropertiesV2",
+ **kwargs
+ ):
+ """
+ :keyword properties: Required.
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2
+ """
+ super(WorkspaceConnectionPropertiesV2BasicResource, self).__init__(**kwargs)
+ self.properties = properties
+
+
+class WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult(msrest.serialization.Model):
+ """WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar value:
+ :vartype value:
+ list[~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource]
+ :ivar next_link:
+ :vartype next_link: str
+ """
+
+ _validation = {
+ 'next_link': {'readonly': True},
+ }
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[WorkspaceConnectionPropertiesV2BasicResource]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["WorkspaceConnectionPropertiesV2BasicResource"]] = None,
+ **kwargs
+ ):
+ """
+ :keyword value:
+ :paramtype value:
+ list[~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource]
+ """
+ super(WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult, self).__init__(**kwargs)
+ self.value = value
+ self.next_link = None
+
+
+class WorkspaceConnectionSharedAccessSignature(msrest.serialization.Model):
+ """WorkspaceConnectionSharedAccessSignature.
+
+ :ivar sas:
+ :vartype sas: str
+ """
+
+ _attribute_map = {
+ 'sas': {'key': 'sas', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ sas: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword sas:
+ :paramtype sas: str
+ """
+ super(WorkspaceConnectionSharedAccessSignature, self).__init__(**kwargs)
+ self.sas = sas
+
+
+class WorkspaceConnectionUsernamePassword(msrest.serialization.Model):
+ """WorkspaceConnectionUsernamePassword.
+
+ :ivar username:
+ :vartype username: str
+ :ivar password:
+ :vartype password: str
+ """
+
+ _attribute_map = {
+ 'username': {'key': 'username', 'type': 'str'},
+ 'password': {'key': 'password', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ username: Optional[str] = None,
+ password: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword username:
+ :paramtype username: str
+ :keyword password:
+ :paramtype password: str
+ """
+ super(WorkspaceConnectionUsernamePassword, self).__init__(**kwargs)
+ self.username = username
+ self.password = password
+
+
+class WorkspaceListResult(msrest.serialization.Model):
+ """The result of a request to list machine learning workspaces.
+
+ :ivar value: The list of machine learning workspaces. Since this list may be incomplete, the
+ nextLink field should be used to request the next list of machine learning workspaces.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Workspace]
+ :ivar next_link: The URI that can be used to request the next list of machine learning
+ workspaces.
+ :vartype next_link: str
+ """
+
+ _attribute_map = {
+ 'value': {'key': 'value', 'type': '[Workspace]'},
+ 'next_link': {'key': 'nextLink', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ value: Optional[List["Workspace"]] = None,
+ next_link: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword value: The list of machine learning workspaces. Since this list may be incomplete, the
+ nextLink field should be used to request the next list of machine learning workspaces.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Workspace]
+ :keyword next_link: The URI that can be used to request the next list of machine learning
+ workspaces.
+ :paramtype next_link: str
+ """
+ super(WorkspaceListResult, self).__init__(**kwargs)
+ self.value = value
+ self.next_link = next_link
+
+
+class WorkspaceUpdateParameters(msrest.serialization.Model):
+ """The parameters for updating a machine learning workspace.
+
+ :ivar tags: A set of tags. The resource tags for the machine learning workspace.
+ :vartype tags: dict[str, str]
+ :ivar sku: The sku of the workspace.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar identity: The identity of the resource.
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :ivar description: The description of this workspace.
+ :vartype description: str
+ :ivar friendly_name: The friendly name for this workspace.
+ :vartype friendly_name: str
+ :ivar image_build_compute: The compute name for image build.
+ :vartype image_build_compute: str
+ :ivar service_managed_resources_settings: The service managed resource settings.
+ :vartype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :ivar primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :vartype primary_user_assigned_identity: str
+ :ivar public_network_access: Whether requests from Public Network are allowed. Possible values
+ include: "Enabled", "Disabled".
+ :vartype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :ivar application_insights: ARM id of the application insights associated with this workspace.
+ :vartype application_insights: str
+ :ivar container_registry: ARM id of the container registry associated with this workspace.
+ :vartype container_registry: str
+ """
+
+ _attribute_map = {
+ 'tags': {'key': 'tags', 'type': '{str}'},
+ 'sku': {'key': 'sku', 'type': 'Sku'},
+ 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'},
+ 'description': {'key': 'properties.description', 'type': 'str'},
+ 'friendly_name': {'key': 'properties.friendlyName', 'type': 'str'},
+ 'image_build_compute': {'key': 'properties.imageBuildCompute', 'type': 'str'},
+ 'service_managed_resources_settings': {'key': 'properties.serviceManagedResourcesSettings', 'type': 'ServiceManagedResourcesSettings'},
+ 'primary_user_assigned_identity': {'key': 'properties.primaryUserAssignedIdentity', 'type': 'str'},
+ 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
+ 'application_insights': {'key': 'properties.applicationInsights', 'type': 'str'},
+ 'container_registry': {'key': 'properties.containerRegistry', 'type': 'str'},
+ }
+
+ def __init__(
+ self,
+ *,
+ tags: Optional[Dict[str, str]] = None,
+ sku: Optional["Sku"] = None,
+ identity: Optional["ManagedServiceIdentity"] = None,
+ description: Optional[str] = None,
+ friendly_name: Optional[str] = None,
+ image_build_compute: Optional[str] = None,
+ service_managed_resources_settings: Optional["ServiceManagedResourcesSettings"] = None,
+ primary_user_assigned_identity: Optional[str] = None,
+ public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None,
+ application_insights: Optional[str] = None,
+ container_registry: Optional[str] = None,
+ **kwargs
+ ):
+ """
+ :keyword tags: A set of tags. The resource tags for the machine learning workspace.
+ :paramtype tags: dict[str, str]
+ :keyword sku: The sku of the workspace.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword identity: The identity of the resource.
+ :paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
+ :keyword description: The description of this workspace.
+ :paramtype description: str
+ :keyword friendly_name: The friendly name for this workspace.
+ :paramtype friendly_name: str
+ :keyword image_build_compute: The compute name for image build.
+ :paramtype image_build_compute: str
+ :keyword service_managed_resources_settings: The service managed resource settings.
+ :paramtype service_managed_resources_settings:
+ ~azure.mgmt.machinelearningservices.models.ServiceManagedResourcesSettings
+ :keyword primary_user_assigned_identity: The user assigned identity resource id that represents
+ the workspace identity.
+ :paramtype primary_user_assigned_identity: str
+ :keyword public_network_access: Whether requests from Public Network are allowed. Possible
+ values include: "Enabled", "Disabled".
+ :paramtype public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.PublicNetworkAccess
+ :keyword application_insights: ARM id of the application insights associated with this
+ workspace.
+ :paramtype application_insights: str
+ :keyword container_registry: ARM id of the container registry associated with this workspace.
+ :paramtype container_registry: str
+ """
+ super(WorkspaceUpdateParameters, self).__init__(**kwargs)
+ self.tags = tags
+ self.sku = sku
+ self.identity = identity
+ self.description = description
+ self.friendly_name = friendly_name
+ self.image_build_compute = image_build_compute
+ self.service_managed_resources_settings = service_managed_resources_settings
+ self.primary_user_assigned_identity = primary_user_assigned_identity
+ self.public_network_access = public_network_access
+ self.application_insights = application_insights
+ self.container_registry = container_registry
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/__init__.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/__init__.py
new file mode 100644
index 00000000..96b72908
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/__init__.py
@@ -0,0 +1,65 @@
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+
+from ._batch_endpoints_operations import BatchEndpointsOperations
+from ._batch_deployments_operations import BatchDeploymentsOperations
+from ._code_containers_operations import CodeContainersOperations
+from ._code_versions_operations import CodeVersionsOperations
+from ._component_containers_operations import ComponentContainersOperations
+from ._component_versions_operations import ComponentVersionsOperations
+from ._data_containers_operations import DataContainersOperations
+from ._data_versions_operations import DataVersionsOperations
+from ._datastores_operations import DatastoresOperations
+from ._environment_containers_operations import EnvironmentContainersOperations
+from ._environment_versions_operations import EnvironmentVersionsOperations
+from ._jobs_operations import JobsOperations
+from ._model_containers_operations import ModelContainersOperations
+from ._model_versions_operations import ModelVersionsOperations
+from ._online_endpoints_operations import OnlineEndpointsOperations
+from ._online_deployments_operations import OnlineDeploymentsOperations
+from ._schedules_operations import SchedulesOperations
+from ._operations import Operations
+from ._workspaces_operations import WorkspacesOperations
+from ._usages_operations import UsagesOperations
+from ._virtual_machine_sizes_operations import VirtualMachineSizesOperations
+from ._quotas_operations import QuotasOperations
+from ._compute_operations import ComputeOperations
+from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations
+from ._private_link_resources_operations import PrivateLinkResourcesOperations
+from ._workspace_connections_operations import WorkspaceConnectionsOperations
+from ._workspace_features_operations import WorkspaceFeaturesOperations
+
+__all__ = [
+ 'BatchEndpointsOperations',
+ 'BatchDeploymentsOperations',
+ 'CodeContainersOperations',
+ 'CodeVersionsOperations',
+ 'ComponentContainersOperations',
+ 'ComponentVersionsOperations',
+ 'DataContainersOperations',
+ 'DataVersionsOperations',
+ 'DatastoresOperations',
+ 'EnvironmentContainersOperations',
+ 'EnvironmentVersionsOperations',
+ 'JobsOperations',
+ 'ModelContainersOperations',
+ 'ModelVersionsOperations',
+ 'OnlineEndpointsOperations',
+ 'OnlineDeploymentsOperations',
+ 'SchedulesOperations',
+ 'Operations',
+ 'WorkspacesOperations',
+ 'UsagesOperations',
+ 'VirtualMachineSizesOperations',
+ 'QuotasOperations',
+ 'ComputeOperations',
+ 'PrivateEndpointConnectionsOperations',
+ 'PrivateLinkResourcesOperations',
+ 'WorkspaceConnectionsOperations',
+ 'WorkspaceFeaturesOperations',
+]
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_deployments_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_deployments_operations.py
new file mode 100644
index 00000000..85781f67
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_deployments_operations.py
@@ -0,0 +1,876 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PATCH",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class BatchDeploymentsOperations(object):
+ """BatchDeploymentsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.BatchDeploymentTrackedResourceArmPaginatedResult"]
+ """Lists Batch inference deployments in the workspace.
+
+ Lists Batch inference deployments in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Endpoint name.
+ :type endpoint_name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Top of list.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either BatchDeploymentTrackedResourceArmPaginatedResult
+ or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.BatchDeploymentTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeploymentTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("BatchDeploymentTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Delete Batch Inference deployment (asynchronous).
+
+ Delete Batch Inference deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference deployment identifier.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.BatchDeployment"
+ """Gets a batch inference deployment by id.
+
+ Gets a batch inference deployment by id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The identifier for the Batch deployments.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: BatchDeployment, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.BatchDeployment
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ def _update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.BatchDeployment"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BatchDeployment"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.BatchDeployment"]
+ """Update a batch inference deployment (asynchronous).
+
+ Update a batch inference deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The identifier for the Batch inference deployment.
+ :type deployment_name: str
+ :param body: Batch inference deployment definition object.
+ :type body:
+ ~azure.mgmt.machinelearningservices.models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either BatchDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.BatchDeployment"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.BatchDeployment"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'BatchDeployment')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.BatchDeployment"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.BatchDeployment"]
+ """Creates/updates a batch inference deployment (asynchronous).
+
+ Creates/updates a batch inference deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The identifier for the Batch inference deployment.
+ :type deployment_name: str
+ :param body: Batch inference deployment definition object.
+ :type body: ~azure.mgmt.machinelearningservices.models.BatchDeployment
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either BatchDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.BatchDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_endpoints_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_endpoints_operations.py
new file mode 100644
index 00000000..a908e8ae
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_batch_endpoints_operations.py
@@ -0,0 +1,934 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ count = kwargs.pop('count', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if count is not None:
+ _query_parameters['count'] = _SERIALIZER.query("count", count, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PATCH",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_keys_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/listkeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class BatchEndpointsOperations(object):
+ """BatchEndpointsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ count=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.BatchEndpointTrackedResourceArmPaginatedResult"]
+ """Lists Batch inference endpoint in the workspace.
+
+ Lists Batch inference endpoint in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param count: Number of endpoints to be retrieved in a page of results.
+ :type count: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either BatchEndpointTrackedResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.BatchEndpointTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpointTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("BatchEndpointTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Delete Batch Inference Endpoint (asynchronous).
+
+ Delete Batch Inference Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.BatchEndpoint"
+ """Gets a batch inference endpoint by name.
+
+ Gets a batch inference endpoint by name.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Name for the Batch Endpoint.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: BatchEndpoint, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.BatchEndpoint
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ def _update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.PartialMinimalTrackedResourceWithIdentity"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.BatchEndpoint"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BatchEndpoint"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialMinimalTrackedResourceWithIdentity')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.PartialMinimalTrackedResourceWithIdentity"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.BatchEndpoint"]
+ """Update a batch inference endpoint (asynchronous).
+
+ Update a batch inference endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Name for the Batch inference endpoint.
+ :type endpoint_name: str
+ :param body: Mutable batch inference endpoint definition object.
+ :type body:
+ ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either BatchEndpoint or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.BatchEndpoint"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.BatchEndpoint"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'BatchEndpoint')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.BatchEndpoint"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.BatchEndpoint"]
+ """Creates a batch inference endpoint (asynchronous).
+
+ Creates a batch inference endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Name for the Batch inference endpoint.
+ :type endpoint_name: str
+ :param body: Batch inference endpoint definition object.
+ :type body: ~azure.mgmt.machinelearningservices.models.BatchEndpoint
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either BatchEndpoint or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.BatchEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('BatchEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace
+ def list_keys(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EndpointAuthKeys"
+ """Lists batch Inference Endpoint keys.
+
+ Lists batch Inference Endpoint keys.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EndpointAuthKeys, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EndpointAuthKeys"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EndpointAuthKeys', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/listkeys"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_containers_operations.py
new file mode 100644
index 00000000..8c2fcb16
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_containers_operations.py
@@ -0,0 +1,511 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class CodeContainersOperations(object):
+ """CodeContainersOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.CodeContainerResourceArmPaginatedResult"]
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either CodeContainerResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.CodeContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("CodeContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.CodeContainer"
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('CodeContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.CodeContainer"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.CodeContainer"
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'CodeContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('CodeContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('CodeContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_versions_operations.py
new file mode 100644
index 00000000..42bdffe9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_code_versions_operations.py
@@ -0,0 +1,552 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class CodeVersionsOperations(object):
+ """CodeVersionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.CodeVersionResourceArmPaginatedResult"]
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either CodeVersionResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.CodeVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("CodeVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.CodeVersion"
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('CodeVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ body, # type: "_models.CodeVersion"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.CodeVersion"
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: CodeVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.CodeVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'CodeVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('CodeVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('CodeVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/codes/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_containers_operations.py
new file mode 100644
index 00000000..27b26586
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_containers_operations.py
@@ -0,0 +1,519 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class ComponentContainersOperations(object):
+ """ComponentContainersOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ComponentContainerResourceArmPaginatedResult"]
+ """List component containers.
+
+ List component containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ComponentContainerResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ComponentContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ComponentContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComponentContainer"
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComponentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.ComponentContainer"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComponentContainer"
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ComponentContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ComponentContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ComponentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_versions_operations.py
new file mode 100644
index 00000000..4bbe1375
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_component_versions_operations.py
@@ -0,0 +1,560 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class ComponentVersionsOperations(object):
+ """ComponentVersionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ComponentVersionResourceArmPaginatedResult"]
+ """List component versions.
+
+ List component versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Component name.
+ :type name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ComponentVersionResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ComponentVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ComponentVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComponentVersion"
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComponentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ body, # type: "_models.ComponentVersion"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComponentVersion"
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComponentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComponentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ComponentVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ComponentVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ComponentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/components/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_compute_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_compute_operations.py
new file mode 100644
index 00000000..a74f6c09
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_compute_operations.py
@@ -0,0 +1,1500 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PATCH",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ underlying_resource_action = kwargs.pop('underlying_resource_action') # type: Union[str, "_models.UnderlyingResourceAction"]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ _query_parameters['underlyingResourceAction'] = _SERIALIZER.query("underlying_resource_action", underlying_resource_action, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_nodes_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_keys_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_start_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_stop_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_restart_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class ComputeOperations(object):
+ """ComputeOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.PaginatedComputeResourcesList"]
+ """Gets computes in specified workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either PaginatedComputeResourcesList or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.PaginatedComputeResourcesList]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PaginatedComputeResourcesList"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("PaginatedComputeResourcesList", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComputeResource"
+ """Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are
+ not returned - use 'keys' nested resource to get them.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComputeResource, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComputeResource
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ parameters, # type: "_models.ComputeResource"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComputeResource"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'ComputeResource')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ parameters, # type: "_models.ComputeResource"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.ComputeResource"]
+ """Creates or updates compute. This call will overwrite a compute if it exists. This is a
+ nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify
+ that it does not exist yet.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :param parameters: Payload with Machine Learning compute definition.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.ComputeResource
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either ComputeResource or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+ def _update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ parameters, # type: "_models.ClusterUpdateParameters"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComputeResource"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'ClusterUpdateParameters')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ parameters, # type: "_models.ClusterUpdateParameters"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.ComputeResource"]
+ """Updates properties of a compute. This call will overwrite a compute if it exists. This is a
+ nonrecoverable operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :param parameters: Additional parameters for cluster update.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.ClusterUpdateParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either ComputeResource or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComputeResource]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeResource"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('ComputeResource', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ underlying_resource_action, # type: Union[str, "_models.UnderlyingResourceAction"]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ underlying_resource_action=underlying_resource_action,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ underlying_resource_action, # type: Union[str, "_models.UnderlyingResourceAction"]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Deletes specified Machine Learning compute.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :param underlying_resource_action: Delete the underlying compute if 'Delete', or detach the
+ underlying compute from workspace if 'Detach'.
+ :type underlying_resource_action: str or
+ ~azure.mgmt.machinelearningservices.models.UnderlyingResourceAction
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ underlying_resource_action=underlying_resource_action,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"} # type: ignore
+
+ @distributed_trace
+ def list_nodes(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.AmlComputeNodesInformation"]
+ """Get the details (e.g IP address, port etc) of all the compute nodes in the compute.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either AmlComputeNodesInformation or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.AmlComputeNodesInformation]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.AmlComputeNodesInformation"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_nodes_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self.list_nodes.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_nodes_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("AmlComputeNodesInformation", pipeline_response)
+ list_of_elem = deserialized.nodes
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list_nodes.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes"} # type: ignore
+
+ @distributed_trace
+ def list_keys(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ComputeSecrets"
+ """Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ComputeSecrets, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ComputeSecrets
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ComputeSecrets"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ComputeSecrets', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys"} # type: ignore
+
+
+ def _start_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_start_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self._start_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _start_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start"} # type: ignore
+
+
+ @distributed_trace
+ def begin_start( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Posts a start action to a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._start_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_start.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start"} # type: ignore
+
+ def _stop_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_stop_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self._stop_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _stop_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop"} # type: ignore
+
+
+ @distributed_trace
+ def begin_stop( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Posts a stop action to a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._stop_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_stop.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop"} # type: ignore
+
+ def _restart_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_restart_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ template_url=self._restart_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _restart_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart"} # type: ignore
+
+
+ @distributed_trace
+ def begin_restart( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ compute_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Posts a restart action to a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute.
+ :type compute_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._restart_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_restart.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_containers_operations.py
new file mode 100644
index 00000000..21c81906
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_containers_operations.py
@@ -0,0 +1,519 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class DataContainersOperations(object):
+ """DataContainersOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.DataContainerResourceArmPaginatedResult"]
+ """List data containers.
+
+ List data containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either DataContainerResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.DataContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("DataContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.DataContainer"
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DataContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.DataContainer"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.DataContainer"
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'DataContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('DataContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('DataContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_versions_operations.py
new file mode 100644
index 00000000..bf1b67b9
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_data_versions_operations.py
@@ -0,0 +1,572 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ tags = kwargs.pop('tags', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if tags is not None:
+ _query_parameters['$tags'] = _SERIALIZER.query("tags", tags, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class DataVersionsOperations(object):
+ """DataVersionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ tags=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.DataVersionBaseResourceArmPaginatedResult"]
+ """List data versions in the data container.
+
+ List data versions in the data container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Data container's name.
+ :type name: str
+ :param order_by: Please choose OrderBy value from ['createdtime', 'modifiedtime'].
+ :type order_by: str
+ :param top: Top count of results, top count cannot be greater than the page size.
+ If topCount > page size, results with be default page size count
+ will be returned.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either DataVersionBaseResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.DataVersionBaseResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataVersionBaseResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("DataVersionBaseResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.DataVersionBase"
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataVersionBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataVersionBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DataVersionBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ body, # type: "_models.DataVersionBase"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.DataVersionBase"
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name.
+ :type name: str
+ :param version: Version identifier.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DataVersionBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DataVersionBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'DataVersionBase')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('DataVersionBase', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('DataVersionBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/data/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_datastores_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_datastores_operations.py
new file mode 100644
index 00000000..a2d67b55
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_datastores_operations.py
@@ -0,0 +1,671 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, List, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ count = kwargs.pop('count', 30) # type: Optional[int]
+ is_default = kwargs.pop('is_default', None) # type: Optional[bool]
+ names = kwargs.pop('names', None) # type: Optional[List[str]]
+ search_text = kwargs.pop('search_text', None) # type: Optional[str]
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ order_by_asc = kwargs.pop('order_by_asc', False) # type: Optional[bool]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if count is not None:
+ _query_parameters['count'] = _SERIALIZER.query("count", count, 'int')
+ if is_default is not None:
+ _query_parameters['isDefault'] = _SERIALIZER.query("is_default", is_default, 'bool')
+ if names is not None:
+ _query_parameters['names'] = _SERIALIZER.query("names", names, '[str]', div=',')
+ if search_text is not None:
+ _query_parameters['searchText'] = _SERIALIZER.query("search_text", search_text, 'str')
+ if order_by is not None:
+ _query_parameters['orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if order_by_asc is not None:
+ _query_parameters['orderByAsc'] = _SERIALIZER.query("order_by_asc", order_by_asc, 'bool')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+ skip_validation = kwargs.pop('skip_validation', False) # type: Optional[bool]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip_validation is not None:
+ _query_parameters['skipValidation'] = _SERIALIZER.query("skip_validation", skip_validation, 'bool')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_secrets_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}/listSecrets") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class DatastoresOperations(object):
+ """DatastoresOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ count=30, # type: Optional[int]
+ is_default=None, # type: Optional[bool]
+ names=None, # type: Optional[List[str]]
+ search_text=None, # type: Optional[str]
+ order_by=None, # type: Optional[str]
+ order_by_asc=False, # type: Optional[bool]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.DatastoreResourceArmPaginatedResult"]
+ """List datastores.
+
+ List datastores.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param count: Maximum number of results to return.
+ :type count: int
+ :param is_default: Filter down to the workspace default datastore.
+ :type is_default: bool
+ :param names: Names of datastores to return.
+ :type names: list[str]
+ :param search_text: Text to search for in the datastore names.
+ :type search_text: str
+ :param order_by: Order by property (createdtime | modifiedtime | name).
+ :type order_by: str
+ :param order_by_asc: Order by property in ascending order.
+ :type order_by_asc: bool
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either DatastoreResourceArmPaginatedResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.DatastoreResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DatastoreResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ is_default=is_default,
+ names=names,
+ search_text=search_text,
+ order_by=order_by,
+ order_by_asc=order_by_asc,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ is_default=is_default,
+ names=names,
+ search_text=search_text,
+ order_by=order_by,
+ order_by_asc=order_by_asc,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("DatastoreResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete datastore.
+
+ Delete datastore.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.Datastore"
+ """Get datastore.
+
+ Get datastore.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Datastore, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Datastore
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Datastore"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('Datastore', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.Datastore"
+ skip_validation=False, # type: Optional[bool]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.Datastore"
+ """Create or update datastore.
+
+ Create or update datastore.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :param body: Datastore entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.Datastore
+ :param skip_validation: Flag to skip validation.
+ :type skip_validation: bool
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Datastore, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Datastore
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Datastore"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'Datastore')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ skip_validation=skip_validation,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('Datastore', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('Datastore', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def list_secrets(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.DatastoreSecrets"
+ """Get datastore secrets.
+
+ Get datastore secrets.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Datastore name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DatastoreSecrets, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DatastoreSecrets
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DatastoreSecrets"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_secrets_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.list_secrets.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DatastoreSecrets', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_secrets.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/datastores/{name}/listSecrets"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_containers_operations.py
new file mode 100644
index 00000000..ee1f061b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_containers_operations.py
@@ -0,0 +1,519 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class EnvironmentContainersOperations(object):
+ """EnvironmentContainersOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.EnvironmentContainerResourceArmPaginatedResult"]
+ """List environment containers.
+
+ List environment containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either EnvironmentContainerResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("EnvironmentContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EnvironmentContainer"
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EnvironmentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.EnvironmentContainer"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EnvironmentContainer"
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'EnvironmentContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('EnvironmentContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('EnvironmentContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_versions_operations.py
new file mode 100644
index 00000000..c262a3ac
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_environment_versions_operations.py
@@ -0,0 +1,560 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class EnvironmentVersionsOperations(object):
+ """EnvironmentVersionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.EnvironmentVersionResourceArmPaginatedResult"]
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either EnvironmentVersionResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("EnvironmentVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EnvironmentVersion"
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EnvironmentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ body, # type: "_models.EnvironmentVersion"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EnvironmentVersion"
+ """Creates or updates an EnvironmentVersion.
+
+ Creates or updates an EnvironmentVersion.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Name of EnvironmentVersion. This is case-sensitive.
+ :type name: str
+ :param version: Version of EnvironmentVersion.
+ :type version: str
+ :param body: Definition of EnvironmentVersion.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EnvironmentVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EnvironmentVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'EnvironmentVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('EnvironmentVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('EnvironmentVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/environments/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_jobs_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_jobs_operations.py
new file mode 100644
index 00000000..e27f83e4
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_jobs_operations.py
@@ -0,0 +1,755 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ job_type = kwargs.pop('job_type', None) # type: Optional[str]
+ tag = kwargs.pop('tag', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if job_type is not None:
+ _query_parameters['jobType'] = _SERIALIZER.query("job_type", job_type, 'str')
+ if tag is not None:
+ _query_parameters['tag'] = _SERIALIZER.query("tag", tag, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "id": _SERIALIZER.url("id", id, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "id": _SERIALIZER.url("id", id, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "id": _SERIALIZER.url("id", id, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_cancel_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}/cancel") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "id": _SERIALIZER.url("id", id, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class JobsOperations(object):
+ """JobsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ job_type=None, # type: Optional[str]
+ tag=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.JobBaseResourceArmPaginatedResult"]
+ """Lists Jobs in the workspace.
+
+ Lists Jobs in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param job_type: Type of job to be returned.
+ :type job_type: str
+ :param tag: Jobs returned will have this tag key.
+ :type tag: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either JobBaseResourceArmPaginatedResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.JobBaseResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobBaseResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ job_type=job_type,
+ tag=tag,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ job_type=job_type,
+ tag=tag,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("JobBaseResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Deletes a Job (asynchronous).
+
+ Deletes a Job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.JobBase"
+ """Gets a Job by name/id.
+
+ Gets a Job by name/id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: JobBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.JobBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('JobBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ body, # type: "_models.JobBase"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.JobBase"
+ """Creates and executes a Job.
+
+ Creates and executes a Job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :param body: Job definition object.
+ :type body: ~azure.mgmt.machinelearningservices.models.JobBase
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: JobBase, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.JobBase
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobBase"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'JobBase')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('JobBase', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('JobBase', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}"} # type: ignore
+
+
+ def _cancel_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_cancel_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ template_url=self._cancel_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _cancel_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}/cancel"} # type: ignore
+
+
+ @distributed_trace
+ def begin_cancel( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ id, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Cancels a Job (asynchronous).
+
+ Cancels a Job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param id: The name and identifier for the Job. This is case-sensitive.
+ :type id: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._cancel_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_cancel.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/jobs/{id}/cancel"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_containers_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_containers_operations.py
new file mode 100644
index 00000000..fd47a2ec
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_containers_operations.py
@@ -0,0 +1,527 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ count = kwargs.pop('count', None) # type: Optional[int]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if count is not None:
+ _query_parameters['count'] = _SERIALIZER.query("count", count, 'int')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class ModelContainersOperations(object):
+ """ModelContainersOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ count=None, # type: Optional[int]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ModelContainerResourceArmPaginatedResult"]
+ """List model containers.
+
+ List model containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param count: Maximum number of results to return.
+ :type count: int
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ModelContainerResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ModelContainerResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelContainerResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ count=count,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ModelContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ModelContainer"
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ModelContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.ModelContainer"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ModelContainer"
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param body: Container entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelContainer, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelContainer"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ModelContainer')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ModelContainer', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ModelContainer', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_versions_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_versions_operations.py
new file mode 100644
index 00000000..b0195cd2
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_model_versions_operations.py
@@ -0,0 +1,610 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ version = kwargs.pop('version', None) # type: Optional[str]
+ description = kwargs.pop('description', None) # type: Optional[str]
+ offset = kwargs.pop('offset', None) # type: Optional[int]
+ tags = kwargs.pop('tags', None) # type: Optional[str]
+ properties = kwargs.pop('properties', None) # type: Optional[str]
+ feed = kwargs.pop('feed', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if version is not None:
+ _query_parameters['version'] = _SERIALIZER.query("version", version, 'str')
+ if description is not None:
+ _query_parameters['description'] = _SERIALIZER.query("description", description, 'str')
+ if offset is not None:
+ _query_parameters['offset'] = _SERIALIZER.query("offset", offset, 'int')
+ if tags is not None:
+ _query_parameters['tags'] = _SERIALIZER.query("tags", tags, 'str')
+ if properties is not None:
+ _query_parameters['properties'] = _SERIALIZER.query("properties", properties, 'str')
+ if feed is not None:
+ _query_parameters['feed'] = _SERIALIZER.query("feed", feed, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "version": _SERIALIZER.url("version", version, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class ModelVersionsOperations(object):
+ """ModelVersionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ skip=None, # type: Optional[str]
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ version=None, # type: Optional[str]
+ description=None, # type: Optional[str]
+ offset=None, # type: Optional[int]
+ tags=None, # type: Optional[str]
+ properties=None, # type: Optional[str]
+ feed=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ModelVersionResourceArmPaginatedResult"]
+ """List model versions.
+
+ List model versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Model name. This is case-sensitive.
+ :type name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Maximum number of records to return.
+ :type top: int
+ :param version: Model version.
+ :type version: str
+ :param description: Model description.
+ :type description: str
+ :param offset: Number of initial results to skip.
+ :type offset: int
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2.
+ :type tags: str
+ :param properties: Comma-separated list of property names (and optionally values). Example:
+ prop1,prop2=value2.
+ :type properties: str
+ :param feed: Name of the feed.
+ :type feed: str
+ :param list_view_type: View type for including/excluding (for example) archived entities.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ModelVersionResourceArmPaginatedResult or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ModelVersionResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelVersionResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ skip=skip,
+ order_by=order_by,
+ top=top,
+ version=version,
+ description=description,
+ offset=offset,
+ tags=tags,
+ properties=properties,
+ feed=feed,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ skip=skip,
+ order_by=order_by,
+ top=top,
+ version=version,
+ description=description,
+ offset=offset,
+ tags=tags,
+ properties=properties,
+ feed=feed,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ModelVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions"} # type: ignore
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ModelVersion"
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ModelVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ version, # type: str
+ body, # type: "_models.ModelVersion"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ModelVersion"
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive.
+ :type version: str
+ :param body: Version entity to create or update.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ModelVersion, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ModelVersion"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'ModelVersion')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if response.status_code == 200:
+ deserialized = self._deserialize('ModelVersion', pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize('ModelVersion', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_deployments_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_deployments_operations.py
new file mode 100644
index 00000000..5bb9ef9e
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_deployments_operations.py
@@ -0,0 +1,1150 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ order_by = kwargs.pop('order_by', None) # type: Optional[str]
+ top = kwargs.pop('top', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if order_by is not None:
+ _query_parameters['$orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+ if top is not None:
+ _query_parameters['$top'] = _SERIALIZER.query("top", top, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PATCH",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_logs_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/getLogs") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_skus_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ count = kwargs.pop('count', None) # type: Optional[int]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/skus") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ "deploymentName": _SERIALIZER.url("deployment_name", deployment_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if count is not None:
+ _query_parameters['count'] = _SERIALIZER.query("count", count, 'int')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class OnlineDeploymentsOperations(object):
+ """OnlineDeploymentsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ order_by=None, # type: Optional[str]
+ top=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.OnlineDeploymentTrackedResourceArmPaginatedResult"]
+ """List Inference Endpoint Deployments.
+
+ List Inference Endpoint Deployments.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param order_by: Ordering of list.
+ :type order_by: str
+ :param top: Top of list.
+ :type top: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either OnlineDeploymentTrackedResourceArmPaginatedResult
+ or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.OnlineDeploymentTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeploymentTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("OnlineDeploymentTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Delete Inference Endpoint Deployment (asynchronous).
+
+ Delete Inference Endpoint Deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.OnlineDeployment"
+ """Get Inference Deployment Deployment.
+
+ Get Inference Deployment Deployment.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: OnlineDeployment, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.OnlineDeployment
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ def _update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.PartialMinimalTrackedResourceWithSku"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.OnlineDeployment"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.OnlineDeployment"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialMinimalTrackedResourceWithSku')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.PartialMinimalTrackedResourceWithSku"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.OnlineDeployment"]
+ """Update Online Deployment (asynchronous).
+
+ Update Online Deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :param body: Online Endpoint entity to apply during operation.
+ :type body: ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithSku
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either OnlineDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.OnlineDeployment"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.OnlineDeployment"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'OnlineDeployment')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.OnlineDeployment"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.OnlineDeployment"]
+ """Create or update Inference Endpoint Deployment (asynchronous).
+
+ Create or update Inference Endpoint Deployment (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :param body: Inference Endpoint entity to apply during operation.
+ :type body: ~azure.mgmt.machinelearningservices.models.OnlineDeployment
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either OnlineDeployment or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.OnlineDeployment]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineDeployment"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineDeployment', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}"} # type: ignore
+
+ @distributed_trace
+ def get_logs(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ body, # type: "_models.DeploymentLogsRequest"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.DeploymentLogs"
+ """Polls an Endpoint operation.
+
+ Polls an Endpoint operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: The name and identifier for the endpoint.
+ :type deployment_name: str
+ :param body: The request containing parameters for retrieving logs.
+ :type body: ~azure.mgmt.machinelearningservices.models.DeploymentLogsRequest
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: DeploymentLogs, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.DeploymentLogs
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentLogs"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'DeploymentLogsRequest')
+
+ request = build_get_logs_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.get_logs.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('DeploymentLogs', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_logs.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/getLogs"} # type: ignore
+
+
+ @distributed_trace
+ def list_skus(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ deployment_name, # type: str
+ count=None, # type: Optional[int]
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.SkuResourceArmPaginatedResult"]
+ """List Inference Endpoint Deployment Skus.
+
+ List Inference Endpoint Deployment Skus.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Inference endpoint name.
+ :type endpoint_name: str
+ :param deployment_name: Inference Endpoint Deployment name.
+ :type deployment_name: str
+ :param count: Number of Skus to be retrieved in a page of results.
+ :type count: int
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either SkuResourceArmPaginatedResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.SkuResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.SkuResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_skus_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=self.list_skus.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_skus_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ deployment_name=deployment_name,
+ api_version=api_version,
+ count=count,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("SkuResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list_skus.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/skus"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_endpoints_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_endpoints_operations.py
new file mode 100644
index 00000000..20dceffa
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_online_endpoints_operations.py
@@ -0,0 +1,1257 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ name = kwargs.pop('name', None) # type: Optional[str]
+ count = kwargs.pop('count', None) # type: Optional[int]
+ compute_type = kwargs.pop('compute_type', None) # type: Optional[Union[str, "_models.EndpointComputeType"]]
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ tags = kwargs.pop('tags', None) # type: Optional[str]
+ properties = kwargs.pop('properties', None) # type: Optional[str]
+ order_by = kwargs.pop('order_by', None) # type: Optional[Union[str, "_models.OrderString"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if name is not None:
+ _query_parameters['name'] = _SERIALIZER.query("name", name, 'str')
+ if count is not None:
+ _query_parameters['count'] = _SERIALIZER.query("count", count, 'int')
+ if compute_type is not None:
+ _query_parameters['computeType'] = _SERIALIZER.query("compute_type", compute_type, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if tags is not None:
+ _query_parameters['tags'] = _SERIALIZER.query("tags", tags, 'str')
+ if properties is not None:
+ _query_parameters['properties'] = _SERIALIZER.query("properties", properties, 'str')
+ if order_by is not None:
+ _query_parameters['orderBy'] = _SERIALIZER.query("order_by", order_by, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PATCH",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_keys_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/listKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_regenerate_keys_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/regenerateKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_token_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/token") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class OnlineEndpointsOperations(object):
+ """OnlineEndpointsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name=None, # type: Optional[str]
+ count=None, # type: Optional[int]
+ compute_type=None, # type: Optional[Union[str, "_models.EndpointComputeType"]]
+ skip=None, # type: Optional[str]
+ tags=None, # type: Optional[str]
+ properties=None, # type: Optional[str]
+ order_by=None, # type: Optional[Union[str, "_models.OrderString"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.OnlineEndpointTrackedResourceArmPaginatedResult"]
+ """List Online Endpoints.
+
+ List Online Endpoints.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Name of the endpoint.
+ :type name: str
+ :param count: Number of endpoints to be retrieved in a page of results.
+ :type count: int
+ :param compute_type: EndpointComputeType to be filtered by.
+ :type compute_type: str or ~azure.mgmt.machinelearningservices.models.EndpointComputeType
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param tags: A set of tags with which to filter the returned models. It is a comma separated
+ string of tags key or tags key=value. Example: tagKey1,tagKey2,tagKey3=value3 .
+ :type tags: str
+ :param properties: A set of properties with which to filter the returned models. It is a comma
+ separated string of properties key and/or properties key=value Example:
+ propKey1,propKey2,propKey3=value3 .
+ :type properties: str
+ :param order_by: The option to order the response.
+ :type order_by: str or ~azure.mgmt.machinelearningservices.models.OrderString
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either OnlineEndpointTrackedResourceArmPaginatedResult or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.OnlineEndpointTrackedResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpointTrackedResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ name=name,
+ count=count,
+ compute_type=compute_type,
+ skip=skip,
+ tags=tags,
+ properties=properties,
+ order_by=order_by,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ name=name,
+ count=count,
+ compute_type=compute_type,
+ skip=skip,
+ tags=tags,
+ properties=properties,
+ order_by=order_by,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("OnlineEndpointTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Delete Online Endpoint (asynchronous).
+
+ Delete Online Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.OnlineEndpoint"
+ """Get Online Endpoint.
+
+ Get Online Endpoint.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: OnlineEndpoint, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.OnlineEndpoint
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ def _update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.PartialMinimalTrackedResourceWithIdentity"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.OnlineEndpoint"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.OnlineEndpoint"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'PartialMinimalTrackedResourceWithIdentity')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.PartialMinimalTrackedResourceWithIdentity"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.OnlineEndpoint"]
+ """Update Online Endpoint (asynchronous).
+
+ Update Online Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param body: Online Endpoint entity to apply during operation.
+ :type body:
+ ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either OnlineEndpoint or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.OnlineEndpoint"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.OnlineEndpoint"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'OnlineEndpoint')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.OnlineEndpoint"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.OnlineEndpoint"]
+ """Create or update Online Endpoint (asynchronous).
+
+ Create or update Online Endpoint (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param body: Online Endpoint entity to apply during operation.
+ :type body: ~azure.mgmt.machinelearningservices.models.OnlineEndpoint
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either OnlineEndpoint or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.OnlineEndpoint]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.OnlineEndpoint"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('OnlineEndpoint', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}"} # type: ignore
+
+ @distributed_trace
+ def list_keys(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EndpointAuthKeys"
+ """List EndpointAuthKeys for an Endpoint using Key-based authentication.
+
+ List EndpointAuthKeys for an Endpoint using Key-based authentication.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EndpointAuthKeys, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EndpointAuthKeys
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EndpointAuthKeys"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EndpointAuthKeys', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/listKeys"} # type: ignore
+
+
+ def _regenerate_keys_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.RegenerateEndpointKeysRequest"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'RegenerateEndpointKeysRequest')
+
+ request = build_regenerate_keys_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._regenerate_keys_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _regenerate_keys_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/regenerateKeys"} # type: ignore
+
+
+ @distributed_trace
+ def begin_regenerate_keys( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ body, # type: "_models.RegenerateEndpointKeysRequest"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Regenerate EndpointAuthKeys for an Endpoint using Key-based authentication (asynchronous).
+
+ Regenerate EndpointAuthKeys for an Endpoint using Key-based authentication (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :param body: RegenerateKeys request .
+ :type body: ~azure.mgmt.machinelearningservices.models.RegenerateEndpointKeysRequest
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._regenerate_keys_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_regenerate_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/regenerateKeys"} # type: ignore
+
+ @distributed_trace
+ def get_token(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ endpoint_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.EndpointAuthToken"
+ """Retrieve a valid AAD token for an Endpoint using AMLToken-based authentication.
+
+ Retrieve a valid AAD token for an Endpoint using AMLToken-based authentication.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param endpoint_name: Online Endpoint name.
+ :type endpoint_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: EndpointAuthToken, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.EndpointAuthToken
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.EndpointAuthToken"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_token_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ endpoint_name=endpoint_name,
+ api_version=api_version,
+ template_url=self.get_token.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('EndpointAuthToken', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_token.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/token"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_operations.py
new file mode 100644
index 00000000..6ba39620
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_operations.py
@@ -0,0 +1,154 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/providers/Microsoft.MachineLearningServices/operations")
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class Operations(object):
+ """Operations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.AmlOperationListResult"]
+ """Lists all of the available Azure Machine Learning Workspaces REST API operations.
+
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either AmlOperationListResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.AmlOperationListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.AmlOperationListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("AmlOperationListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/providers/Microsoft.MachineLearningServices/operations"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_endpoint_connections_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_endpoint_connections_operations.py
new file mode 100644
index 00000000..7b0dfce5
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_endpoint_connections_operations.py
@@ -0,0 +1,494 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ subscription_id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ private_endpoint_connection_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ private_endpoint_connection_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ private_endpoint_connection_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class PrivateEndpointConnectionsOperations(object):
+ """PrivateEndpointConnectionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.PrivateEndpointConnectionListResult"]
+ """List all the private endpoint connections associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnectionListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("PrivateEndpointConnectionListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ private_endpoint_connection_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.PrivateEndpointConnection"
+ """Gets the specified private endpoint connection associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param private_endpoint_connection_name: The name of the private endpoint connection associated
+ with the workspace.
+ :type private_endpoint_connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: PrivateEndpointConnection, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ private_endpoint_connection_name=private_endpoint_connection_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"} # type: ignore
+
+
+ @distributed_trace
+ def create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ private_endpoint_connection_name, # type: str
+ properties, # type: "_models.PrivateEndpointConnection"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.PrivateEndpointConnection"
+ """Update the state of specified private endpoint connection associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param private_endpoint_connection_name: The name of the private endpoint connection associated
+ with the workspace.
+ :type private_endpoint_connection_name: str
+ :param properties: The private endpoint connection properties.
+ :type properties: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: PrivateEndpointConnection, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(properties, 'PrivateEndpointConnection')
+
+ request = build_create_or_update_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ private_endpoint_connection_name=private_endpoint_connection_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create_or_update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"} # type: ignore
+
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ private_endpoint_connection_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """Deletes the specified private endpoint connection associated with the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param private_endpoint_connection_name: The name of the private endpoint connection associated
+ with the workspace.
+ :type private_endpoint_connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ private_endpoint_connection_name=private_endpoint_connection_name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_link_resources_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_link_resources_operations.py
new file mode 100644
index 00000000..bda5baaa
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_private_link_resources_operations.py
@@ -0,0 +1,150 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class PrivateLinkResourcesOperations(object):
+ """PrivateLinkResourcesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.PrivateLinkResourceListResult"
+ """Gets the private link resources that need to be created for a workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: PrivateLinkResourceListResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.PrivateLinkResourceListResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('PrivateLinkResourceListResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_quotas_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_quotas_operations.py
new file mode 100644
index 00000000..165211ca
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_quotas_operations.py
@@ -0,0 +1,269 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_update_request(
+ location, # type: str
+ subscription_id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "location": _SERIALIZER.url("location", location, 'str', pattern=r'^[-\w\._]+$'),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_request(
+ subscription_id, # type: str
+ location, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/quotas") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "location": _SERIALIZER.url("location", location, 'str', pattern=r'^[-\w\._]+$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class QuotasOperations(object):
+ """QuotasOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def update(
+ self,
+ location, # type: str
+ parameters, # type: "_models.QuotaUpdateParameters"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.UpdateWorkspaceQuotasResult"
+ """Update quota for each VM family in workspace.
+
+ :param location: The location for update quota is queried.
+ :type location: str
+ :param parameters: Quota update parameters.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.QuotaUpdateParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: UpdateWorkspaceQuotasResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.UpdateWorkspaceQuotasResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.UpdateWorkspaceQuotasResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'QuotaUpdateParameters')
+
+ request = build_update_request(
+ location=location,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.update.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('UpdateWorkspaceQuotasResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ update.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas"} # type: ignore
+
+
+ @distributed_trace
+ def list(
+ self,
+ location, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ListWorkspaceQuotas"]
+ """Gets the currently assigned Workspace Quotas based on VMFamily.
+
+ :param location: The location for which resource usage is queried.
+ :type location: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ListWorkspaceQuotas or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ListWorkspaceQuotas]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListWorkspaceQuotas"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListWorkspaceQuotas", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/quotas"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_schedules_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_schedules_operations.py
new file mode 100644
index 00000000..f6063526
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_schedules_operations.py
@@ -0,0 +1,643 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+ list_view_type = kwargs.pop('list_view_type', None) # type: Optional[Union[str, "_models.ScheduleListViewType"]]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+ if list_view_type is not None:
+ _query_parameters['listViewType'] = _SERIALIZER.query("list_view_type", list_view_type, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "name": _SERIALIZER.url("name", name, 'str', pattern=r'^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class SchedulesOperations(object):
+ """SchedulesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ skip=None, # type: Optional[str]
+ list_view_type=None, # type: Optional[Union[str, "_models.ScheduleListViewType"]]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ScheduleResourceArmPaginatedResult"]
+ """List schedules in specified workspace.
+
+ List schedules in specified workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :param list_view_type: Status filter for schedule.
+ :type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleListViewType
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ScheduleResourceArmPaginatedResult or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ScheduleResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduleResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ skip=skip,
+ list_view_type=list_view_type,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ScheduleResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 202:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, None, response_headers)
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Delete schedule.
+
+ Delete schedule.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Schedule name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.Schedule"
+ """Get schedule.
+
+ Get schedule.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Schedule name.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Schedule, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Schedule
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Schedule"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('Schedule', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.Schedule"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.Schedule"
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Schedule"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(body, 'Schedule')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('Schedule', pipeline_response)
+
+ if response.status_code == 201:
+ response_headers['x-ms-async-operation-timeout']=self._deserialize('duration', response.headers.get('x-ms-async-operation-timeout'))
+ response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation'))
+
+ deserialized = self._deserialize('Schedule', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ name, # type: str
+ body, # type: "_models.Schedule"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.Schedule"]
+ """Create or update schedule.
+
+ Create or update schedule.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param name: Schedule name.
+ :type name: str
+ :param body: Schedule definition.
+ :type body: ~azure.mgmt.machinelearningservices.models.Schedule
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either Schedule or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Schedule]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Schedule"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('Schedule', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/schedules/{name}"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_usages_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_usages_operations.py
new file mode 100644
index 00000000..d35d0061
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_usages_operations.py
@@ -0,0 +1,169 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ location, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "location": _SERIALIZER.url("location", location, 'str', pattern=r'^[-\w\._]+$'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class UsagesOperations(object):
+ """UsagesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ location, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ListUsagesResult"]
+ """Gets the current usage information as well as limits for AML resources for given subscription
+ and location.
+
+ :param location: The location for which resource usage is queried.
+ :type location: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ListUsagesResult or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ListUsagesResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListUsagesResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ location=location,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListUsagesResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_virtual_machine_sizes_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_virtual_machine_sizes_operations.py
new file mode 100644
index 00000000..57dac5e0
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_virtual_machine_sizes_operations.py
@@ -0,0 +1,144 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ location, # type: str
+ subscription_id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "location": _SERIALIZER.url("location", location, 'str', pattern=r'^[-\w\._]+$'),
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class VirtualMachineSizesOperations(object):
+ """VirtualMachineSizesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ location, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.VirtualMachineSizeListResult"
+ """Returns supported VM Sizes in a location.
+
+ :param location: The location upon which virtual-machine-sizes is queried.
+ :type location: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: VirtualMachineSizeListResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.VirtualMachineSizeListResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineSizeListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_request(
+ location=location,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('VirtualMachineSizeListResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_connections_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_connections_operations.py
new file mode 100644
index 00000000..e4da5821
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_connections_operations.py
@@ -0,0 +1,508 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_create_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ connection_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "connectionName": _SERIALIZER.url("connection_name", connection_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ connection_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "connectionName": _SERIALIZER.url("connection_name", connection_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ connection_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ "connectionName": _SERIALIZER.url("connection_name", connection_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ target = kwargs.pop('target', None) # type: Optional[str]
+ category = kwargs.pop('category', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ if target is not None:
+ _query_parameters['target'] = _SERIALIZER.query("target", target, 'str')
+ if category is not None:
+ _query_parameters['category'] = _SERIALIZER.query("category", category, 'str')
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class WorkspaceConnectionsOperations(object):
+ """WorkspaceConnectionsOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def create(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ connection_name, # type: str
+ parameters, # type: "_models.WorkspaceConnectionPropertiesV2BasicResource"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.WorkspaceConnectionPropertiesV2BasicResource"
+ """create.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param connection_name: Friendly name of the workspace connection.
+ :type connection_name: str
+ :param parameters: The object for creating or updating a new workspace connection.
+ :type parameters:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: WorkspaceConnectionPropertiesV2BasicResource, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceConnectionPropertiesV2BasicResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'WorkspaceConnectionPropertiesV2BasicResource')
+
+ request = build_create_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ connection_name=connection_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self.create.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('WorkspaceConnectionPropertiesV2BasicResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ create.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"} # type: ignore
+
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ connection_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.WorkspaceConnectionPropertiesV2BasicResource"
+ """get.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param connection_name: Friendly name of the workspace connection.
+ :type connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: WorkspaceConnectionPropertiesV2BasicResource, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceConnectionPropertiesV2BasicResource"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ connection_name=connection_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('WorkspaceConnectionPropertiesV2BasicResource', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"} # type: ignore
+
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ connection_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ """delete.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param connection_name: Friendly name of the workspace connection.
+ :type connection_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: None, or the result of cls(response)
+ :rtype: None
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ connection_name=connection_name,
+ api_version=api_version,
+ template_url=self.delete.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}"} # type: ignore
+
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ target=None, # type: Optional[str]
+ category=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult"]
+ """list.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param target: Target of the workspace connection.
+ :type target: str
+ :param category: Category of the workspace connection.
+ :type category: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either
+ WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ target=target,
+ category=category,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ target=target,
+ category=category,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_features_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_features_operations.py
new file mode 100644
index 00000000..d70e9526
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspace_features_operations.py
@@ -0,0 +1,176 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_list_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class WorkspaceFeaturesOperations(object):
+ """WorkspaceFeaturesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.ListAmlUserFeatureResult"]
+ """Lists all enabled features for a workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either ListAmlUserFeatureResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ListAmlUserFeatureResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListAmlUserFeatureResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("ListAmlUserFeatureResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features"} # type: ignore
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspaces_operations.py b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspaces_operations.py
new file mode 100644
index 00000000..a95e8f4c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/operations/_workspaces_operations.py
@@ -0,0 +1,1832 @@
+# pylint: disable=too-many-lines
+# coding=utf-8
+# --------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for license information.
+# Code generated by Microsoft (R) AutoRest Code Generator.
+# Changes may cause incorrect behavior and will be lost if the code is regenerated.
+# --------------------------------------------------------------------------
+from typing import TYPE_CHECKING
+
+from msrest import Serializer
+
+from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
+from azure.core.paging import ItemPaged
+from azure.core.pipeline import PipelineResponse
+from azure.core.pipeline.transport import HttpResponse
+from azure.core.polling import LROPoller, NoPolling, PollingMethod
+from azure.core.rest import HttpRequest
+from azure.core.tracing.decorator import distributed_trace
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._vendor import _convert_request, _format_url_section
+
+if TYPE_CHECKING:
+ # pylint: disable=unused-import,ungrouped-imports
+ from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union
+ T = TypeVar('T')
+ ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+# fmt: off
+
+def build_get_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_create_or_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PUT",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_delete_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="DELETE",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_update_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="PATCH",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_by_resource_group_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_diagnose_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/diagnose") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ if content_type is not None:
+ _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str')
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_keys_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_resync_keys_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_by_subscription_request(
+ subscription_id, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ skip = kwargs.pop('skip', None) # type: Optional[str]
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+ if skip is not None:
+ _query_parameters['$skip'] = _SERIALIZER.query("skip", skip, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_notebook_access_token_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookAccessToken") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_prepare_notebook_request_initial(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_storage_account_keys_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listStorageAccountKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_notebook_keys_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookKeys") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="POST",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+
+def build_list_outbound_network_dependencies_endpoints_request(
+ subscription_id, # type: str
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+):
+ # type: (...) -> HttpRequest
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ accept = "application/json"
+ # Construct URL
+ _url = kwargs.pop("template_url", "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints") # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1),
+ "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1),
+ "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'),
+ }
+
+ _url = _format_url_section(_url, **path_format_arguments)
+
+ # Construct parameters
+ _query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any]
+ _query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str')
+
+ # Construct headers
+ _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any]
+ _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str')
+
+ return HttpRequest(
+ method="GET",
+ url=_url,
+ params=_query_parameters,
+ headers=_header_parameters,
+ **kwargs
+ )
+
+# fmt: on
+class WorkspacesOperations(object):
+ """WorkspacesOperations operations.
+
+ You should not instantiate this class directly. Instead, you should create a Client instance that
+ instantiates it for you and attaches it as an attribute.
+
+ :ivar models: Alias to model classes used in this operation group.
+ :type models: ~azure.mgmt.machinelearningservices.models
+ :param client: Client for service requests.
+ :param config: Configuration of service client.
+ :param serializer: An object model serializer.
+ :param deserializer: An object model deserializer.
+ """
+
+ models = _models
+
+ def __init__(self, client, config, serializer, deserializer):
+ self._client = client
+ self._serialize = serializer
+ self._deserialize = deserializer
+ self._config = config
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.Workspace"
+ """Gets the properties of the specified machine learning workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Workspace, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Workspace
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_get_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.get.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('Workspace', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ parameters, # type: "_models.Workspace"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.Workspace"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.Workspace"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'Workspace')
+
+ request = build_create_or_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._create_or_update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ if response.status_code == 200:
+ deserialized = self._deserialize('Workspace', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ parameters, # type: "_models.Workspace"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.Workspace"]
+ """Creates or updates a workspace with the specified parameters.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param parameters: The parameters for creating or updating a machine learning workspace.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.Workspace
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either Workspace or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Workspace]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('Workspace', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_create_or_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_delete_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202, 204]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _delete_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_delete( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Deletes a machine learning workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._delete_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_delete.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+ def _update_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ parameters, # type: "_models.WorkspaceUpdateParameters"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.Workspace"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.Workspace"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ _json = self._serialize.body(parameters, 'WorkspaceUpdateParameters')
+
+ request = build_update_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._update_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ if response.status_code == 200:
+ deserialized = self._deserialize('Workspace', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _update_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ parameters, # type: "_models.WorkspaceUpdateParameters"
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.Workspace"]
+ """Updates a machine learning workspace with the specified parameters.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param parameters: The parameters for updating a machine learning workspace.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.WorkspaceUpdateParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either Workspace or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Workspace]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('Workspace', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_update.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}"} # type: ignore
+
+ @distributed_trace
+ def list_by_resource_group(
+ self,
+ resource_group_name, # type: str
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.WorkspaceListResult"]
+ """Lists all the available machine learning workspaces under the specified resource group.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either WorkspaceListResult or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.WorkspaceListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_by_resource_group_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list_by_resource_group.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_by_resource_group_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list_by_resource_group.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces"} # type: ignore
+
+ def _diagnose_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ parameters=None, # type: Optional["_models.DiagnoseWorkspaceParameters"]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.DiagnoseResponseResult"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.DiagnoseResponseResult"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+
+ if parameters is not None:
+ _json = self._serialize.body(parameters, 'DiagnoseWorkspaceParameters')
+ else:
+ _json = None
+
+ request = build_diagnose_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ template_url=self._diagnose_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize('DiagnoseResponseResult', pipeline_response)
+
+ if response.status_code == 202:
+ response_headers['Location']=self._deserialize('str', response.headers.get('Location'))
+ response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After'))
+
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers)
+
+ return deserialized
+
+ _diagnose_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/diagnose"} # type: ignore
+
+
+ @distributed_trace
+ def begin_diagnose(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ parameters=None, # type: Optional["_models.DiagnoseWorkspaceParameters"]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.DiagnoseResponseResult"]
+ """Diagnose workspace setup issue.
+
+ Diagnose workspace setup issue.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :param parameters: The parameter of diagnosing workspace health.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.DiagnoseWorkspaceParameters
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either DiagnoseResponseResult or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DiagnoseResponseResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.DiagnoseResponseResult"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._diagnose_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ parameters=parameters,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('DiagnoseResponseResult', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_diagnose.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/diagnose"} # type: ignore
+
+ @distributed_trace
+ def list_keys(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ListWorkspaceKeysResult"
+ """Lists all the keys associated with this workspace. This includes keys for the storage account,
+ app insights and password for container registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ListWorkspaceKeysResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ListWorkspaceKeysResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListWorkspaceKeysResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ListWorkspaceKeysResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys"} # type: ignore
+
+
+ def _resync_keys_initial( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> None
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_resync_keys_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self._resync_keys_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ _resync_keys_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"} # type: ignore
+
+
+ @distributed_trace
+ def begin_resync_keys( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller[None]
+ """Resync all the keys associated with this workspace. This includes keys for the storage account,
+ app insights and password for container registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either None or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[None]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType[None]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._resync_keys_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ if cls:
+ return cls(pipeline_response, None, {})
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_resync_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys"} # type: ignore
+
+ @distributed_trace
+ def list_by_subscription(
+ self,
+ skip=None, # type: Optional[str]
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Iterable["_models.WorkspaceListResult"]
+ """Lists all the available machine learning workspaces under the specified subscription.
+
+ :param skip: Continuation token for pagination.
+ :type skip: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either WorkspaceListResult or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.WorkspaceListResult]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_by_subscription_request(
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ skip=skip,
+ template_url=self.list_by_subscription.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+
+ request = build_list_by_subscription_request(
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ skip=skip,
+ template_url=next_link,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+ request.method = "GET"
+ return request
+
+ def extract_data(pipeline_response):
+ deserialized = self._deserialize("WorkspaceListResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem)
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ return pipeline_response
+
+
+ return ItemPaged(
+ get_next, extract_data
+ )
+ list_by_subscription.metadata = {'url': "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces"} # type: ignore
+
+ @distributed_trace
+ def list_notebook_access_token(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.NotebookAccessTokenResult"
+ """return notebook access token and refresh token.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: NotebookAccessTokenResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.NotebookAccessTokenResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookAccessTokenResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_notebook_access_token_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_notebook_access_token.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('NotebookAccessTokenResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_notebook_access_token.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookAccessToken"} # type: ignore
+
+
+ def _prepare_notebook_initial(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> Optional["_models.NotebookResourceInfo"]
+ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.NotebookResourceInfo"]]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_prepare_notebook_request_initial(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self._prepare_notebook_initial.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 202]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ raise HttpResponseError(response=response, error_format=ARMErrorFormat)
+
+ deserialized = None
+ if response.status_code == 200:
+ deserialized = self._deserialize('NotebookResourceInfo', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _prepare_notebook_initial.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook"} # type: ignore
+
+
+ @distributed_trace
+ def begin_prepare_notebook(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> LROPoller["_models.NotebookResourceInfo"]
+ """Prepare a notebook.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :keyword str continuation_token: A continuation token to restart a poller from a saved state.
+ :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this
+ operation to not poll, or pass in your own initialized polling object for a personal polling
+ strategy.
+ :paramtype polling: bool or ~azure.core.polling.PollingMethod
+ :keyword int polling_interval: Default waiting time between two polls for LRO operations if no
+ Retry-After header is present.
+ :return: An instance of LROPoller that returns either NotebookResourceInfo or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.NotebookResourceInfo]
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod]
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookResourceInfo"]
+ lro_delay = kwargs.pop(
+ 'polling_interval',
+ self._config.polling_interval
+ )
+ cont_token = kwargs.pop('continuation_token', None) # type: Optional[str]
+ if cont_token is None:
+ raw_result = self._prepare_notebook_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ cls=lambda x,y,z: x,
+ **kwargs
+ )
+ kwargs.pop('error_map', None)
+
+ def get_long_running_output(pipeline_response):
+ response = pipeline_response.http_response
+ deserialized = self._deserialize('NotebookResourceInfo', pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+
+ if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs)
+ elif polling is False: polling_method = NoPolling()
+ else: polling_method = polling
+ if cont_token:
+ return LROPoller.from_continuation_token(
+ polling_method=polling_method,
+ continuation_token=cont_token,
+ client=self._client,
+ deserialization_callback=get_long_running_output
+ )
+ return LROPoller(self._client, raw_result, get_long_running_output, polling_method)
+
+ begin_prepare_notebook.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook"} # type: ignore
+
+ @distributed_trace
+ def list_storage_account_keys(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ListStorageAccountKeysResult"
+ """List storage account keys of a workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ListStorageAccountKeysResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ListStorageAccountKeysResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListStorageAccountKeysResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_storage_account_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_storage_account_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ListStorageAccountKeysResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_storage_account_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listStorageAccountKeys"} # type: ignore
+
+
+ @distributed_trace
+ def list_notebook_keys(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ListNotebookKeysResult"
+ """List keys of a notebook.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ListNotebookKeysResult, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ListNotebookKeysResult
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListNotebookKeysResult"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_notebook_keys_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_notebook_keys.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ListNotebookKeysResult', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_notebook_keys.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listNotebookKeys"} # type: ignore
+
+
+ @distributed_trace
+ def list_outbound_network_dependencies_endpoints(
+ self,
+ resource_group_name, # type: str
+ workspace_name, # type: str
+ **kwargs # type: Any
+ ):
+ # type: (...) -> "_models.ExternalFQDNResponse"
+ """Called by Client (Portal, CLI, etc) to get a list of all external outbound dependencies (FQDNs)
+ programmatically.
+
+ Called by Client (Portal, CLI, etc) to get a list of all external outbound dependencies (FQDNs)
+ programmatically.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace.
+ :type workspace_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: ExternalFQDNResponse, or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.ExternalFQDNResponse
+ :raises: ~azure.core.exceptions.HttpResponseError
+ """
+ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExternalFQDNResponse"]
+ error_map = {
+ 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
+ }
+ error_map.update(kwargs.pop('error_map', {}))
+
+ api_version = kwargs.pop('api_version', "2022-10-01") # type: str
+
+
+ request = build_list_outbound_network_dependencies_endpoints_request(
+ subscription_id=self._config.subscription_id,
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ api_version=api_version,
+ template_url=self.list_outbound_network_dependencies_endpoints.metadata['url'],
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access
+ request,
+ stream=False,
+ **kwargs
+ )
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200]:
+ map_error(status_code=response.status_code, response=response, error_map=error_map)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = self._deserialize('ExternalFQDNResponse', pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ list_outbound_network_dependencies_endpoints.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints"} # type: ignore
+
diff --git a/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/py.typed b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/py.typed
new file mode 100644
index 00000000..e5aff4f8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure/ai/ml/_restclient/v2022_10_01/py.typed
@@ -0,0 +1 @@
+# Marker file for PEP 561. \ No newline at end of file