diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/_meta.json b/sdk/machinelearning/azure-mgmt-machinelearningservices/_meta.json
index 216b79b26570..b941caf3c62f 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/_meta.json
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/_meta.json
@@ -1,11 +1,11 @@
{
- "commit": "b32e1896f30e6ea155449cb49719a6286e32b961",
+ "commit": "5284e015575a3e18d03dcf4ed6198dbb775f55b6",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"autorest": "3.9.2",
"use": [
- "@autorest/python@6.2.7",
+ "@autorest/python@6.4.3",
"@autorest/modelerfour@4.24.3"
],
- "autorest_command": "autorest specification/machinelearningservices/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/home/vsts/work/1/azure-sdk-for-python/sdk --use=@autorest/python@6.2.7 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
+ "autorest_command": "autorest specification/machinelearningservices/resource-manager/readme.md --generate-sample=True --include-x-ms-examples-original-file=True --python --python-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-python/sdk --use=@autorest/python@6.4.3 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False",
"readme": "specification/machinelearningservices/resource-manager/readme.md"
}
\ No newline at end of file
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_configuration.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_configuration.py
index 12c43638a412..2f82de2c5e33 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_configuration.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_configuration.py
@@ -35,14 +35,14 @@ class MachineLearningServicesMgmtClientConfiguration(Configuration): # pylint:
:type credential: ~azure.core.credentials.TokenCredential
:param subscription_id: The ID of the target subscription. Required.
:type subscription_id: str
- :keyword api_version: Api Version. Default value is "2022-10-01". Note that overriding this
- default value may result in unsupported behavior.
+ :keyword api_version: Api Version. Default value is "2023-04-01-preview". Note that overriding
+ this default value may result in unsupported behavior.
:paramtype api_version: str
"""
def __init__(self, credential: "TokenCredential", subscription_id: str, **kwargs: Any) -> None:
super(MachineLearningServicesMgmtClientConfiguration, self).__init__(**kwargs)
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", "2022-10-01")
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop("api_version", "2023-04-01-preview")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_machine_learning_services_mgmt_client.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_machine_learning_services_mgmt_client.py
index feffb8cfc3ed..75aa7616eb83 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_machine_learning_services_mgmt_client.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_machine_learning_services_mgmt_client.py
@@ -28,7 +28,12 @@
DatastoresOperations,
EnvironmentContainersOperations,
EnvironmentVersionsOperations,
+ FeaturesetContainersOperations,
+ FeaturesetVersionsOperations,
+ FeaturestoreEntityContainersOperations,
+ FeaturestoreEntityVersionsOperations,
JobsOperations,
+ LabelingJobsOperations,
ModelContainersOperations,
ModelVersionsOperations,
OnlineDeploymentsOperations,
@@ -37,6 +42,17 @@
PrivateEndpointConnectionsOperations,
PrivateLinkResourcesOperations,
QuotasOperations,
+ RegistriesOperations,
+ RegistryCodeContainersOperations,
+ RegistryCodeVersionsOperations,
+ RegistryComponentContainersOperations,
+ RegistryComponentVersionsOperations,
+ RegistryDataContainersOperations,
+ RegistryDataVersionsOperations,
+ RegistryEnvironmentContainersOperations,
+ RegistryEnvironmentVersionsOperations,
+ RegistryModelContainersOperations,
+ RegistryModelVersionsOperations,
SchedulesOperations,
UsagesOperations,
VirtualMachineSizesOperations,
@@ -75,6 +91,36 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
:ivar workspace_connections: WorkspaceConnectionsOperations operations
:vartype workspace_connections:
azure.mgmt.machinelearningservices.operations.WorkspaceConnectionsOperations
+ :ivar registry_code_containers: RegistryCodeContainersOperations operations
+ :vartype registry_code_containers:
+ azure.mgmt.machinelearningservices.operations.RegistryCodeContainersOperations
+ :ivar registry_code_versions: RegistryCodeVersionsOperations operations
+ :vartype registry_code_versions:
+ azure.mgmt.machinelearningservices.operations.RegistryCodeVersionsOperations
+ :ivar registry_component_containers: RegistryComponentContainersOperations operations
+ :vartype registry_component_containers:
+ azure.mgmt.machinelearningservices.operations.RegistryComponentContainersOperations
+ :ivar registry_component_versions: RegistryComponentVersionsOperations operations
+ :vartype registry_component_versions:
+ azure.mgmt.machinelearningservices.operations.RegistryComponentVersionsOperations
+ :ivar registry_data_containers: RegistryDataContainersOperations operations
+ :vartype registry_data_containers:
+ azure.mgmt.machinelearningservices.operations.RegistryDataContainersOperations
+ :ivar registry_data_versions: RegistryDataVersionsOperations operations
+ :vartype registry_data_versions:
+ azure.mgmt.machinelearningservices.operations.RegistryDataVersionsOperations
+ :ivar registry_environment_containers: RegistryEnvironmentContainersOperations operations
+ :vartype registry_environment_containers:
+ azure.mgmt.machinelearningservices.operations.RegistryEnvironmentContainersOperations
+ :ivar registry_environment_versions: RegistryEnvironmentVersionsOperations operations
+ :vartype registry_environment_versions:
+ azure.mgmt.machinelearningservices.operations.RegistryEnvironmentVersionsOperations
+ :ivar registry_model_containers: RegistryModelContainersOperations operations
+ :vartype registry_model_containers:
+ azure.mgmt.machinelearningservices.operations.RegistryModelContainersOperations
+ :ivar registry_model_versions: RegistryModelVersionsOperations operations
+ :vartype registry_model_versions:
+ azure.mgmt.machinelearningservices.operations.RegistryModelVersionsOperations
:ivar batch_endpoints: BatchEndpointsOperations operations
:vartype batch_endpoints:
azure.mgmt.machinelearningservices.operations.BatchEndpointsOperations
@@ -105,8 +151,22 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
:ivar environment_versions: EnvironmentVersionsOperations operations
:vartype environment_versions:
azure.mgmt.machinelearningservices.operations.EnvironmentVersionsOperations
+ :ivar featureset_containers: FeaturesetContainersOperations operations
+ :vartype featureset_containers:
+ azure.mgmt.machinelearningservices.operations.FeaturesetContainersOperations
+ :ivar featureset_versions: FeaturesetVersionsOperations operations
+ :vartype featureset_versions:
+ azure.mgmt.machinelearningservices.operations.FeaturesetVersionsOperations
+ :ivar featurestore_entity_containers: FeaturestoreEntityContainersOperations operations
+ :vartype featurestore_entity_containers:
+ azure.mgmt.machinelearningservices.operations.FeaturestoreEntityContainersOperations
+ :ivar featurestore_entity_versions: FeaturestoreEntityVersionsOperations operations
+ :vartype featurestore_entity_versions:
+ azure.mgmt.machinelearningservices.operations.FeaturestoreEntityVersionsOperations
:ivar jobs: JobsOperations operations
:vartype jobs: azure.mgmt.machinelearningservices.operations.JobsOperations
+ :ivar labeling_jobs: LabelingJobsOperations operations
+ :vartype labeling_jobs: azure.mgmt.machinelearningservices.operations.LabelingJobsOperations
:ivar model_containers: ModelContainersOperations operations
:vartype model_containers:
azure.mgmt.machinelearningservices.operations.ModelContainersOperations
@@ -120,6 +180,8 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
azure.mgmt.machinelearningservices.operations.OnlineDeploymentsOperations
:ivar schedules: SchedulesOperations operations
:vartype schedules: azure.mgmt.machinelearningservices.operations.SchedulesOperations
+ :ivar registries: RegistriesOperations operations
+ :vartype registries: azure.mgmt.machinelearningservices.operations.RegistriesOperations
:ivar workspace_features: WorkspaceFeaturesOperations operations
:vartype workspace_features:
azure.mgmt.machinelearningservices.operations.WorkspaceFeaturesOperations
@@ -129,8 +191,8 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
: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. Default value is "2022-10-01". Note that overriding this
- default value may result in unsupported behavior.
+ :keyword api_version: Api Version. Default value is "2023-04-01-preview". 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.
@@ -146,7 +208,7 @@ def __init__(
self._config = MachineLearningServicesMgmtClientConfiguration(
credential=credential, subscription_id=subscription_id, **kwargs
)
- self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
+ self._client: ARMPipelineClient = 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)
@@ -169,6 +231,36 @@ def __init__(
self.workspace_connections = WorkspaceConnectionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.registry_code_containers = RegistryCodeContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_code_versions = RegistryCodeVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_component_containers = RegistryComponentContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_component_versions = RegistryComponentVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_data_containers = RegistryDataContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_data_versions = RegistryDataVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_environment_containers = RegistryEnvironmentContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_environment_versions = RegistryEnvironmentVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_model_containers = RegistryModelContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_model_versions = RegistryModelVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.batch_endpoints = BatchEndpointsOperations(self._client, self._config, self._serialize, self._deserialize)
self.batch_deployments = BatchDeploymentsOperations(
self._client, self._config, self._serialize, self._deserialize
@@ -190,7 +282,20 @@ def __init__(
self.environment_versions = EnvironmentVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.featureset_containers = FeaturesetContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.featureset_versions = FeaturesetVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.featurestore_entity_containers = FeaturestoreEntityContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.featurestore_entity_versions = FeaturestoreEntityVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.labeling_jobs = LabelingJobsOperations(self._client, self._config, self._serialize, self._deserialize)
self.model_containers = ModelContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -202,6 +307,7 @@ def __init__(
self._client, self._config, self._serialize, self._deserialize
)
self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.registries = RegistriesOperations(self._client, self._config, self._serialize, self._deserialize)
self.workspace_features = WorkspaceFeaturesOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -235,5 +341,5 @@ def __enter__(self) -> "MachineLearningServicesMgmtClient":
self._client.__enter__()
return self
- def __exit__(self, *exc_details) -> None:
+ def __exit__(self, *exc_details: Any) -> None:
self._client.__exit__(*exc_details)
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_serialization.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_serialization.py
index 2c170e28dbca..f17c068e833e 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_serialization.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_serialization.py
@@ -38,7 +38,22 @@
import re
import sys
import codecs
-from typing import Optional, Union, AnyStr, IO, Mapping
+from typing import (
+ Dict,
+ Any,
+ cast,
+ Optional,
+ Union,
+ AnyStr,
+ IO,
+ Mapping,
+ Callable,
+ TypeVar,
+ MutableMapping,
+ Type,
+ List,
+ Mapping,
+)
try:
from urllib import quote # type: ignore
@@ -48,12 +63,14 @@
import isodate # type: ignore
-from typing import Dict, Any, cast
-
from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback
+from azure.core.serialization import NULL as AzureCoreNull
_BOM = codecs.BOM_UTF8.decode(encoding="utf-8")
+ModelType = TypeVar("ModelType", bound="Model")
+JSON = MutableMapping[str, Any]
+
class RawDeserializer:
@@ -277,8 +294,8 @@ class Model(object):
_attribute_map: Dict[str, Dict[str, Any]] = {}
_validation: Dict[str, Dict[str, Any]] = {}
- def __init__(self, **kwargs):
- self.additional_properties = {}
+ def __init__(self, **kwargs: Any) -> None:
+ self.additional_properties: Dict[str, Any] = {}
for k in kwargs:
if k not in self._attribute_map:
_LOGGER.warning("%s is not a known attribute of class %s and will be ignored", k, self.__class__)
@@ -287,25 +304,25 @@ def __init__(self, **kwargs):
else:
setattr(self, k, kwargs[k])
- def __eq__(self, other):
+ def __eq__(self, other: Any) -> bool:
"""Compare objects by comparing all attributes."""
if isinstance(other, self.__class__):
return self.__dict__ == other.__dict__
return False
- def __ne__(self, other):
+ def __ne__(self, other: Any) -> bool:
"""Compare objects by comparing all attributes."""
return not self.__eq__(other)
- def __str__(self):
+ def __str__(self) -> str:
return str(self.__dict__)
@classmethod
- def enable_additional_properties_sending(cls):
+ def enable_additional_properties_sending(cls) -> None:
cls._attribute_map["additional_properties"] = {"key": "", "type": "{object}"}
@classmethod
- def is_xml_model(cls):
+ def is_xml_model(cls) -> bool:
try:
cls._xml_map # type: ignore
except AttributeError:
@@ -322,7 +339,7 @@ def _create_xml_node(cls):
return _create_xml_node(xml_map.get("name", cls.__name__), xml_map.get("prefix", None), xml_map.get("ns", None))
- def serialize(self, keep_readonly=False, **kwargs):
+ def serialize(self, keep_readonly: bool = False, **kwargs: Any) -> JSON:
"""Return the JSON that would be sent to azure from this model.
This is an alias to `as_dict(full_restapi_key_transformer, keep_readonly=False)`.
@@ -336,8 +353,13 @@ def serialize(self, keep_readonly=False, **kwargs):
serializer = Serializer(self._infer_class_models())
return serializer._serialize(self, keep_readonly=keep_readonly, **kwargs)
- def as_dict(self, keep_readonly=True, key_transformer=attribute_transformer, **kwargs):
- """Return a dict that can be JSONify using json.dump.
+ def as_dict(
+ self,
+ keep_readonly: bool = True,
+ key_transformer: Callable[[str, Dict[str, Any], Any], Any] = attribute_transformer,
+ **kwargs: Any
+ ) -> JSON:
+ """Return a dict that can be serialized using json.dump.
Advanced usage might optionally use a callback as parameter:
@@ -384,7 +406,7 @@ def _infer_class_models(cls):
return client_models
@classmethod
- def deserialize(cls, data, content_type=None):
+ def deserialize(cls: Type[ModelType], data: Any, content_type: Optional[str] = None) -> ModelType:
"""Parse a str using the RestAPI syntax and return a model.
:param str data: A str using RestAPI structure. JSON by default.
@@ -396,7 +418,12 @@ def deserialize(cls, data, content_type=None):
return deserializer(cls.__name__, data, content_type=content_type)
@classmethod
- def from_dict(cls, data, key_extractors=None, content_type=None):
+ def from_dict(
+ cls: Type[ModelType],
+ data: Any,
+ key_extractors: Optional[Callable[[str, Dict[str, Any], Any], Any]] = None,
+ content_type: Optional[str] = None,
+ ) -> ModelType:
"""Parse a dict using given key extractor return a model.
By default consider key
@@ -409,8 +436,8 @@ def from_dict(cls, data, key_extractors=None, content_type=None):
:raises: DeserializationError if something went wrong
"""
deserializer = Deserializer(cls._infer_class_models())
- deserializer.key_extractors = (
- [
+ deserializer.key_extractors = ( # type: ignore
+ [ # type: ignore
attribute_key_case_insensitive_extractor,
rest_key_case_insensitive_extractor,
last_rest_key_case_insensitive_extractor,
@@ -518,7 +545,7 @@ class Serializer(object):
"multiple": lambda x, y: x % y != 0,
}
- def __init__(self, classes=None):
+ def __init__(self, classes: Optional[Mapping[str, Type[ModelType]]] = None):
self.serialize_type = {
"iso-8601": Serializer.serialize_iso,
"rfc-1123": Serializer.serialize_rfc,
@@ -534,7 +561,7 @@ def __init__(self, classes=None):
"[]": self.serialize_iter,
"{}": self.serialize_dict,
}
- self.dependencies = dict(classes) if classes else {}
+ self.dependencies: Dict[str, Type[ModelType]] = dict(classes) if classes else {}
self.key_transformer = full_restapi_key_transformer
self.client_side_validation = True
@@ -626,8 +653,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs):
serialized.append(local_node) # type: ignore
else: # JSON
for k in reversed(keys): # type: ignore
- unflattened = {k: new_attr}
- new_attr = unflattened
+ new_attr = {k: new_attr}
_new_attr = new_attr
_serialized = serialized
@@ -656,8 +682,8 @@ def body(self, data, data_type, **kwargs):
"""
# Just in case this is a dict
- internal_data_type = data_type.strip("[]{}")
- internal_data_type = self.dependencies.get(internal_data_type, None)
+ internal_data_type_str = data_type.strip("[]{}")
+ internal_data_type = self.dependencies.get(internal_data_type_str, None)
try:
is_xml_model_serialization = kwargs["is_xml"]
except KeyError:
@@ -777,6 +803,8 @@ def serialize_data(self, data, data_type, **kwargs):
raise ValueError("No value for given attribute")
try:
+ if data is AzureCoreNull:
+ return None
if data_type in self.basic_types.values():
return self.serialize_basic(data, data_type, **kwargs)
@@ -1161,7 +1189,8 @@ def rest_key_extractor(attr, attr_desc, data):
working_data = data
while "." in key:
- dict_keys = _FLATTEN.split(key)
+ # Need the cast, as for some reasons "split" is typed as list[str | Any]
+ dict_keys = cast(List[str], _FLATTEN.split(key))
if len(dict_keys) == 1:
key = _decode_attribute_map_key(dict_keys[0])
break
@@ -1332,7 +1361,7 @@ class Deserializer(object):
valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?")
- def __init__(self, classes=None):
+ def __init__(self, classes: Optional[Mapping[str, Type[ModelType]]] = None):
self.deserialize_type = {
"iso-8601": Deserializer.deserialize_iso,
"rfc-1123": Deserializer.deserialize_rfc,
@@ -1352,7 +1381,7 @@ def __init__(self, classes=None):
"duration": (isodate.Duration, datetime.timedelta),
"iso-8601": (datetime.datetime),
}
- self.dependencies = dict(classes) if classes else {}
+ self.dependencies: Dict[str, Type[ModelType]] = dict(classes) if classes else {}
self.key_extractors = [rest_key_extractor, xml_key_extractor]
# Additional properties only works if the "rest_key_extractor" is used to
# extract the keys. Making it to work whatever the key extractor is too much
@@ -1471,7 +1500,7 @@ def _classify_target(self, target, data):
Once classification has been determined, initialize object.
:param str target: The target object type to deserialize to.
- :param str/dict data: The response data to deseralize.
+ :param str/dict data: The response data to deserialize.
"""
if target is None:
return None, None
@@ -1486,7 +1515,7 @@ def _classify_target(self, target, data):
target = target._classify(data, self.dependencies)
except AttributeError:
pass # Target is not a Model, no classify
- return target, target.__class__.__name__
+ return target, target.__class__.__name__ # type: ignore
def failsafe_deserialize(self, target_obj, data, content_type=None):
"""Ignores any errors encountered in deserialization,
@@ -1496,7 +1525,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None):
a deserialization error.
:param str target_obj: The target object type to deserialize to.
- :param str/dict data: The response data to deseralize.
+ :param str/dict data: The response data to deserialize.
:param str content_type: Swagger "produces" if available.
"""
try:
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_vendor.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_vendor.py
index 9aad73fc743e..bd0df84f5319 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_vendor.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_vendor.py
@@ -5,6 +5,8 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
+from typing import List, cast
+
from azure.core.pipeline.transport import HttpRequest
@@ -22,6 +24,7 @@ def _format_url_section(template, **kwargs):
try:
return template.format(**kwargs)
except KeyError as key:
- formatted_components = template.split("/")
+ # Need the cast, as for some reasons "split" is typed as list[str | Any]
+ formatted_components = cast(List[str], template.split("/"))
components = [c for c in formatted_components if "{}".format(key.args[0]) not in c]
template = "/".join(components)
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_version.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_version.py
index e32dc6ec4218..e5754a47ce68 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_version.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/_version.py
@@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
-VERSION = "2.0.0b1"
+VERSION = "1.0.0b1"
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_configuration.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_configuration.py
index 88eada53ff68..879fea9d06f9 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_configuration.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_configuration.py
@@ -35,14 +35,14 @@ class MachineLearningServicesMgmtClientConfiguration(Configuration): # pylint:
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
:param subscription_id: The ID of the target subscription. Required.
:type subscription_id: str
- :keyword api_version: Api Version. Default value is "2022-10-01". Note that overriding this
- default value may result in unsupported behavior.
+ :keyword api_version: Api Version. Default value is "2023-04-01-preview". 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(MachineLearningServicesMgmtClientConfiguration, self).__init__(**kwargs)
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", "2022-10-01")
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop("api_version", "2023-04-01-preview")
if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_machine_learning_services_mgmt_client.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_machine_learning_services_mgmt_client.py
index 4c1c840cfff5..d3cd582f2c6c 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_machine_learning_services_mgmt_client.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/_machine_learning_services_mgmt_client.py
@@ -28,7 +28,12 @@
DatastoresOperations,
EnvironmentContainersOperations,
EnvironmentVersionsOperations,
+ FeaturesetContainersOperations,
+ FeaturesetVersionsOperations,
+ FeaturestoreEntityContainersOperations,
+ FeaturestoreEntityVersionsOperations,
JobsOperations,
+ LabelingJobsOperations,
ModelContainersOperations,
ModelVersionsOperations,
OnlineDeploymentsOperations,
@@ -37,6 +42,17 @@
PrivateEndpointConnectionsOperations,
PrivateLinkResourcesOperations,
QuotasOperations,
+ RegistriesOperations,
+ RegistryCodeContainersOperations,
+ RegistryCodeVersionsOperations,
+ RegistryComponentContainersOperations,
+ RegistryComponentVersionsOperations,
+ RegistryDataContainersOperations,
+ RegistryDataVersionsOperations,
+ RegistryEnvironmentContainersOperations,
+ RegistryEnvironmentVersionsOperations,
+ RegistryModelContainersOperations,
+ RegistryModelVersionsOperations,
SchedulesOperations,
UsagesOperations,
VirtualMachineSizesOperations,
@@ -75,6 +91,36 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
:ivar workspace_connections: WorkspaceConnectionsOperations operations
:vartype workspace_connections:
azure.mgmt.machinelearningservices.aio.operations.WorkspaceConnectionsOperations
+ :ivar registry_code_containers: RegistryCodeContainersOperations operations
+ :vartype registry_code_containers:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryCodeContainersOperations
+ :ivar registry_code_versions: RegistryCodeVersionsOperations operations
+ :vartype registry_code_versions:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryCodeVersionsOperations
+ :ivar registry_component_containers: RegistryComponentContainersOperations operations
+ :vartype registry_component_containers:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryComponentContainersOperations
+ :ivar registry_component_versions: RegistryComponentVersionsOperations operations
+ :vartype registry_component_versions:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryComponentVersionsOperations
+ :ivar registry_data_containers: RegistryDataContainersOperations operations
+ :vartype registry_data_containers:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryDataContainersOperations
+ :ivar registry_data_versions: RegistryDataVersionsOperations operations
+ :vartype registry_data_versions:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryDataVersionsOperations
+ :ivar registry_environment_containers: RegistryEnvironmentContainersOperations operations
+ :vartype registry_environment_containers:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryEnvironmentContainersOperations
+ :ivar registry_environment_versions: RegistryEnvironmentVersionsOperations operations
+ :vartype registry_environment_versions:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryEnvironmentVersionsOperations
+ :ivar registry_model_containers: RegistryModelContainersOperations operations
+ :vartype registry_model_containers:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryModelContainersOperations
+ :ivar registry_model_versions: RegistryModelVersionsOperations operations
+ :vartype registry_model_versions:
+ azure.mgmt.machinelearningservices.aio.operations.RegistryModelVersionsOperations
:ivar batch_endpoints: BatchEndpointsOperations operations
:vartype batch_endpoints:
azure.mgmt.machinelearningservices.aio.operations.BatchEndpointsOperations
@@ -107,8 +153,23 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
:ivar environment_versions: EnvironmentVersionsOperations operations
:vartype environment_versions:
azure.mgmt.machinelearningservices.aio.operations.EnvironmentVersionsOperations
+ :ivar featureset_containers: FeaturesetContainersOperations operations
+ :vartype featureset_containers:
+ azure.mgmt.machinelearningservices.aio.operations.FeaturesetContainersOperations
+ :ivar featureset_versions: FeaturesetVersionsOperations operations
+ :vartype featureset_versions:
+ azure.mgmt.machinelearningservices.aio.operations.FeaturesetVersionsOperations
+ :ivar featurestore_entity_containers: FeaturestoreEntityContainersOperations operations
+ :vartype featurestore_entity_containers:
+ azure.mgmt.machinelearningservices.aio.operations.FeaturestoreEntityContainersOperations
+ :ivar featurestore_entity_versions: FeaturestoreEntityVersionsOperations operations
+ :vartype featurestore_entity_versions:
+ azure.mgmt.machinelearningservices.aio.operations.FeaturestoreEntityVersionsOperations
:ivar jobs: JobsOperations operations
:vartype jobs: azure.mgmt.machinelearningservices.aio.operations.JobsOperations
+ :ivar labeling_jobs: LabelingJobsOperations operations
+ :vartype labeling_jobs:
+ azure.mgmt.machinelearningservices.aio.operations.LabelingJobsOperations
:ivar model_containers: ModelContainersOperations operations
:vartype model_containers:
azure.mgmt.machinelearningservices.aio.operations.ModelContainersOperations
@@ -123,6 +184,8 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
azure.mgmt.machinelearningservices.aio.operations.OnlineDeploymentsOperations
:ivar schedules: SchedulesOperations operations
:vartype schedules: azure.mgmt.machinelearningservices.aio.operations.SchedulesOperations
+ :ivar registries: RegistriesOperations operations
+ :vartype registries: azure.mgmt.machinelearningservices.aio.operations.RegistriesOperations
:ivar workspace_features: WorkspaceFeaturesOperations operations
:vartype workspace_features:
azure.mgmt.machinelearningservices.aio.operations.WorkspaceFeaturesOperations
@@ -132,8 +195,8 @@ class MachineLearningServicesMgmtClient: # pylint: disable=client-accepts-api-v
: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. Default value is "2022-10-01". Note that overriding this
- default value may result in unsupported behavior.
+ :keyword api_version: Api Version. Default value is "2023-04-01-preview". 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.
@@ -149,7 +212,7 @@ def __init__(
self._config = MachineLearningServicesMgmtClientConfiguration(
credential=credential, subscription_id=subscription_id, **kwargs
)
- self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs)
+ self._client: AsyncARMPipelineClient = 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)
@@ -172,6 +235,36 @@ def __init__(
self.workspace_connections = WorkspaceConnectionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.registry_code_containers = RegistryCodeContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_code_versions = RegistryCodeVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_component_containers = RegistryComponentContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_component_versions = RegistryComponentVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_data_containers = RegistryDataContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_data_versions = RegistryDataVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_environment_containers = RegistryEnvironmentContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_environment_versions = RegistryEnvironmentVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_model_containers = RegistryModelContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.registry_model_versions = RegistryModelVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.batch_endpoints = BatchEndpointsOperations(self._client, self._config, self._serialize, self._deserialize)
self.batch_deployments = BatchDeploymentsOperations(
self._client, self._config, self._serialize, self._deserialize
@@ -193,7 +286,20 @@ def __init__(
self.environment_versions = EnvironmentVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
+ self.featureset_containers = FeaturesetContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.featureset_versions = FeaturesetVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.featurestore_entity_containers = FeaturestoreEntityContainersOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
+ self.featurestore_entity_versions = FeaturestoreEntityVersionsOperations(
+ self._client, self._config, self._serialize, self._deserialize
+ )
self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.labeling_jobs = LabelingJobsOperations(self._client, self._config, self._serialize, self._deserialize)
self.model_containers = ModelContainersOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -205,6 +311,7 @@ def __init__(
self._client, self._config, self._serialize, self._deserialize
)
self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize)
+ self.registries = RegistriesOperations(self._client, self._config, self._serialize, self._deserialize)
self.workspace_features = WorkspaceFeaturesOperations(
self._client, self._config, self._serialize, self._deserialize
)
@@ -238,5 +345,5 @@ async def __aenter__(self) -> "MachineLearningServicesMgmtClient":
await self._client.__aenter__()
return self
- async def __aexit__(self, *exc_details) -> None:
+ async def __aexit__(self, *exc_details: Any) -> None:
await self._client.__aexit__(*exc_details)
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/__init__.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/__init__.py
index 0065485916d9..5f852b48c123 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/__init__.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/__init__.py
@@ -15,6 +15,16 @@
from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations
from ._private_link_resources_operations import PrivateLinkResourcesOperations
from ._workspace_connections_operations import WorkspaceConnectionsOperations
+from ._registry_code_containers_operations import RegistryCodeContainersOperations
+from ._registry_code_versions_operations import RegistryCodeVersionsOperations
+from ._registry_component_containers_operations import RegistryComponentContainersOperations
+from ._registry_component_versions_operations import RegistryComponentVersionsOperations
+from ._registry_data_containers_operations import RegistryDataContainersOperations
+from ._registry_data_versions_operations import RegistryDataVersionsOperations
+from ._registry_environment_containers_operations import RegistryEnvironmentContainersOperations
+from ._registry_environment_versions_operations import RegistryEnvironmentVersionsOperations
+from ._registry_model_containers_operations import RegistryModelContainersOperations
+from ._registry_model_versions_operations import RegistryModelVersionsOperations
from ._batch_endpoints_operations import BatchEndpointsOperations
from ._batch_deployments_operations import BatchDeploymentsOperations
from ._code_containers_operations import CodeContainersOperations
@@ -26,12 +36,18 @@
from ._datastores_operations import DatastoresOperations
from ._environment_containers_operations import EnvironmentContainersOperations
from ._environment_versions_operations import EnvironmentVersionsOperations
+from ._featureset_containers_operations import FeaturesetContainersOperations
+from ._featureset_versions_operations import FeaturesetVersionsOperations
+from ._featurestore_entity_containers_operations import FeaturestoreEntityContainersOperations
+from ._featurestore_entity_versions_operations import FeaturestoreEntityVersionsOperations
from ._jobs_operations import JobsOperations
+from ._labeling_jobs_operations import LabelingJobsOperations
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 ._registries_operations import RegistriesOperations
from ._workspace_features_operations import WorkspaceFeaturesOperations
from ._patch import __all__ as _patch_all
@@ -48,6 +64,16 @@
"PrivateEndpointConnectionsOperations",
"PrivateLinkResourcesOperations",
"WorkspaceConnectionsOperations",
+ "RegistryCodeContainersOperations",
+ "RegistryCodeVersionsOperations",
+ "RegistryComponentContainersOperations",
+ "RegistryComponentVersionsOperations",
+ "RegistryDataContainersOperations",
+ "RegistryDataVersionsOperations",
+ "RegistryEnvironmentContainersOperations",
+ "RegistryEnvironmentVersionsOperations",
+ "RegistryModelContainersOperations",
+ "RegistryModelVersionsOperations",
"BatchEndpointsOperations",
"BatchDeploymentsOperations",
"CodeContainersOperations",
@@ -59,12 +85,18 @@
"DatastoresOperations",
"EnvironmentContainersOperations",
"EnvironmentVersionsOperations",
+ "FeaturesetContainersOperations",
+ "FeaturesetVersionsOperations",
+ "FeaturestoreEntityContainersOperations",
+ "FeaturestoreEntityVersionsOperations",
"JobsOperations",
+ "LabelingJobsOperations",
"ModelContainersOperations",
"ModelVersionsOperations",
"OnlineEndpointsOperations",
"OnlineDeploymentsOperations",
"SchedulesOperations",
+ "RegistriesOperations",
"WorkspaceFeaturesOperations",
]
__all__.extend([p for p in _patch_all if p not in __all__])
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_deployments_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_deployments_operations.py
index 37950b084904..aa2cc9965257 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_deployments_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_deployments_operations.py
@@ -103,7 +103,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchDeploymentTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -163,8 +163,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -195,7 +196,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -214,8 +215,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -272,7 +274,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -298,7 +300,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -349,7 +353,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchDeployment] = kwargs.pop("cls", None)
@@ -368,8 +372,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -410,7 +415,7 @@ async def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -441,8 +446,9 @@ async def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -587,8 +593,8 @@ async def begin_update(
:type endpoint_name: str
:param deployment_name: The identifier for the Batch inference deployment. Required.
:type deployment_name: str
- :param body: Batch inference deployment definition object. Is either a model type or a IO type.
- Required.
+ :param body: Batch inference deployment definition object. Is either a
+ PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties type or a IO type. Required.
:type body:
~azure.mgmt.machinelearningservices.models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties
or IO
@@ -612,7 +618,7 @@ async def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -681,7 +687,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -712,8 +718,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -859,8 +866,8 @@ async def begin_create_or_update(
:type endpoint_name: str
:param deployment_name: The identifier for the Batch inference deployment. Required.
:type deployment_name: str
- :param body: Batch inference deployment definition object. Is either a model type or a IO type.
- Required.
+ :param body: Batch inference deployment definition object. Is either a BatchDeployment type or
+ a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.BatchDeployment or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -882,7 +889,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -913,7 +920,10 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_endpoints_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_endpoints_operations.py
index 848fe6dc7e27..a12d11015c17 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_endpoints_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_batch_endpoints_operations.py
@@ -98,7 +98,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchEndpointTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -156,8 +156,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -188,7 +189,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -206,8 +207,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -262,7 +264,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -287,7 +289,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -336,7 +340,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchEndpoint] = kwargs.pop("cls", None)
@@ -354,8 +358,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -395,7 +400,7 @@ async def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -425,8 +430,9 @@ async def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -562,8 +568,8 @@ async def begin_update(
:type workspace_name: str
:param endpoint_name: Name for the Batch inference endpoint. Required.
:type endpoint_name: str
- :param body: Mutable batch inference endpoint definition object. Is either a model type or a IO
- type. Required.
+ :param body: Mutable batch inference endpoint definition object. Is either a
+ PartialMinimalTrackedResourceWithIdentity type or a IO type. Required.
:type body:
~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -586,7 +592,7 @@ async def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -653,7 +659,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -683,8 +689,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -821,8 +828,8 @@ async def begin_create_or_update(
:type workspace_name: str
:param endpoint_name: Name for the Batch inference endpoint. Required.
:type endpoint_name: str
- :param body: Batch inference endpoint definition object. Is either a model type or a IO type.
- Required.
+ :param body: Batch inference endpoint definition object. Is either a BatchEndpoint type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.BatchEndpoint or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -844,7 +851,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -874,7 +881,10 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -923,7 +933,7 @@ async def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EndpointAuthKeys] = kwargs.pop("cls", None)
@@ -941,8 +951,9 @@ async def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_containers_operations.py
index c69213fa842c..649aed9ce902 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_containers_operations.py
@@ -87,7 +87,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -144,8 +144,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -193,7 +194,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -211,8 +212,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -260,7 +262,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
@@ -278,8 +280,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -386,7 +389,7 @@ async def create_or_update(
:type workspace_name: str
:param name: Container name. This is case-sensitive. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
+ :param body: Container entity to create or update. Is either a CodeContainer type or a IO type.
Required.
:type body: ~azure.mgmt.machinelearningservices.models.CodeContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -408,7 +411,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -438,8 +441,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_versions_operations.py
index 473dec5348b9..e6b2c744fa33 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_code_versions_operations.py
@@ -100,7 +100,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -160,8 +160,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -211,7 +212,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -230,8 +231,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -281,7 +283,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
@@ -300,8 +302,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -417,7 +420,8 @@ async def create_or_update(
:type name: str
:param version: Version identifier. This is case-sensitive. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a CodeVersion type or a IO type.
+ Required.
:type body: ~azure.mgmt.machinelearningservices.models.CodeVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -438,7 +442,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -469,8 +473,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_containers_operations.py
index 59f121afb4b1..addd040abdd6 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_containers_operations.py
@@ -95,7 +95,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -153,8 +153,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -202,7 +203,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -220,8 +221,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -269,7 +271,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
@@ -287,8 +289,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -395,8 +398,8 @@ async def create_or_update(
:type workspace_name: str
:param name: Container name. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
- Required.
+ :param body: Container entity to create or update. Is either a ComponentContainer type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -417,7 +420,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -447,8 +450,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_versions_operations.py
index f217f6650def..f3e78872b382 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_component_versions_operations.py
@@ -104,7 +104,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -165,8 +165,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -216,7 +217,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -235,8 +236,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -286,7 +288,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
@@ -305,8 +307,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -422,7 +425,8 @@ async def create_or_update(
:type name: str
:param version: Version identifier. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a ComponentVersion type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -443,7 +447,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -474,8 +478,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_compute_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_compute_operations.py
index 382828847481..77509de22eea 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_compute_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_compute_operations.py
@@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
-from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+from typing import Any, AsyncIterable, Callable, Dict, IO, List, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@@ -41,6 +41,8 @@
build_restart_request,
build_start_request,
build_stop_request,
+ build_update_custom_services_request,
+ build_update_idle_shutdown_setting_request,
build_update_request,
)
@@ -93,7 +95,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PaginatedComputeResourcesList] = kwargs.pop("cls", None)
@@ -150,8 +152,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -198,7 +201,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComputeResource] = kwargs.pop("cls", None)
@@ -216,8 +219,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -257,7 +261,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -287,8 +291,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -422,8 +427,8 @@ async def begin_create_or_update(
:type workspace_name: str
:param compute_name: Name of the Azure Machine Learning compute. Required.
:type compute_name: str
- :param parameters: Payload with Machine Learning compute definition. Is either a model type or
- a IO type. Required.
+ :param parameters: Payload with Machine Learning compute definition. Is either a
+ ComputeResource type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.ComputeResource or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -445,7 +450,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -512,7 +517,7 @@ async def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -542,8 +547,9 @@ async def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -665,8 +671,8 @@ async def begin_update(
:type workspace_name: str
:param compute_name: Name of the Azure Machine Learning compute. Required.
:type compute_name: str
- :param parameters: Additional parameters for cluster update. Is either a model type or a IO
- type. Required.
+ :param parameters: Additional parameters for cluster update. Is either a
+ ClusterUpdateParameters type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.ClusterUpdateParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -688,7 +694,7 @@ async def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -755,7 +761,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -774,8 +780,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -837,7 +844,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -881,6 +888,157 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"
}
+ @overload
+ async def update_custom_services( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ custom_services: List[_models.CustomService],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the custom services list. The list of custom services provided shall be overwritten.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param custom_services: New list of Custom Services. Required.
+ :type custom_services: list[~azure.mgmt.machinelearningservices.models.CustomService]
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @overload
+ async def update_custom_services( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ custom_services: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the custom services list. The list of custom services provided shall be overwritten.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param custom_services: New list of Custom Services. Required.
+ :type custom_services: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @distributed_trace_async
+ async def update_custom_services( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ custom_services: Union[List[_models.CustomService], IO],
+ **kwargs: Any
+ ) -> None:
+ """Updates the custom services list. The list of custom services provided shall be overwritten.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param custom_services: New list of Custom Services. Is either a [CustomService] type or a IO
+ type. Required.
+ :type custom_services: list[~azure.mgmt.machinelearningservices.models.CustomService] or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(custom_services, (IO, bytes)):
+ _content = custom_services
+ else:
+ _json = self._serialize.body(custom_services, "[CustomService]")
+
+ request = build_update_custom_services_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self.update_custom_services.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ update_custom_services.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/customServices"
+ }
+
@distributed_trace
def list_nodes(
self, resource_group_name: str, workspace_name: str, compute_name: str, **kwargs: Any
@@ -904,7 +1062,7 @@ def list_nodes(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.AmlComputeNodesInformation] = kwargs.pop("cls", None)
@@ -961,8 +1119,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1008,7 +1167,7 @@ async def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComputeSecrets] = kwargs.pop("cls", None)
@@ -1026,8 +1185,9 @@ async def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1062,7 +1222,7 @@ async def _start_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1080,8 +1240,9 @@ async def _start_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1126,7 +1287,7 @@ async def begin_start(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1183,7 +1344,7 @@ async def _stop_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1201,8 +1362,9 @@ async def _stop_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1247,7 +1409,7 @@ async def begin_stop(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1304,7 +1466,7 @@ async def _restart_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1322,8 +1484,9 @@ async def _restart_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1368,7 +1531,7 @@ async def begin_restart(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1410,3 +1573,156 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
begin_restart.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart"
}
+
+ @overload
+ async def update_idle_shutdown_setting( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: _models.IdleShutdownSetting,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the idle shutdown setting of a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param parameters: The object for updating idle shutdown setting of specified ComputeInstance.
+ Required.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.IdleShutdownSetting
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @overload
+ async def update_idle_shutdown_setting( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the idle shutdown setting of a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param parameters: The object for updating idle shutdown setting of specified ComputeInstance.
+ Required.
+ :type parameters: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @distributed_trace_async
+ async def update_idle_shutdown_setting( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: Union[_models.IdleShutdownSetting, IO],
+ **kwargs: Any
+ ) -> None:
+ """Updates the idle shutdown setting of a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param parameters: The object for updating idle shutdown setting of specified ComputeInstance.
+ Is either a IdleShutdownSetting type or a IO type. Required.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.IdleShutdownSetting or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(parameters, (IO, bytes)):
+ _content = parameters
+ else:
+ _json = self._serialize.body(parameters, "IdleShutdownSetting")
+
+ request = build_update_idle_shutdown_setting_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self.update_idle_shutdown_setting.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ update_idle_shutdown_setting.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/updateIdleShutdownSetting"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_containers_operations.py
index 4c5aca387b8f..ecd901486742 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_containers_operations.py
@@ -95,7 +95,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -153,8 +153,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -202,7 +203,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -220,8 +221,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -269,7 +271,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
@@ -287,8 +289,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -395,7 +398,7 @@ async def create_or_update(
:type workspace_name: str
:param name: Container name. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
+ :param body: Container entity to create or update. Is either a DataContainer type or a IO type.
Required.
:type body: ~azure.mgmt.machinelearningservices.models.DataContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -417,7 +420,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -447,8 +450,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_versions_operations.py
index a9f90dd943ed..cec58f50eff2 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_data_versions_operations.py
@@ -112,7 +112,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataVersionBaseResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -174,8 +174,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -225,7 +226,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -244,8 +245,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -295,7 +297,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
@@ -314,8 +316,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -431,7 +434,8 @@ async def create_or_update(
:type name: str
:param version: Version identifier. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a DataVersionBase type or a IO type.
+ Required.
:type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -452,7 +456,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -483,8 +487,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_datastores_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_datastores_operations.py
index 293c073184e6..d39cbe791cbb 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_datastores_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_datastores_operations.py
@@ -110,7 +110,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DatastoreResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -173,8 +173,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -222,7 +223,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -240,8 +241,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -287,7 +289,7 @@ async def get(self, resource_group_name: str, workspace_name: str, name: str, **
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.Datastore] = kwargs.pop("cls", None)
@@ -305,8 +307,9 @@ async def get(self, resource_group_name: str, workspace_name: str, name: str, **
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -420,7 +423,7 @@ async def create_or_update(
:type workspace_name: str
:param name: Datastore name. Required.
:type name: str
- :param body: Datastore entity to create or update. Is either a model type or a IO type.
+ :param body: Datastore entity to create or update. Is either a Datastore type or a IO type.
Required.
:type body: ~azure.mgmt.machinelearningservices.models.Datastore or IO
:param skip_validation: Flag to skip validation. Default value is False.
@@ -444,7 +447,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -475,8 +478,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -532,7 +536,7 @@ async def list_secrets(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DatastoreSecrets] = kwargs.pop("cls", None)
@@ -550,8 +554,9 @@ async def list_secrets(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_containers_operations.py
index 0115c7250a43..8ea873bdbc80 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_containers_operations.py
@@ -96,7 +96,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -154,8 +154,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -203,7 +204,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -221,8 +222,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -270,7 +272,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
@@ -288,8 +290,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -396,8 +399,8 @@ async def create_or_update(
:type workspace_name: str
:param name: Container name. This is case-sensitive. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
- Required.
+ :param body: Container entity to create or update. Is either a EnvironmentContainer type or a
+ IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -418,7 +421,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -448,8 +451,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_versions_operations.py
index 8b4432552f55..bb8269444508 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_environment_versions_operations.py
@@ -104,7 +104,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -165,8 +165,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -216,7 +217,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -235,8 +236,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -286,7 +288,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
@@ -305,8 +307,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -422,7 +425,8 @@ async def create_or_update(
:type name: str
:param version: Version of EnvironmentVersion. Required.
:type version: str
- :param body: Definition of EnvironmentVersion. Is either a model type or a IO type. Required.
+ :param body: Definition of EnvironmentVersion. Is either a EnvironmentVersion type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -443,7 +447,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -474,8 +478,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featureset_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featureset_containers_operations.py
new file mode 100644
index 000000000000..a3de7ddf94f8
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featureset_containers_operations.py
@@ -0,0 +1,649 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._featureset_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_entity_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class FeaturesetContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`featureset_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.FeaturesetContainer"]:
+ """List featurestore entity containers.
+
+ List featurestore entity containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturesetContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ 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,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturesetContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featuresets"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featuresets/{name}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
+
+ @distributed_trace_async
+ async def get_entity(
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> _models.FeaturesetContainer:
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturesetContainer or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturesetContainer
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetContainer] = kwargs.pop("cls", None)
+
+ request = build_get_entity_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get_entity.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturesetContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_entity.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturesetContainer, IO],
+ **kwargs: Any
+ ) -> _models.FeaturesetContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturesetContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturesetContainer", 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("FeaturesetContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: _models.FeaturesetContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturesetContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Is either a FeaturesetContainer type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturesetContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ 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,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturesetContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featureset_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featureset_versions_operations.py
new file mode 100644
index 000000000000..7a39e27806ea
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featureset_versions_operations.py
@@ -0,0 +1,1359 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._featureset_versions_operations import (
+ build_backfill_request,
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_feature_request,
+ build_get_request,
+ build_list_features_request,
+ build_list_materialization_jobs_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class FeaturesetVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`featureset_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.FeaturesetVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Featureset name. This is case-sensitive. Required.
+ :type name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturesetVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturesetVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featuresets/{name}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featuresets/{name}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> _models.FeaturesetVersion:
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturesetVersion or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturesetVersion
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturesetVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersion, IO],
+ **kwargs: Any
+ ) -> _models.FeaturesetVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturesetVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturesetVersion", 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("FeaturesetVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.FeaturesetVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersion, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a FeaturesetVersion type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturesetVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ 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,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturesetVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ async def _backfill_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersionBackfillRequest, IO],
+ **kwargs: Any
+ ) -> Optional[_models.FeaturesetVersionBackfillResponse]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.FeaturesetVersionBackfillResponse]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturesetVersionBackfillRequest")
+
+ request = build_backfill_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._backfill_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturesetVersionBackfillResponse", 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
+
+ _backfill_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/backfill"
+ }
+
+ @overload
+ async def begin_backfill(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.FeaturesetVersionBackfillRequest,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetVersionBackfillResponse]:
+ """Backfill.
+
+ Backfill.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature set version backfill request entity. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillRequest
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersionBackfillResponse or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_backfill(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetVersionBackfillResponse]:
+ """Backfill.
+
+ Backfill.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature set version backfill request entity. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersionBackfillResponse or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_backfill(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersionBackfillRequest, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturesetVersionBackfillResponse]:
+ """Backfill.
+
+ Backfill.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature set version backfill request entity. Is either a
+ FeaturesetVersionBackfillRequest type or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillRequest or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturesetVersionBackfillResponse or
+ the result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetVersionBackfillResponse] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._backfill_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturesetVersionBackfillResponse", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_backfill.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/backfill"
+ }
+
+ @overload
+ async def get_feature(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.GetFeatureRequest,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Feature:
+ """Get feature.
+
+ Get feature.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature set name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Feature set version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature Name request. This is case-sensitive. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.GetFeatureRequest
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Feature or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Feature
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def get_feature(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Feature:
+ """Get feature.
+
+ Get feature.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature set name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Feature set version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature Name request. This is case-sensitive. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Feature or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Feature
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def get_feature(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.GetFeatureRequest, IO],
+ **kwargs: Any
+ ) -> _models.Feature:
+ """Get feature.
+
+ Get feature.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature set name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Feature set version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature Name request. This is case-sensitive. Is either a GetFeatureRequest type
+ or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.GetFeatureRequest or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Feature or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Feature
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Feature] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "GetFeatureRequest")
+
+ request = build_get_feature_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self.get_feature.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("Feature", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_feature.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/getFeature"
+ }
+
+ @distributed_trace
+ def list_features(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.Feature"]:
+ """List Features.
+
+ List Features.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Featureset name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Featureset Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either Feature or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.Feature]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeatureArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_features_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ tags=tags,
+ api_version=api_version,
+ template_url=self.list_features.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeatureArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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_features.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/listFeatures"
+ }
+
+ @distributed_trace
+ def list_materialization_jobs(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ skip: Optional[str] = None,
+ filters: Optional[str] = None,
+ feature_window_start: Optional[str] = None,
+ feature_window_end: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.FeaturesetJob"]:
+ """List materialization Jobs.
+
+ List materialization Jobs.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param filters: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type filters: str
+ :param feature_window_start: Start time of the feature window to filter materialization jobs.
+ Default value is None.
+ :type feature_window_start: str
+ :param feature_window_end: End time of the feature window to filter materialization jobs.
+ Default value is None.
+ :type feature_window_end: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either FeaturesetJob or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.FeaturesetJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetJobArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_materialization_jobs_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ filters=filters,
+ feature_window_start=feature_window_start,
+ feature_window_end=feature_window_end,
+ api_version=api_version,
+ template_url=self.list_materialization_jobs.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturesetJobArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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_materialization_jobs.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/listMaterializationJobs"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featurestore_entity_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featurestore_entity_containers_operations.py
new file mode 100644
index 000000000000..8bb19c3b4ee2
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featurestore_entity_containers_operations.py
@@ -0,0 +1,650 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._featurestore_entity_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_entity_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class FeaturestoreEntityContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`featurestore_entity_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.FeaturestoreEntityContainer"]:
+ """List featurestore entity containers.
+
+ List featurestore entity containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturestoreEntityContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ 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,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturestoreEntityContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featurestoreEntities"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featurestoreEntities/{name}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
+
+ @distributed_trace_async
+ async def get_entity(
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> _models.FeaturestoreEntityContainer:
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturestoreEntityContainer or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityContainer] = kwargs.pop("cls", None)
+
+ request = build_get_entity_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get_entity.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturestoreEntityContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_entity.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturestoreEntityContainer, IO],
+ **kwargs: Any
+ ) -> _models.FeaturestoreEntityContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturestoreEntityContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturestoreEntityContainer", 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("FeaturestoreEntityContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: _models.FeaturestoreEntityContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturestoreEntityContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityContainer or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturestoreEntityContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityContainer or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturestoreEntityContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturestoreEntityContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Is either a FeaturestoreEntityContainer type
+ or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturestoreEntityContainer or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ 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,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturestoreEntityContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featurestore_entity_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featurestore_entity_versions_operations.py
new file mode 100644
index 000000000000..03303701c423
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_featurestore_entity_versions_operations.py
@@ -0,0 +1,673 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._featurestore_entity_versions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class FeaturestoreEntityVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`featurestore_entity_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.FeaturestoreEntityVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature entity name. This is case-sensitive. Required.
+ :type name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturestoreEntityVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturestoreEntityVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featurestoreEntities/{name}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> _models.FeaturestoreEntityVersion:
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturestoreEntityVersion or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturestoreEntityVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturestoreEntityVersion, IO],
+ **kwargs: Any
+ ) -> _models.FeaturestoreEntityVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturestoreEntityVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturestoreEntityVersion", 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("FeaturestoreEntityVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.FeaturestoreEntityVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturestoreEntityVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityVersion or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturestoreEntityVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityVersion or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturestoreEntityVersion, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.FeaturestoreEntityVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a FeaturestoreEntityVersion type or
+ a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturestoreEntityVersion or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ 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,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturestoreEntityVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_jobs_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_jobs_operations.py
index e8e3110d7004..d5222cb428f0 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_jobs_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_jobs_operations.py
@@ -75,6 +75,9 @@ def list(
job_type: Optional[str] = None,
tag: Optional[str] = None,
list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ asset_name: Optional[str] = None,
+ scheduled: Optional[bool] = None,
+ schedule_id: Optional[str] = None,
**kwargs: Any
) -> AsyncIterable["_models.JobBase"]:
"""Lists Jobs in the workspace.
@@ -95,6 +98,12 @@ def list(
:param list_view_type: View type for including/excluding (for example) archived entities. Known
values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
:type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :param asset_name: Asset name the job's named output is registered with. Default value is None.
+ :type asset_name: str
+ :param scheduled: Indicator whether the job is scheduled job. Default value is None.
+ :type scheduled: bool
+ :param schedule_id: The scheduled id for listing the job triggered from. Default value is None.
+ :type schedule_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either JobBase or the result of cls(response)
:rtype:
@@ -104,7 +113,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.JobBaseResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -128,6 +137,9 @@ def prepare_request(next_link=None):
job_type=job_type,
tag=tag,
list_view_type=list_view_type,
+ asset_name=asset_name,
+ scheduled=scheduled,
+ schedule_id=schedule_id,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
@@ -164,8 +176,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -196,7 +209,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -214,8 +227,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -270,7 +284,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -295,7 +309,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -342,7 +358,7 @@ async def get(self, resource_group_name: str, workspace_name: str, id: str, **kw
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.JobBase] = kwargs.pop("cls", None)
@@ -360,8 +376,9 @@ async def get(self, resource_group_name: str, workspace_name: str, id: str, **kw
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -463,7 +480,7 @@ async def create_or_update(
:type workspace_name: str
:param id: The name and identifier for the Job. This is case-sensitive. Required.
:type id: str
- :param body: Job definition object. Is either a model type or a IO type. Required.
+ :param body: Job definition object. Is either a JobBase type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.JobBase or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -484,7 +501,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -514,8 +531,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -554,7 +572,7 @@ async def _cancel_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -572,8 +590,9 @@ async def _cancel_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -625,7 +644,7 @@ async def begin_cancel(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_labeling_jobs_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_labeling_jobs_operations.py
new file mode 100644
index 000000000000..3059185961f9
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_labeling_jobs_operations.py
@@ -0,0 +1,1047 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._labeling_jobs_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_export_labels_request,
+ build_get_request,
+ build_list_request,
+ build_pause_request,
+ build_resume_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class LabelingJobsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`labeling_jobs` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ top: Optional[int] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.LabelingJob"]:
+ """Lists labeling jobs in the workspace.
+
+ Lists labeling jobs in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param top: Number of labeling jobs to return. Default value is None.
+ :type top: int
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either LabelingJob or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.LabelingJobResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ 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,
+ skip=skip,
+ top=top,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("LabelingJobResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/labelingJobs"
+ }
+
+ @distributed_trace_async
+ async def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> None:
+ """Delete a labeling job.
+
+ Delete a labeling job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.delete.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/labelingJobs/{id}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ include_job_instructions: bool = False,
+ include_label_categories: bool = False,
+ **kwargs: Any
+ ) -> _models.LabelingJob:
+ """Gets a labeling job by name/id.
+
+ Gets a labeling job by name/id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param include_job_instructions: Boolean value to indicate whether to include JobInstructions
+ in response. Default value is False.
+ :type include_job_instructions: bool
+ :param include_label_categories: Boolean value to indicate Whether to include LabelCategories
+ in response. Default value is False.
+ :type include_label_categories: bool
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: LabelingJob or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.LabelingJob
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.LabelingJob] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ include_job_instructions=include_job_instructions,
+ include_label_categories=include_label_categories,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("LabelingJob", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.LabelingJob, IO],
+ **kwargs: Any
+ ) -> _models.LabelingJob:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.LabelingJob] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "LabelingJob")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("LabelingJob", 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("LabelingJob", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: _models.LabelingJob,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.LabelingJob]:
+ """Creates or updates a labeling job (asynchronous).
+
+ Creates or updates a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: LabelingJob definition object. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.LabelingJob
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 LabelingJob or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.LabelingJob]:
+ """Creates or updates a labeling job (asynchronous).
+
+ Creates or updates a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: LabelingJob definition object. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 LabelingJob or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.LabelingJob, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.LabelingJob]:
+ """Creates or updates a labeling job (asynchronous).
+
+ Creates or updates a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: LabelingJob definition object. Is either a LabelingJob type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.LabelingJob or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 LabelingJob or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.LabelingJob] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("LabelingJob", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}"
+ }
+
+ async def _export_labels_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.ExportSummary, IO],
+ **kwargs: Any
+ ) -> Optional[_models.ExportSummary]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.ExportSummary]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ExportSummary")
+
+ request = build_export_labels_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._export_labels_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ExportSummary", 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
+
+ _export_labels_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/exportLabels"
+ }
+
+ @overload
+ async def begin_export_labels(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: _models.ExportSummary,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.ExportSummary]:
+ """Export labels from a labeling job (asynchronous).
+
+ Export labels from a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: The export summary. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ExportSummary
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ExportSummary or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ExportSummary]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_export_labels(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.ExportSummary]:
+ """Export labels from a labeling job (asynchronous).
+
+ Export labels from a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: The export summary. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ExportSummary or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ExportSummary]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_export_labels(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.ExportSummary, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.ExportSummary]:
+ """Export labels from a labeling job (asynchronous).
+
+ Export labels from a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: The export summary. Is either a ExportSummary type or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ExportSummary or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ExportSummary or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ExportSummary]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ExportSummary] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._export_labels_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ExportSummary", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_export_labels.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/exportLabels"
+ }
+
+ @distributed_trace_async
+ async def pause( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> None:
+ """Pause a labeling job.
+
+ Pause a labeling job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_pause_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.pause.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ pause.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/pause"
+ }
+
+ async def _resume_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_resume_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._resume_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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)
+
+ _resume_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/resume"
+ }
+
+ @distributed_trace_async
+ async def begin_resume(
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Resume a labeling job (asynchronous).
+
+ Resume a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._resume_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_resume.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/resume"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_containers_operations.py
index 0f18875a197a..fc2511912a7b 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_containers_operations.py
@@ -98,7 +98,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -157,8 +157,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -206,7 +207,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -224,8 +225,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -273,7 +275,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
@@ -291,8 +293,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -399,8 +402,8 @@ async def create_or_update(
:type workspace_name: str
:param name: Container name. This is case-sensitive. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
- Required.
+ :param body: Container entity to create or update. Is either a ModelContainer type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.ModelContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -421,7 +424,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -451,8 +454,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_versions_operations.py
index 68a4fd3be570..3de1b9b01a83 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_model_versions_operations.py
@@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
-from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.async_paging import AsyncItemPaged, AsyncList
@@ -21,11 +21,13 @@
)
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.core.utils import case_insensitive_dict
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
@@ -34,6 +36,7 @@
build_delete_request,
build_get_request,
build_list_request,
+ build_package_request,
)
if sys.version_info >= (3, 8):
@@ -124,7 +127,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -191,8 +194,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -242,7 +246,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -261,8 +265,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -312,7 +317,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
@@ -331,8 +336,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -448,7 +454,8 @@ async def create_or_update(
:type name: str
:param version: Version identifier. This is case-sensitive. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a ModelVersion type or a IO type.
+ Required.
:type body: ~azure.mgmt.machinelearningservices.models.ModelVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -469,7 +476,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -500,8 +507,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -525,3 +533,271 @@ async def create_or_update(
create_or_update.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"
}
+
+ async def _package_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.PackageRequest, IO],
+ **kwargs: Any
+ ) -> Optional[_models.PackageResponse]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.PackageResponse]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "PackageRequest")
+
+ request = build_package_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._package_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("PackageResponse", 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
+
+ _package_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}/package"
+ }
+
+ @overload
+ async def begin_package(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.PackageRequest,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.PackageResponse]:
+ """Model Version Package operation.
+
+ Model Version Package operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Package operation request body. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PackageRequest
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 PackageResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.PackageResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_package(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.PackageResponse]:
+ """Model Version Package operation.
+
+ Model Version Package operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Package operation request body. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 PackageResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.PackageResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_package(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.PackageRequest, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.PackageResponse]:
+ """Model Version Package operation.
+
+ Model Version Package operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Package operation request body. Is either a PackageRequest type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PackageRequest or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 PackageResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.PackageResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.PackageResponse] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._package_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("PackageResponse", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_package.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}/package"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_deployments_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_deployments_operations.py
index f78323104bda..b8c22800e588 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_deployments_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_deployments_operations.py
@@ -105,7 +105,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineDeploymentTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -165,8 +165,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -197,7 +198,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -216,8 +217,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -274,7 +276,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -300,7 +302,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -351,7 +355,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineDeployment] = kwargs.pop("cls", None)
@@ -370,8 +374,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -412,7 +417,7 @@ async def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -443,8 +448,9 @@ async def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -588,8 +594,8 @@ async def begin_update(
:type endpoint_name: str
:param deployment_name: Inference Endpoint Deployment name. Required.
:type deployment_name: str
- :param body: Online Endpoint entity to apply during operation. Is either a model type or a IO
- type. Required.
+ :param body: Online Endpoint entity to apply during operation. Is either a
+ PartialMinimalTrackedResourceWithSku type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithSku or
IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -612,7 +618,7 @@ async def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -681,7 +687,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -712,8 +718,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -859,8 +866,8 @@ async def begin_create_or_update(
:type endpoint_name: str
:param deployment_name: Inference Endpoint Deployment name. Required.
:type deployment_name: str
- :param body: Inference Endpoint entity to apply during operation. Is either a model type or a
- IO type. Required.
+ :param body: Inference Endpoint entity to apply during operation. Is either a OnlineDeployment
+ type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.OnlineDeployment or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -882,7 +889,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -913,7 +920,10 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -1026,8 +1036,8 @@ async def get_logs(
:type endpoint_name: str
:param deployment_name: The name and identifier for the endpoint. Required.
:type deployment_name: str
- :param body: The request containing parameters for retrieving logs. Is either a model type or a
- IO type. Required.
+ :param body: The request containing parameters for retrieving logs. Is either a
+ DeploymentLogsRequest type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.DeploymentLogsRequest or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1048,7 +1058,7 @@ async def get_logs(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1079,8 +1089,9 @@ async def get_logs(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1138,7 +1149,7 @@ def list_skus(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.SkuResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -1198,8 +1209,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_endpoints_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_endpoints_operations.py
index bb9f50e9e7b8..25a185bb6f8c 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_endpoints_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_online_endpoints_operations.py
@@ -121,7 +121,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineEndpointTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -184,8 +184,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -216,7 +217,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -234,8 +235,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -290,7 +292,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -315,7 +317,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -364,7 +368,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineEndpoint] = kwargs.pop("cls", None)
@@ -382,8 +386,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -423,7 +428,7 @@ async def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -453,8 +458,9 @@ async def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -590,8 +596,8 @@ async def begin_update(
:type workspace_name: str
:param endpoint_name: Online Endpoint name. Required.
:type endpoint_name: str
- :param body: Online Endpoint entity to apply during operation. Is either a model type or a IO
- type. Required.
+ :param body: Online Endpoint entity to apply during operation. Is either a
+ PartialMinimalTrackedResourceWithIdentity type or a IO type. Required.
:type body:
~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -614,7 +620,7 @@ async def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -681,7 +687,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -711,8 +717,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -849,8 +856,8 @@ async def begin_create_or_update(
:type workspace_name: str
:param endpoint_name: Online Endpoint name. Required.
:type endpoint_name: str
- :param body: Online Endpoint entity to apply during operation. Is either a model type or a IO
- type. Required.
+ :param body: Online Endpoint entity to apply during operation. Is either a OnlineEndpoint type
+ or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.OnlineEndpoint or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -872,7 +879,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -902,7 +909,10 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -951,7 +961,7 @@ async def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EndpointAuthKeys] = kwargs.pop("cls", None)
@@ -969,8 +979,9 @@ async def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1010,7 +1021,7 @@ async def _regenerate_keys_initial( # pylint: disable=inconsistent-return-state
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1040,8 +1051,9 @@ async def _regenerate_keys_initial( # pylint: disable=inconsistent-return-state
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1163,7 +1175,8 @@ async def begin_regenerate_keys(
:type workspace_name: str
:param endpoint_name: Online Endpoint name. Required.
:type endpoint_name: str
- :param body: RegenerateKeys request . Is either a model type or a IO type. Required.
+ :param body: RegenerateKeys request . Is either a RegenerateEndpointKeysRequest type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.RegenerateEndpointKeysRequest or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1183,7 +1196,7 @@ async def begin_regenerate_keys(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1262,7 +1275,7 @@ async def get_token(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EndpointAuthToken] = kwargs.pop("cls", None)
@@ -1280,8 +1293,9 @@ async def get_token(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_operations.py
index ab8aec812cd0..cc5c70beec43 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_operations.py
@@ -59,7 +59,7 @@ def __init__(self, *args, **kwargs) -> None:
@distributed_trace
def list(self, **kwargs: Any) -> AsyncIterable["_models.AmlOperation"]:
- """Lists all of the available Azure Machine Learning Workspaces REST API operations.
+ """Lists all of the available Azure Machine Learning Services 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 AmlOperation or the result of cls(response)
@@ -70,7 +70,7 @@ def list(self, **kwargs: Any) -> AsyncIterable["_models.AmlOperation"]:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.AmlOperationListResult] = kwargs.pop("cls", None)
@@ -123,8 +123,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_endpoint_connections_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_endpoint_connections_operations.py
index ca1d84b13c3e..310761466cc2 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_endpoint_connections_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_endpoint_connections_operations.py
@@ -84,7 +84,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None)
@@ -140,8 +140,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -188,7 +189,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None)
@@ -206,8 +207,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -311,8 +313,8 @@ async def create_or_update(
:param private_endpoint_connection_name: The name of the private endpoint connection associated
with the workspace. Required.
:type private_endpoint_connection_name: str
- :param properties: The private endpoint connection properties. Is either a model type or a IO
- type. Required.
+ :param properties: The private endpoint connection properties. Is either a
+ PrivateEndpointConnection type or a IO type. Required.
:type properties: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -333,7 +335,7 @@ async def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -363,8 +365,9 @@ async def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -415,7 +418,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -433,8 +436,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_link_resources_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_link_resources_operations.py
index 8c30d300602a..04f2d1a5a0b6 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_link_resources_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_private_link_resources_operations.py
@@ -82,7 +82,7 @@ async def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PrivateLinkResourceListResult] = kwargs.pop("cls", None)
@@ -99,8 +99,9 @@ async def list(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_quotas_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_quotas_operations.py
index b101e920473f..e13058ba6803 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_quotas_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_quotas_operations.py
@@ -109,7 +109,8 @@ async def update(
:param location: The location for update quota is queried. Required.
:type location: str
- :param parameters: Quota update parameters. Is either a model type or a IO type. Required.
+ :param parameters: Quota update parameters. Is either a QuotaUpdateParameters type or a IO
+ type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.QuotaUpdateParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -130,7 +131,7 @@ async def update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -158,8 +159,9 @@ async def update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -195,7 +197,7 @@ def list(self, location: str, **kwargs: Any) -> AsyncIterable["_models.ResourceQ
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListWorkspaceQuotas] = kwargs.pop("cls", None)
@@ -250,8 +252,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registries_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registries_operations.py
new file mode 100644
index 000000000000..ee270fd0209a
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registries_operations.py
@@ -0,0 +1,926 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registries_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_by_subscription_request,
+ build_list_request,
+ build_update_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistriesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registries` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list_by_subscription(self, skip: Optional[str] = None, **kwargs: Any) -> AsyncIterable["_models.Registry"]:
+ """List registries by subscription.
+
+ List registries by subscription.
+
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 Registry or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.RegistryTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_by_subscription_request(
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list_by_subscription.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("RegistryTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries"
+ }
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, skip: Optional[str] = None, **kwargs: Any
+ ) -> AsyncIterable["_models.Registry"]:
+ """List registries.
+
+ List registries.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 Registry or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.RegistryTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("RegistryTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(self, resource_group_name: str, registry_name: str, **kwargs: Any) -> AsyncLROPoller[None]:
+ """Delete registry.
+
+ Delete registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ @distributed_trace_async
+ async def get(self, resource_group_name: str, registry_name: str, **kwargs: Any) -> _models.Registry:
+ """Get registry.
+
+ Get registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Registry or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Registry
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("Registry", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ async def _update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: Union[_models.PartialRegistryPartialTrackedResource, IO],
+ **kwargs: Any
+ ) -> _models.Registry:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "PartialRegistryPartialTrackedResource")
+
+ request = build_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("Registry", 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"))
+
+ deserialized = self._deserialize("Registry", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ @overload
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: _models.PartialRegistryPartialTrackedResource,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.Registry]:
+ """Update tags.
+
+ Update tags.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PartialRegistryPartialTrackedResource
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.Registry]:
+ """Update tags.
+
+ Update tags.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: Union[_models.PartialRegistryPartialTrackedResource, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.Registry]:
+ """Update tags.
+
+ Update tags.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Is either a
+ PartialRegistryPartialTrackedResource type or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PartialRegistryPartialTrackedResource or
+ IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 Registry or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("Registry", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ async def _create_or_update_initial(
+ self, resource_group_name: str, registry_name: str, body: Union[_models.Registry, IO], **kwargs: Any
+ ) -> Optional[_models.Registry]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.Registry]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "Registry")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201, 202]:
+ 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 = None
+ if response.status_code == 200:
+ deserialized = self._deserialize("Registry", pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize("Registry", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: _models.Registry,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.Registry]:
+ """Create or update registry.
+
+ Create or update registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.Registry
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.Registry]:
+ """Create or update registry.
+
+ Create or update registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self, resource_group_name: str, registry_name: str, body: Union[_models.Registry, IO], **kwargs: Any
+ ) -> AsyncLROPoller[_models.Registry]:
+ """Create or update registry.
+
+ Create or update registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Is either a Registry type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.Registry or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 Registry or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("Registry", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_code_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_code_containers_operations.py
new file mode 100644
index 000000000000..040556053fa6
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_code_containers_operations.py
@@ -0,0 +1,634 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_code_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryCodeContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_code_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, registry_name: str, skip: Optional[str] = None, **kwargs: Any
+ ) -> AsyncIterable["_models.CodeContainer"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 CodeContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, code_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/codes/{codeName}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, code_name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, code_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes/{codeName}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: Union[_models.CodeContainer, IO],
+ **kwargs: Any
+ ) -> _models.CodeContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "CodeContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("CodeContainer", 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("CodeContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: _models.CodeContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: Union[_models.CodeContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param body: Container entity to create or update. Is either a CodeContainer type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 CodeContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("CodeContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_code_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_code_versions_operations.py
new file mode 100644
index 000000000000..b0c0cd17108c
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_code_versions_operations.py
@@ -0,0 +1,669 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_code_versions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryCodeVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_code_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.CodeVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 CodeVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes/{codeName}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, code_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, code_name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, code_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: Union[_models.CodeVersion, IO],
+ **kwargs: Any
+ ) -> _models.CodeVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "CodeVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("CodeVersion", 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("CodeVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: _models.CodeVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: Union[_models.CodeVersion, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a CodeVersion type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 CodeVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("CodeVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_component_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_component_containers_operations.py
new file mode 100644
index 000000000000..a063bf5430f1
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_component_containers_operations.py
@@ -0,0 +1,634 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_component_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryComponentContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_component_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, registry_name: str, skip: Optional[str] = None, **kwargs: Any
+ ) -> AsyncIterable["_models.ComponentContainer"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 ComponentContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, component_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/components/{componentName}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, component_name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, component_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components/{componentName}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: Union[_models.ComponentContainer, IO],
+ **kwargs: Any
+ ) -> _models.ComponentContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ComponentContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ComponentContainer", 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("ComponentContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: _models.ComponentContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: Union[_models.ComponentContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param body: Container entity to create or update. Is either a ComponentContainer type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ComponentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ComponentContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_component_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_component_versions_operations.py
new file mode 100644
index 000000000000..8df3cefedff5
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_component_versions_operations.py
@@ -0,0 +1,669 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_component_versions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryComponentVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_component_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ComponentVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 ComponentVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components/{componentName}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, component_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, component_name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, component_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: Union[_models.ComponentVersion, IO],
+ **kwargs: Any
+ ) -> _models.ComponentVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ComponentVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ComponentVersion", 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("ComponentVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: _models.ComponentVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: Union[_models.ComponentVersion, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a ComponentVersion type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ComponentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ComponentVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_data_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_data_containers_operations.py
new file mode 100644
index 000000000000..a55dcbc24a41
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_data_containers_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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_data_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryDataContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_data_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.DataContainer"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 DataContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/data/{name}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data/{name}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: Union[_models.DataContainer, IO],
+ **kwargs: Any
+ ) -> _models.DataContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "DataContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("DataContainer", 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("DataContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: _models.DataContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: Union[_models.DataContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param body: Container entity to create or update. Is either a DataContainer type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 DataContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("DataContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_data_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_data_versions_operations.py
new file mode 100644
index 000000000000..ca83b8aa44fb
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_data_versions_operations.py
@@ -0,0 +1,683 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_data_versions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryDataVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_data_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_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.DataVersionBase"]:
+ """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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Data container's name. Required.
+ :type name: str
+ :param order_by: Please choose OrderBy value from ['createdtime', 'modifiedtime']. Default
+ value is None.
+ :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. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 DataVersionBase or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataVersionBaseResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data/{name}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.DataVersionBase, IO],
+ **kwargs: Any
+ ) -> _models.DataVersionBase:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "DataVersionBase")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("DataVersionBase", 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("DataVersionBase", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: _models.DataVersionBase,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataVersionBase or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataVersionBase or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.DataVersionBase, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a DataVersionBase type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 DataVersionBase or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("DataVersionBase", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_environment_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_environment_containers_operations.py
new file mode 100644
index 000000000000..c3477ef53012
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_environment_containers_operations.py
@@ -0,0 +1,644 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_environment_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryEnvironmentContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_environment_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.EnvironmentContainer"]:
+ """List environment containers.
+
+ List environment containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 EnvironmentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, environment_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/environments/{environmentName}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, environment_name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, environment_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. This is case-sensitive. Required.
+ :type environment_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments/{environmentName}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: Union[_models.EnvironmentContainer, IO],
+ **kwargs: Any
+ ) -> _models.EnvironmentContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "EnvironmentContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("EnvironmentContainer", 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("EnvironmentContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: _models.EnvironmentContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentContainer or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentContainer or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: Union[_models.EnvironmentContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param body: Container entity to create or update. Is either a EnvironmentContainer type or a
+ IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 EnvironmentContainer or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("EnvironmentContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_environment_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_environment_versions_operations.py
new file mode 100644
index 000000000000..3a5e79a17368
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_environment_versions_operations.py
@@ -0,0 +1,674 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_environment_versions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryEnvironmentVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_environment_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_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.EnvironmentVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. This is case-sensitive. Required.
+ :type environment_name: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 EnvironmentVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments/{environmentName}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, environment_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, environment_name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, environment_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. This is case-sensitive. Required.
+ :type environment_name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: Union[_models.EnvironmentVersion, IO],
+ **kwargs: Any
+ ) -> _models.EnvironmentVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "EnvironmentVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("EnvironmentVersion", 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("EnvironmentVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: _models.EnvironmentVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.EnvironmentVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.EnvironmentVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: Union[_models.EnvironmentVersion, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.EnvironmentVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a EnvironmentVersion type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 EnvironmentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("EnvironmentVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_model_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_model_containers_operations.py
new file mode 100644
index 000000000000..57f45924ecfe
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_model_containers_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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_model_containers_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryModelContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_model_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ModelContainer"]:
+ """List model containers.
+
+ List model containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 ModelContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, model_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/models/{modelName}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, model_name: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, model_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. This is case-sensitive. Required.
+ :type model_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models/{modelName}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: Union[_models.ModelContainer, IO],
+ **kwargs: Any
+ ) -> _models.ModelContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ModelContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ModelContainer", 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("ModelContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: _models.ModelContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.ModelContainer]:
+ """Create or update model container.
+
+ Create or update model container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.ModelContainer]:
+ """Create or update model container.
+
+ Create or update model container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: Union[_models.ModelContainer, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_models.ModelContainer]:
+ """Create or update model container.
+
+ Create or update model container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param body: Container entity to create or update. Is either a ModelContainer type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ModelContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ModelContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_model_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_model_versions_operations.py
new file mode 100644
index 000000000000..8195a99e9d93
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_registry_model_versions_operations.py
@@ -0,0 +1,692 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.async_paging import AsyncItemPaged, AsyncList
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+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._registry_model_versions_operations import (
+ build_create_or_update_request,
+ build_delete_request,
+ build_get_request,
+ build_list_request,
+)
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
+
+
+class RegistryModelVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.aio.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_model_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs) -> None:
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ skip: Optional[str] = None,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ version: Optional[str] = None,
+ description: Optional[str] = None,
+ tags: Optional[str] = None,
+ properties: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> AsyncIterable["_models.ModelVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. This is case-sensitive. Required.
+ :type model_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param version: Version identifier. Default value is None.
+ :type version: str
+ :param description: Model description. Default value is None.
+ :type description: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param properties: Comma-separated list of property names (and optionally values). Example:
+ prop1,prop2=value2. Default value is None.
+ :type properties: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 ModelVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ order_by=order_by,
+ top=top,
+ version=version,
+ description=description,
+ tags=tags,
+ properties=properties,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, AsyncList(list_of_elem)
+
+ async def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models/{modelName}/versions"
+ }
+
+ async def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, model_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def begin_delete(
+ self, resource_group_name: str, registry_name: str, model_name: str, version: str, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ @distributed_trace_async
+ async def get(
+ self, resource_group_name: str, registry_name: str, model_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. This is case-sensitive. Required.
+ :type model_name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ async def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: Union[_models.ModelVersion, IO],
+ **kwargs: Any
+ ) -> _models.ModelVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ModelVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ModelVersion", 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("ModelVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: _models.ModelVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace_async
+ async def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: Union[_models.ModelVersion, IO],
+ **kwargs: Any
+ ) -> AsyncLROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a ModelVersion type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ModelVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.AsyncLROPoller[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, AsyncPollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = await self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ModelVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
+ elif polling is False:
+ polling_method = cast(AsyncPollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_schedules_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_schedules_operations.py
index 7e2d8fa6ae15..85b24e988b1d 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_schedules_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_schedules_operations.py
@@ -97,7 +97,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ScheduleResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -155,8 +155,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -187,7 +188,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -205,8 +206,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -261,7 +263,7 @@ async def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -286,7 +288,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod, AsyncARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
@@ -333,7 +337,7 @@ async def get(self, resource_group_name: str, workspace_name: str, name: str, **
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.Schedule] = kwargs.pop("cls", None)
@@ -351,8 +355,9 @@ async def get(self, resource_group_name: str, workspace_name: str, name: str, **
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -387,7 +392,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -417,8 +422,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -548,7 +554,7 @@ async def begin_create_or_update(
:type workspace_name: str
:param name: Schedule name. Required.
:type name: str
- :param body: Schedule definition. Is either a model type or a IO type. Required.
+ :param body: Schedule definition. Is either a Schedule type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.Schedule or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -569,7 +575,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -599,7 +605,10 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: AsyncPollingMethod = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs))
+ polling_method: AsyncPollingMethod = cast(
+ AsyncPollingMethod,
+ AsyncARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs),
+ )
elif polling is False:
polling_method = cast(AsyncPollingMethod, AsyncNoPolling())
else:
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_usages_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_usages_operations.py
index f7db5ff755cf..1971878f55d0 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_usages_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_usages_operations.py
@@ -73,7 +73,7 @@ def list(self, location: str, **kwargs: Any) -> AsyncIterable["_models.Usage"]:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListUsagesResult] = kwargs.pop("cls", None)
@@ -128,8 +128,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_virtual_machine_sizes_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_virtual_machine_sizes_operations.py
index e11949599426..3bd2fbb9372b 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_virtual_machine_sizes_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_virtual_machine_sizes_operations.py
@@ -77,7 +77,7 @@ async def list(self, location: str, **kwargs: Any) -> _models.VirtualMachineSize
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.VirtualMachineSizeListResult] = kwargs.pop("cls", None)
@@ -93,8 +93,9 @@ async def list(self, location: str, **kwargs: Any) -> _models.VirtualMachineSize
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_connections_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_connections_operations.py
index d849184954e4..9477396caa5a 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_connections_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_connections_operations.py
@@ -145,7 +145,7 @@ async def create(
:param connection_name: Friendly name of the workspace connection. Required.
:type connection_name: str
:param parameters: The object for creating or updating a new workspace connection. Is either a
- model type or a IO type. Required.
+ WorkspaceConnectionPropertiesV2BasicResource type or a IO type. Required.
:type parameters:
~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -167,7 +167,7 @@ async def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -197,8 +197,9 @@ async def create(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -248,7 +249,7 @@ async def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceConnectionPropertiesV2BasicResource] = kwargs.pop("cls", None)
@@ -266,8 +267,9 @@ async def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -317,7 +319,7 @@ async def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -335,8 +337,9 @@ async def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -383,7 +386,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -443,8 +446,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_features_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_features_operations.py
index a968302c5446..6a8ed71c6d05 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_features_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspace_features_operations.py
@@ -77,7 +77,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListAmlUserFeatureResult] = kwargs.pop("cls", None)
@@ -133,8 +133,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspaces_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspaces_operations.py
index 5c6cf54fea4d..b52c5fda5db2 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspaces_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/aio/operations/_workspaces_operations.py
@@ -100,7 +100,7 @@ async def get(self, resource_group_name: str, workspace_name: str, **kwargs: Any
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.Workspace] = kwargs.pop("cls", None)
@@ -117,8 +117,9 @@ async def get(self, resource_group_name: str, workspace_name: str, **kwargs: Any
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -153,7 +154,7 @@ async def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -182,8 +183,9 @@ async def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -294,7 +296,7 @@ async def begin_create_or_update(
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
:param parameters: The parameters for creating or updating a machine learning workspace. Is
- either a model type or a IO type. Required.
+ either a Workspace type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.Workspace or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -316,7 +318,7 @@ async def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -364,7 +366,7 @@ def get_long_running_output(pipeline_response):
}
async def _delete_initial( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ self, resource_group_name: str, workspace_name: str, force_to_purge: Optional[bool] = None, **kwargs: Any
) -> None:
error_map = {
401: ClientAuthenticationError,
@@ -377,7 +379,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -386,6 +388,7 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
+ force_to_purge=force_to_purge,
api_version=api_version,
template_url=self._delete_initial.metadata["url"],
headers=_headers,
@@ -394,8 +397,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -413,7 +417,9 @@ async def _delete_initial( # pylint: disable=inconsistent-return-statements
}
@distributed_trace_async
- async def begin_delete(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> AsyncLROPoller[None]:
+ async def begin_delete(
+ self, resource_group_name: str, workspace_name: str, force_to_purge: Optional[bool] = None, **kwargs: Any
+ ) -> AsyncLROPoller[None]:
"""Deletes a machine learning workspace.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -421,6 +427,8 @@ async def begin_delete(self, resource_group_name: str, workspace_name: str, **kw
:type resource_group_name: str
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
+ :param force_to_purge: Flag to indicate delete is a purge request. Default value is None.
+ :type force_to_purge: bool
: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
@@ -436,7 +444,7 @@ async def begin_delete(self, resource_group_name: str, workspace_name: str, **kw
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -447,6 +455,7 @@ async def begin_delete(self, resource_group_name: str, workspace_name: str, **kw
raw_result = await self._delete_initial( # type: ignore
resource_group_name=resource_group_name,
workspace_name=workspace_name,
+ force_to_purge=force_to_purge,
api_version=api_version,
cls=lambda x, y, z: x,
headers=_headers,
@@ -496,7 +505,7 @@ async def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -525,8 +534,9 @@ async def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -638,8 +648,8 @@ async def begin_update(
:type resource_group_name: str
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
- :param parameters: The parameters for updating a machine learning workspace. Is either a model
- type or a IO type. Required.
+ :param parameters: The parameters for updating a machine learning workspace. Is either a
+ WorkspaceUpdateParameters type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.WorkspaceUpdateParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -661,7 +671,7 @@ async def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -710,7 +720,7 @@ def get_long_running_output(pipeline_response):
@distributed_trace
def list_by_resource_group(
- self, resource_group_name: str, skip: Optional[str] = None, **kwargs: Any
+ self, resource_group_name: str, skip: Optional[str] = None, kind: Optional[str] = None, **kwargs: Any
) -> AsyncIterable["_models.Workspace"]:
"""Lists all the available machine learning workspaces under the specified resource group.
@@ -719,6 +729,8 @@ def list_by_resource_group(
:type resource_group_name: str
:param skip: Continuation token for pagination. Default value is None.
:type skip: str
+ :param kind: Kind of workspace. Default value is None.
+ :type kind: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Workspace or the result of cls(response)
:rtype:
@@ -728,7 +740,7 @@ def list_by_resource_group(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceListResult] = kwargs.pop("cls", None)
@@ -748,6 +760,7 @@ def prepare_request(next_link=None):
resource_group_name=resource_group_name,
subscription_id=self._config.subscription_id,
skip=skip,
+ kind=kind,
api_version=api_version,
template_url=self.list_by_resource_group.metadata["url"],
headers=_headers,
@@ -784,8 +797,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -820,7 +834,7 @@ async def _diagnose_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -852,8 +866,9 @@ async def _diagnose_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -976,8 +991,8 @@ async def begin_diagnose(
:type resource_group_name: str
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
- :param parameters: The parameter of diagnosing workspace health. Is either a model type or a IO
- type. Default value is None.
+ :param parameters: The parameter of diagnosing workspace health. Is either a
+ DiagnoseWorkspaceParameters type or a IO type. Default value is None.
:type parameters: ~azure.mgmt.machinelearningservices.models.DiagnoseWorkspaceParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -999,7 +1014,7 @@ async def begin_diagnose(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1076,7 +1091,7 @@ async def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListWorkspaceKeysResult] = kwargs.pop("cls", None)
@@ -1093,8 +1108,9 @@ async def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1129,7 +1145,7 @@ async def _resync_keys_initial( # pylint: disable=inconsistent-return-statement
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1146,8 +1162,9 @@ async def _resync_keys_initial( # pylint: disable=inconsistent-return-statement
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1191,7 +1208,7 @@ async def begin_resync_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1234,11 +1251,15 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
}
@distributed_trace
- def list_by_subscription(self, skip: Optional[str] = None, **kwargs: Any) -> AsyncIterable["_models.Workspace"]:
+ def list_by_subscription(
+ self, skip: Optional[str] = None, kind: Optional[str] = None, **kwargs: Any
+ ) -> AsyncIterable["_models.Workspace"]:
"""Lists all the available machine learning workspaces under the specified subscription.
:param skip: Continuation token for pagination. Default value is None.
:type skip: str
+ :param kind: Kind of workspace. Default value is None.
+ :type kind: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Workspace or the result of cls(response)
:rtype:
@@ -1248,7 +1269,7 @@ def list_by_subscription(self, skip: Optional[str] = None, **kwargs: Any) -> Asy
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceListResult] = kwargs.pop("cls", None)
@@ -1267,6 +1288,7 @@ def prepare_request(next_link=None):
request = build_list_by_subscription_request(
subscription_id=self._config.subscription_id,
skip=skip,
+ kind=kind,
api_version=api_version,
template_url=self.list_by_subscription.metadata["url"],
headers=_headers,
@@ -1303,8 +1325,9 @@ async def extract_data(pipeline_response):
async def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1348,7 +1371,7 @@ async def list_notebook_access_token(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.NotebookAccessTokenResult] = kwargs.pop("cls", None)
@@ -1365,8 +1388,9 @@ async def list_notebook_access_token(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1401,7 +1425,7 @@ async def _prepare_notebook_initial(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[Optional[_models.NotebookResourceInfo]] = kwargs.pop("cls", None)
@@ -1418,8 +1442,9 @@ async def _prepare_notebook_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1470,7 +1495,7 @@ async def begin_prepare_notebook(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.NotebookResourceInfo] = kwargs.pop("cls", None)
@@ -1543,7 +1568,7 @@ async def list_storage_account_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListStorageAccountKeysResult] = kwargs.pop("cls", None)
@@ -1560,8 +1585,9 @@ async def list_storage_account_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1609,7 +1635,7 @@ async def list_notebook_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListNotebookKeysResult] = kwargs.pop("cls", None)
@@ -1626,8 +1652,9 @@ async def list_notebook_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1679,7 +1706,7 @@ async def list_outbound_network_dependencies_endpoints(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ExternalFQDNResponse] = kwargs.pop("cls", None)
@@ -1696,8 +1723,9 @@ async def list_outbound_network_dependencies_endpoints(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py
index 72bfcc9bc3c2..2872887d9790 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/__init__.py
@@ -9,11 +9,14 @@
from ._models_py3 import AKS
from ._models_py3 import AKSSchema
from ._models_py3 import AKSSchemaProperties
+from ._models_py3 import AccessKeyAuthTypeWorkspaceConnectionProperties
from ._models_py3 import AccountKeyDatastoreCredentials
from ._models_py3 import AccountKeyDatastoreSecrets
+from ._models_py3 import AcrDetails
from ._models_py3 import AksComputeSecrets
from ._models_py3 import AksComputeSecretsProperties
from ._models_py3 import AksNetworkingConfiguration
+from ._models_py3 import AllNodes
from ._models_py3 import AmlCompute
from ._models_py3 import AmlComputeNodeInformation
from ._models_py3 import AmlComputeNodesInformation
@@ -24,6 +27,7 @@
from ._models_py3 import AmlOperationListResult
from ._models_py3 import AmlToken
from ._models_py3 import AmlUserFeature
+from ._models_py3 import ArmResourceId
from ._models_py3 import AssetBase
from ._models_py3 import AssetContainer
from ._models_py3 import AssetJobInput
@@ -39,26 +43,36 @@
from ._models_py3 import AutoSeasonality
from ._models_py3 import AutoTargetLags
from ._models_py3 import AutoTargetRollingWindowSize
+from ._models_py3 import AutologgerSettings
from ._models_py3 import AzureBlobDatastore
from ._models_py3 import AzureDataLakeGen1Datastore
from ._models_py3 import AzureDataLakeGen2Datastore
+from ._models_py3 import AzureDatastore
from ._models_py3 import AzureFileDatastore
+from ._models_py3 import AzureMLBatchInferencingServer
+from ._models_py3 import AzureMLOnlineInferencingServer
from ._models_py3 import BanditPolicy
+from ._models_py3 import BaseEnvironmentId
+from ._models_py3 import BaseEnvironmentSource
from ._models_py3 import BatchDeployment
+from ._models_py3 import BatchDeploymentConfiguration
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 BatchPipelineComponentDeploymentConfiguration
from ._models_py3 import BatchRetrySettings
from ._models_py3 import BayesianSamplingAlgorithm
+from ._models_py3 import BindOptions
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 CocoExportSummary
from ._models_py3 import CodeConfiguration
from ._models_py3 import CodeContainer
from ._models_py3 import CodeContainerProperties
@@ -78,6 +92,7 @@
from ._models_py3 import Compute
from ._models_py3 import ComputeInstance
from ._models_py3 import ComputeInstanceApplication
+from ._models_py3 import ComputeInstanceAutologgerSettings
from ._models_py3 import ComputeInstanceConnectivityEndpoints
from ._models_py3 import ComputeInstanceContainer
from ._models_py3 import ComputeInstanceCreatedBy
@@ -91,18 +106,23 @@
from ._models_py3 import ComputeInstanceVersion
from ._models_py3 import ComputeResource
from ._models_py3 import ComputeResourceSchema
+from ._models_py3 import ComputeRuntimeDto
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 Cron
from ._models_py3 import CronTrigger
+from ._models_py3 import CsvExportSummary
from ._models_py3 import CustomForecastHorizon
+from ._models_py3 import CustomInferencingServer
from ._models_py3 import CustomModelJobInput
from ._models_py3 import CustomModelJobOutput
from ._models_py3 import CustomNCrossValidations
from ._models_py3 import CustomSeasonality
+from ._models_py3 import CustomService
from ._models_py3 import CustomTargetLags
from ._models_py3 import CustomTargetRollingWindowSize
from ._models_py3 import DataContainer
@@ -121,6 +141,7 @@
from ._models_py3 import DatabricksComputeSecretsProperties
from ._models_py3 import DatabricksProperties
from ._models_py3 import DatabricksSchema
+from ._models_py3 import DatasetExportSummary
from ._models_py3 import Datastore
from ._models_py3 import DatastoreCredentials
from ._models_py3 import DatastoreProperties
@@ -136,9 +157,13 @@
from ._models_py3 import DiagnoseResult
from ._models_py3 import DiagnoseWorkspaceParameters
from ._models_py3 import DistributionConfiguration
+from ._models_py3 import Docker
from ._models_py3 import EarlyTerminationPolicy
from ._models_py3 import EncryptionKeyVaultProperties
+from ._models_py3 import EncryptionKeyVaultUpdateProperties
from ._models_py3 import EncryptionProperty
+from ._models_py3 import EncryptionUpdateProperties
+from ._models_py3 import Endpoint
from ._models_py3 import EndpointAuthKeys
from ._models_py3 import EndpointAuthToken
from ._models_py3 import EndpointDeploymentPropertiesBase
@@ -147,6 +172,7 @@
from ._models_py3 import EnvironmentContainer
from ._models_py3 import EnvironmentContainerProperties
from ._models_py3 import EnvironmentContainerResourceArmPaginatedResult
+from ._models_py3 import EnvironmentVariable
from ._models_py3 import EnvironmentVersion
from ._models_py3 import EnvironmentVersionProperties
from ._models_py3 import EnvironmentVersionResourceArmPaginatedResult
@@ -155,29 +181,56 @@
from ._models_py3 import ErrorResponse
from ._models_py3 import EstimatedVMPrice
from ._models_py3 import EstimatedVMPrices
+from ._models_py3 import ExportSummary
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 Feature
+from ._models_py3 import FeatureArmPaginatedResult
+from ._models_py3 import FeatureStoreSettings
+from ._models_py3 import FeatureWindow
+from ._models_py3 import FeaturesetContainer
+from ._models_py3 import FeaturesetContainerProperties
+from ._models_py3 import FeaturesetContainerResourceArmPaginatedResult
+from ._models_py3 import FeaturesetJob
+from ._models_py3 import FeaturesetJobArmPaginatedResult
+from ._models_py3 import FeaturesetSpecification
+from ._models_py3 import FeaturesetVersion
+from ._models_py3 import FeaturesetVersionBackfillRequest
+from ._models_py3 import FeaturesetVersionBackfillResponse
+from ._models_py3 import FeaturesetVersionProperties
+from ._models_py3 import FeaturesetVersionResourceArmPaginatedResult
+from ._models_py3 import FeaturestoreEntityContainer
+from ._models_py3 import FeaturestoreEntityContainerProperties
+from ._models_py3 import FeaturestoreEntityContainerResourceArmPaginatedResult
+from ._models_py3 import FeaturestoreEntityVersion
+from ._models_py3 import FeaturestoreEntityVersionProperties
+from ._models_py3 import FeaturestoreEntityVersionResourceArmPaginatedResult
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 GetFeatureRequest
from ._models_py3 import GridSamplingAlgorithm
from ._models_py3 import HDInsight
from ._models_py3 import HDInsightProperties
from ._models_py3 import HDInsightSchema
+from ._models_py3 import HdfsDatastore
from ._models_py3 import IdAssetReference
from ._models_py3 import IdentityConfiguration
from ._models_py3 import IdentityForCmk
+from ._models_py3 import IdleShutdownSetting
+from ._models_py3 import Image
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 ImageMetadata
from ._models_py3 import ImageModelDistributionSettings
from ._models_py3 import ImageModelDistributionSettingsClassification
from ._models_py3 import ImageModelDistributionSettingsObjectDetection
@@ -188,7 +241,9 @@
from ._models_py3 import ImageObjectDetectionBase
from ._models_py3 import ImageSweepSettings
from ._models_py3 import ImageVertical
+from ._models_py3 import IndexColumn
from ._models_py3 import InferenceContainerProperties
+from ._models_py3 import InferencingServer
from ._models_py3 import InstanceTypeSchema
from ._models_py3 import InstanceTypeSchemaResources
from ._models_py3 import JobBase
@@ -200,10 +255,25 @@
from ._models_py3 import JobResourceConfiguration
from ._models_py3 import JobScheduleAction
from ._models_py3 import JobService
+from ._models_py3 import KerberosCredentials
+from ._models_py3 import KerberosKeytabCredentials
+from ._models_py3 import KerberosKeytabSecrets
+from ._models_py3 import KerberosPasswordCredentials
+from ._models_py3 import KerberosPasswordSecrets
from ._models_py3 import Kubernetes
from ._models_py3 import KubernetesOnlineDeployment
from ._models_py3 import KubernetesProperties
from ._models_py3 import KubernetesSchema
+from ._models_py3 import LabelCategory
+from ._models_py3 import LabelClass
+from ._models_py3 import LabelingDataConfiguration
+from ._models_py3 import LabelingJob
+from ._models_py3 import LabelingJobImageProperties
+from ._models_py3 import LabelingJobInstructions
+from ._models_py3 import LabelingJobMediaProperties
+from ._models_py3 import LabelingJobProperties
+from ._models_py3 import LabelingJobResourceArmPaginatedResult
+from ._models_py3 import LabelingJobTextProperties
from ._models_py3 import ListAmlUserFeatureResult
from ._models_py3 import ListNotebookKeysResult
from ._models_py3 import ListStorageAccountKeysResult
@@ -211,6 +281,9 @@
from ._models_py3 import ListWorkspaceKeysResult
from ._models_py3 import ListWorkspaceQuotas
from ._models_py3 import LiteralJobInput
+from ._models_py3 import MLAssistConfiguration
+from ._models_py3 import MLAssistConfigurationDisabled
+from ._models_py3 import MLAssistConfigurationEnabled
from ._models_py3 import MLFlowModelJobInput
from ._models_py3 import MLFlowModelJobOutput
from ._models_py3 import MLTableData
@@ -220,24 +293,33 @@
from ._models_py3 import ManagedIdentityAuthTypeWorkspaceConnectionProperties
from ._models_py3 import ManagedOnlineDeployment
from ._models_py3 import ManagedServiceIdentity
+from ._models_py3 import MaterializationComputeResource
+from ._models_py3 import MaterializationSettings
from ._models_py3 import MedianStoppingPolicy
+from ._models_py3 import ModelConfiguration
from ._models_py3 import ModelContainer
from ._models_py3 import ModelContainerProperties
from ._models_py3 import ModelContainerResourceArmPaginatedResult
+from ._models_py3 import ModelPackageInput
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 NlpFixedParameters
+from ._models_py3 import NlpParameterSubspace
+from ._models_py3 import NlpSweepSettings
from ._models_py3 import NlpVertical
from ._models_py3 import NlpVerticalFeaturizationSettings
from ._models_py3 import NlpVerticalLimitSettings
from ._models_py3 import NodeStateCounts
+from ._models_py3 import Nodes
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 NotificationSetting
from ._models_py3 import Objective
from ._models_py3 import OnlineDeployment
from ._models_py3 import OnlineDeploymentProperties
@@ -245,10 +327,17 @@
from ._models_py3 import OnlineEndpoint
from ._models_py3 import OnlineEndpointProperties
from ._models_py3 import OnlineEndpointTrackedResourceArmPaginatedResult
+from ._models_py3 import OnlineInferenceConfiguration
from ._models_py3 import OnlineRequestSettings
from ._models_py3 import OnlineScaleSettings
from ._models_py3 import OutputPathAssetReference
from ._models_py3 import PATAuthTypeWorkspaceConnectionProperties
+from ._models_py3 import PackageInputPathBase
+from ._models_py3 import PackageInputPathId
+from ._models_py3 import PackageInputPathUrl
+from ._models_py3 import PackageInputPathVersion
+from ._models_py3 import PackageRequest
+from ._models_py3 import PackageResponse
from ._models_py3 import PaginatedComputeResourcesList
from ._models_py3 import PartialBatchDeployment
from ._models_py3 import PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties
@@ -256,6 +345,7 @@
from ._models_py3 import PartialMinimalTrackedResource
from ._models_py3 import PartialMinimalTrackedResourceWithIdentity
from ._models_py3 import PartialMinimalTrackedResourceWithSku
+from ._models_py3 import PartialRegistryPartialTrackedResource
from ._models_py3 import PartialSku
from ._models_py3 import Password
from ._models_py3 import PersonalComputeInstanceSettings
@@ -267,14 +357,21 @@
from ._models_py3 import PrivateLinkResourceListResult
from ._models_py3 import PrivateLinkServiceConnectionState
from ._models_py3 import ProbeSettings
+from ._models_py3 import ProgressMetrics
from ._models_py3 import PyTorch
+from ._models_py3 import QueueSettings
from ._models_py3 import QuotaBaseProperties
from ._models_py3 import QuotaUpdateParameters
from ._models_py3 import RandomSamplingAlgorithm
+from ._models_py3 import Recurrence
from ._models_py3 import RecurrenceSchedule
from ._models_py3 import RecurrenceTrigger
from ._models_py3 import RegenerateEndpointKeysRequest
+from ._models_py3 import Registry
from ._models_py3 import RegistryListCredentialsResult
+from ._models_py3 import RegistryProperties
+from ._models_py3 import RegistryRegionArmDetails
+from ._models_py3 import RegistryTrackedResourceArmPaginatedResult
from ._models_py3 import Regression
from ._models_py3 import RegressionTrainingSettings
from ._models_py3 import Resource
@@ -299,6 +396,7 @@
from ._models_py3 import ScriptsToExecute
from ._models_py3 import Seasonality
from ._models_py3 import ServiceManagedResourcesSettings
+from ._models_py3 import ServicePrincipalAuthTypeWorkspaceConnectionProperties
from ._models_py3 import ServicePrincipalDatastoreCredentials
from ._models_py3 import ServicePrincipalDatastoreSecrets
from ._models_py3 import SetupScripts
@@ -308,14 +406,26 @@
from ._models_py3 import SkuResource
from ._models_py3 import SkuResourceArmPaginatedResult
from ._models_py3 import SkuSetting
+from ._models_py3 import SparkJob
+from ._models_py3 import SparkJobEntry
+from ._models_py3 import SparkJobPythonEntry
+from ._models_py3 import SparkJobScalaEntry
+from ._models_py3 import SparkResourceConfiguration
from ._models_py3 import SslConfiguration
from ._models_py3 import StackEnsembleSettings
+from ._models_py3 import StatusMessage
+from ._models_py3 import StorageAccountDetails
from ._models_py3 import SweepJob
from ._models_py3 import SweepJobLimits
from ._models_py3 import SynapseSpark
from ._models_py3 import SynapseSparkProperties
+from ._models_py3 import SystemCreatedAcrAccount
+from ._models_py3 import SystemCreatedStorageAccount
from ._models_py3 import SystemData
from ._models_py3 import SystemService
+from ._models_py3 import TableFixedParameters
+from ._models_py3 import TableParameterSubspace
+from ._models_py3 import TableSweepSettings
from ._models_py3 import TableVertical
from ._models_py3 import TableVerticalFeaturizationSettings
from ._models_py3 import TableVerticalLimitSettings
@@ -326,10 +436,12 @@
from ._models_py3 import TextClassification
from ._models_py3 import TextClassificationMultilabel
from ._models_py3 import TextNer
+from ._models_py3 import TmpfsOptions
from ._models_py3 import TrackedResource
from ._models_py3 import TrainingSettings
from ._models_py3 import TrialComponent
from ._models_py3 import TriggerBase
+from ._models_py3 import TritonInferencingServer
from ._models_py3 import TritonModelJobInput
from ._models_py3 import TritonModelJobOutput
from ._models_py3 import TruncationSelectionPolicy
@@ -345,6 +457,8 @@
from ._models_py3 import UsageName
from ._models_py3 import UserAccountCredentials
from ._models_py3 import UserAssignedIdentity
+from ._models_py3 import UserCreatedAcrAccount
+from ._models_py3 import UserCreatedStorageAccount
from ._models_py3 import UserIdentity
from ._models_py3 import UsernamePasswordAuthTypeWorkspaceConnectionProperties
from ._models_py3 import VirtualMachine
@@ -356,12 +470,16 @@
from ._models_py3 import VirtualMachineSize
from ._models_py3 import VirtualMachineSizeListResult
from ._models_py3 import VirtualMachineSshCredentials
+from ._models_py3 import VolumeDefinition
+from ._models_py3 import VolumeOptions
from ._models_py3 import Workspace
+from ._models_py3 import WorkspaceConnectionAccessKey
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 WorkspaceConnectionServicePrincipal
from ._models_py3 import WorkspaceConnectionSharedAccessSignature
from ._models_py3 import WorkspaceConnectionUsernamePassword
from ._models_py3 import WorkspaceListResult
@@ -369,8 +487,11 @@
from ._machine_learning_services_mgmt_client_enums import AllocationState
from ._machine_learning_services_mgmt_client_enums import ApplicationSharingPolicy
+from ._machine_learning_services_mgmt_client_enums import AssetProvisioningState
from ._machine_learning_services_mgmt_client_enums import AutoRebuildSetting
from ._machine_learning_services_mgmt_client_enums import Autosave
+from ._machine_learning_services_mgmt_client_enums import BaseEnvironmentSourceType
+from ._machine_learning_services_mgmt_client_enums import BatchDeploymentConfigurationType
from ._machine_learning_services_mgmt_client_enums import BatchLoggingLevel
from ._machine_learning_services_mgmt_client_enums import BatchOutputAction
from ._machine_learning_services_mgmt_client_enums import BillingCurrency
@@ -396,37 +517,57 @@
from ._machine_learning_services_mgmt_client_enums import DistributionType
from ._machine_learning_services_mgmt_client_enums import EarlyTerminationPolicyType
from ._machine_learning_services_mgmt_client_enums import EgressPublicNetworkAccessType
+from ._machine_learning_services_mgmt_client_enums import EmailNotificationEnableType
from ._machine_learning_services_mgmt_client_enums import EncryptionStatus
from ._machine_learning_services_mgmt_client_enums import EndpointAuthMode
from ._machine_learning_services_mgmt_client_enums import EndpointComputeType
from ._machine_learning_services_mgmt_client_enums import EndpointProvisioningState
from ._machine_learning_services_mgmt_client_enums import EnvironmentType
+from ._machine_learning_services_mgmt_client_enums import EnvironmentVariableType
+from ._machine_learning_services_mgmt_client_enums import ExportFormatType
+from ._machine_learning_services_mgmt_client_enums import FeatureDataType
from ._machine_learning_services_mgmt_client_enums import FeatureLags
+from ._machine_learning_services_mgmt_client_enums import FeaturestoreJobType
from ._machine_learning_services_mgmt_client_enums import FeaturizationMode
from ._machine_learning_services_mgmt_client_enums import ForecastHorizonMode
from ._machine_learning_services_mgmt_client_enums import ForecastingModels
from ._machine_learning_services_mgmt_client_enums import ForecastingPrimaryMetrics
from ._machine_learning_services_mgmt_client_enums import Goal
from ._machine_learning_services_mgmt_client_enums import IdentityConfigurationType
+from ._machine_learning_services_mgmt_client_enums import ImageAnnotationType
+from ._machine_learning_services_mgmt_client_enums import ImageType
+from ._machine_learning_services_mgmt_client_enums import IncrementalDataRefresh
+from ._machine_learning_services_mgmt_client_enums import InferencingServerType
from ._machine_learning_services_mgmt_client_enums import InputDeliveryMode
+from ._machine_learning_services_mgmt_client_enums import InputPathType
from ._machine_learning_services_mgmt_client_enums import InstanceSegmentationPrimaryMetrics
from ._machine_learning_services_mgmt_client_enums import JobInputType
from ._machine_learning_services_mgmt_client_enums import JobLimitsType
from ._machine_learning_services_mgmt_client_enums import JobOutputType
+from ._machine_learning_services_mgmt_client_enums import JobProvisioningState
from ._machine_learning_services_mgmt_client_enums import JobStatus
+from ._machine_learning_services_mgmt_client_enums import JobTier
from ._machine_learning_services_mgmt_client_enums import JobType
from ._machine_learning_services_mgmt_client_enums import KeyType
from ._machine_learning_services_mgmt_client_enums import LearningRateScheduler
from ._machine_learning_services_mgmt_client_enums import ListViewType
from ._machine_learning_services_mgmt_client_enums import LoadBalancerType
from ._machine_learning_services_mgmt_client_enums import LogVerbosity
+from ._machine_learning_services_mgmt_client_enums import MLAssistConfigurationType
+from ._machine_learning_services_mgmt_client_enums import MLFlowAutologgerState
from ._machine_learning_services_mgmt_client_enums import ManagedServiceIdentityType
+from ._machine_learning_services_mgmt_client_enums import MaterializationStoreType
+from ._machine_learning_services_mgmt_client_enums import MediaType
+from ._machine_learning_services_mgmt_client_enums import MlflowAutologger
from ._machine_learning_services_mgmt_client_enums import ModelSize
from ._machine_learning_services_mgmt_client_enums import MountAction
from ._machine_learning_services_mgmt_client_enums import MountState
+from ._machine_learning_services_mgmt_client_enums import MultiSelect
from ._machine_learning_services_mgmt_client_enums import NCrossValidationsMode
from ._machine_learning_services_mgmt_client_enums import Network
+from ._machine_learning_services_mgmt_client_enums import NlpLearningRateScheduler
from ._machine_learning_services_mgmt_client_enums import NodeState
+from ._machine_learning_services_mgmt_client_enums import NodesValueType
from ._machine_learning_services_mgmt_client_enums import ObjectDetectionPrimaryMetrics
from ._machine_learning_services_mgmt_client_enums import OperatingSystemType
from ._machine_learning_services_mgmt_client_enums import OperationName
@@ -435,8 +576,12 @@
from ._machine_learning_services_mgmt_client_enums import OrderString
from ._machine_learning_services_mgmt_client_enums import OsType
from ._machine_learning_services_mgmt_client_enums import OutputDeliveryMode
+from ._machine_learning_services_mgmt_client_enums import PackageBuildState
+from ._machine_learning_services_mgmt_client_enums import PackageInputDeliveryMode
+from ._machine_learning_services_mgmt_client_enums import PackageInputType
from ._machine_learning_services_mgmt_client_enums import PrivateEndpointConnectionProvisioningState
from ._machine_learning_services_mgmt_client_enums import PrivateEndpointServiceConnectionStatus
+from ._machine_learning_services_mgmt_client_enums import Protocol
from ._machine_learning_services_mgmt_client_enums import ProvisioningState
from ._machine_learning_services_mgmt_client_enums import ProvisioningStatus
from ._machine_learning_services_mgmt_client_enums import PublicNetworkAccess
@@ -462,16 +607,20 @@
from ._machine_learning_services_mgmt_client_enums import SkuScaleType
from ._machine_learning_services_mgmt_client_enums import SkuTier
from ._machine_learning_services_mgmt_client_enums import SourceType
+from ._machine_learning_services_mgmt_client_enums import SparkJobEntryType
from ._machine_learning_services_mgmt_client_enums import SshPublicAccess
from ._machine_learning_services_mgmt_client_enums import SslConfigStatus
from ._machine_learning_services_mgmt_client_enums import StackMetaLearnerType
from ._machine_learning_services_mgmt_client_enums import Status
+from ._machine_learning_services_mgmt_client_enums import StatusMessageLevel
from ._machine_learning_services_mgmt_client_enums import StochasticOptimizer
from ._machine_learning_services_mgmt_client_enums import StorageAccountType
from ._machine_learning_services_mgmt_client_enums import TargetAggregationFunction
from ._machine_learning_services_mgmt_client_enums import TargetLagsMode
from ._machine_learning_services_mgmt_client_enums import TargetRollingWindowSizeMode
from ._machine_learning_services_mgmt_client_enums import TaskType
+from ._machine_learning_services_mgmt_client_enums import TextAnnotationType
+from ._machine_learning_services_mgmt_client_enums import TrainingMode
from ._machine_learning_services_mgmt_client_enums import TriggerType
from ._machine_learning_services_mgmt_client_enums import UnderlyingResourceAction
from ._machine_learning_services_mgmt_client_enums import UnitOfMeasure
@@ -482,6 +631,7 @@
from ._machine_learning_services_mgmt_client_enums import ValidationMetricType
from ._machine_learning_services_mgmt_client_enums import ValueFormat
from ._machine_learning_services_mgmt_client_enums import VmPriority
+from ._machine_learning_services_mgmt_client_enums import VolumeDefinitionType
from ._machine_learning_services_mgmt_client_enums import WeekDay
from ._patch import __all__ as _patch_all
from ._patch import * # pylint: disable=unused-wildcard-import
@@ -491,11 +641,14 @@
"AKS",
"AKSSchema",
"AKSSchemaProperties",
+ "AccessKeyAuthTypeWorkspaceConnectionProperties",
"AccountKeyDatastoreCredentials",
"AccountKeyDatastoreSecrets",
+ "AcrDetails",
"AksComputeSecrets",
"AksComputeSecretsProperties",
"AksNetworkingConfiguration",
+ "AllNodes",
"AmlCompute",
"AmlComputeNodeInformation",
"AmlComputeNodesInformation",
@@ -506,6 +659,7 @@
"AmlOperationListResult",
"AmlToken",
"AmlUserFeature",
+ "ArmResourceId",
"AssetBase",
"AssetContainer",
"AssetJobInput",
@@ -521,26 +675,36 @@
"AutoSeasonality",
"AutoTargetLags",
"AutoTargetRollingWindowSize",
+ "AutologgerSettings",
"AzureBlobDatastore",
"AzureDataLakeGen1Datastore",
"AzureDataLakeGen2Datastore",
+ "AzureDatastore",
"AzureFileDatastore",
+ "AzureMLBatchInferencingServer",
+ "AzureMLOnlineInferencingServer",
"BanditPolicy",
+ "BaseEnvironmentId",
+ "BaseEnvironmentSource",
"BatchDeployment",
+ "BatchDeploymentConfiguration",
"BatchDeploymentProperties",
"BatchDeploymentTrackedResourceArmPaginatedResult",
"BatchEndpoint",
"BatchEndpointDefaults",
"BatchEndpointProperties",
"BatchEndpointTrackedResourceArmPaginatedResult",
+ "BatchPipelineComponentDeploymentConfiguration",
"BatchRetrySettings",
"BayesianSamplingAlgorithm",
+ "BindOptions",
"BuildContext",
"CertificateDatastoreCredentials",
"CertificateDatastoreSecrets",
"Classification",
"ClassificationTrainingSettings",
"ClusterUpdateParameters",
+ "CocoExportSummary",
"CodeConfiguration",
"CodeContainer",
"CodeContainerProperties",
@@ -560,6 +724,7 @@
"Compute",
"ComputeInstance",
"ComputeInstanceApplication",
+ "ComputeInstanceAutologgerSettings",
"ComputeInstanceConnectivityEndpoints",
"ComputeInstanceContainer",
"ComputeInstanceCreatedBy",
@@ -573,18 +738,23 @@
"ComputeInstanceVersion",
"ComputeResource",
"ComputeResourceSchema",
+ "ComputeRuntimeDto",
"ComputeSchedules",
"ComputeSecrets",
"ComputeStartStopSchedule",
"ContainerResourceRequirements",
"ContainerResourceSettings",
"CosmosDbSettings",
+ "Cron",
"CronTrigger",
+ "CsvExportSummary",
"CustomForecastHorizon",
+ "CustomInferencingServer",
"CustomModelJobInput",
"CustomModelJobOutput",
"CustomNCrossValidations",
"CustomSeasonality",
+ "CustomService",
"CustomTargetLags",
"CustomTargetRollingWindowSize",
"DataContainer",
@@ -603,6 +773,7 @@
"DatabricksComputeSecretsProperties",
"DatabricksProperties",
"DatabricksSchema",
+ "DatasetExportSummary",
"Datastore",
"DatastoreCredentials",
"DatastoreProperties",
@@ -618,9 +789,13 @@
"DiagnoseResult",
"DiagnoseWorkspaceParameters",
"DistributionConfiguration",
+ "Docker",
"EarlyTerminationPolicy",
"EncryptionKeyVaultProperties",
+ "EncryptionKeyVaultUpdateProperties",
"EncryptionProperty",
+ "EncryptionUpdateProperties",
+ "Endpoint",
"EndpointAuthKeys",
"EndpointAuthToken",
"EndpointDeploymentPropertiesBase",
@@ -629,6 +804,7 @@
"EnvironmentContainer",
"EnvironmentContainerProperties",
"EnvironmentContainerResourceArmPaginatedResult",
+ "EnvironmentVariable",
"EnvironmentVersion",
"EnvironmentVersionProperties",
"EnvironmentVersionResourceArmPaginatedResult",
@@ -637,29 +813,56 @@
"ErrorResponse",
"EstimatedVMPrice",
"EstimatedVMPrices",
+ "ExportSummary",
"ExternalFQDNResponse",
"FQDNEndpoint",
"FQDNEndpointDetail",
"FQDNEndpoints",
"FQDNEndpointsProperties",
+ "Feature",
+ "FeatureArmPaginatedResult",
+ "FeatureStoreSettings",
+ "FeatureWindow",
+ "FeaturesetContainer",
+ "FeaturesetContainerProperties",
+ "FeaturesetContainerResourceArmPaginatedResult",
+ "FeaturesetJob",
+ "FeaturesetJobArmPaginatedResult",
+ "FeaturesetSpecification",
+ "FeaturesetVersion",
+ "FeaturesetVersionBackfillRequest",
+ "FeaturesetVersionBackfillResponse",
+ "FeaturesetVersionProperties",
+ "FeaturesetVersionResourceArmPaginatedResult",
+ "FeaturestoreEntityContainer",
+ "FeaturestoreEntityContainerProperties",
+ "FeaturestoreEntityContainerResourceArmPaginatedResult",
+ "FeaturestoreEntityVersion",
+ "FeaturestoreEntityVersionProperties",
+ "FeaturestoreEntityVersionResourceArmPaginatedResult",
"FeaturizationSettings",
"FlavorData",
"ForecastHorizon",
"Forecasting",
"ForecastingSettings",
"ForecastingTrainingSettings",
+ "GetFeatureRequest",
"GridSamplingAlgorithm",
"HDInsight",
"HDInsightProperties",
"HDInsightSchema",
+ "HdfsDatastore",
"IdAssetReference",
"IdentityConfiguration",
"IdentityForCmk",
+ "IdleShutdownSetting",
+ "Image",
"ImageClassification",
"ImageClassificationBase",
"ImageClassificationMultilabel",
"ImageInstanceSegmentation",
"ImageLimitSettings",
+ "ImageMetadata",
"ImageModelDistributionSettings",
"ImageModelDistributionSettingsClassification",
"ImageModelDistributionSettingsObjectDetection",
@@ -670,7 +873,9 @@
"ImageObjectDetectionBase",
"ImageSweepSettings",
"ImageVertical",
+ "IndexColumn",
"InferenceContainerProperties",
+ "InferencingServer",
"InstanceTypeSchema",
"InstanceTypeSchemaResources",
"JobBase",
@@ -682,10 +887,25 @@
"JobResourceConfiguration",
"JobScheduleAction",
"JobService",
+ "KerberosCredentials",
+ "KerberosKeytabCredentials",
+ "KerberosKeytabSecrets",
+ "KerberosPasswordCredentials",
+ "KerberosPasswordSecrets",
"Kubernetes",
"KubernetesOnlineDeployment",
"KubernetesProperties",
"KubernetesSchema",
+ "LabelCategory",
+ "LabelClass",
+ "LabelingDataConfiguration",
+ "LabelingJob",
+ "LabelingJobImageProperties",
+ "LabelingJobInstructions",
+ "LabelingJobMediaProperties",
+ "LabelingJobProperties",
+ "LabelingJobResourceArmPaginatedResult",
+ "LabelingJobTextProperties",
"ListAmlUserFeatureResult",
"ListNotebookKeysResult",
"ListStorageAccountKeysResult",
@@ -693,6 +913,9 @@
"ListWorkspaceKeysResult",
"ListWorkspaceQuotas",
"LiteralJobInput",
+ "MLAssistConfiguration",
+ "MLAssistConfigurationDisabled",
+ "MLAssistConfigurationEnabled",
"MLFlowModelJobInput",
"MLFlowModelJobOutput",
"MLTableData",
@@ -702,24 +925,33 @@
"ManagedIdentityAuthTypeWorkspaceConnectionProperties",
"ManagedOnlineDeployment",
"ManagedServiceIdentity",
+ "MaterializationComputeResource",
+ "MaterializationSettings",
"MedianStoppingPolicy",
+ "ModelConfiguration",
"ModelContainer",
"ModelContainerProperties",
"ModelContainerResourceArmPaginatedResult",
+ "ModelPackageInput",
"ModelVersion",
"ModelVersionProperties",
"ModelVersionResourceArmPaginatedResult",
"Mpi",
"NCrossValidations",
+ "NlpFixedParameters",
+ "NlpParameterSubspace",
+ "NlpSweepSettings",
"NlpVertical",
"NlpVerticalFeaturizationSettings",
"NlpVerticalLimitSettings",
"NodeStateCounts",
+ "Nodes",
"NoneAuthTypeWorkspaceConnectionProperties",
"NoneDatastoreCredentials",
"NotebookAccessTokenResult",
"NotebookPreparationError",
"NotebookResourceInfo",
+ "NotificationSetting",
"Objective",
"OnlineDeployment",
"OnlineDeploymentProperties",
@@ -727,10 +959,17 @@
"OnlineEndpoint",
"OnlineEndpointProperties",
"OnlineEndpointTrackedResourceArmPaginatedResult",
+ "OnlineInferenceConfiguration",
"OnlineRequestSettings",
"OnlineScaleSettings",
"OutputPathAssetReference",
"PATAuthTypeWorkspaceConnectionProperties",
+ "PackageInputPathBase",
+ "PackageInputPathId",
+ "PackageInputPathUrl",
+ "PackageInputPathVersion",
+ "PackageRequest",
+ "PackageResponse",
"PaginatedComputeResourcesList",
"PartialBatchDeployment",
"PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties",
@@ -738,6 +977,7 @@
"PartialMinimalTrackedResource",
"PartialMinimalTrackedResourceWithIdentity",
"PartialMinimalTrackedResourceWithSku",
+ "PartialRegistryPartialTrackedResource",
"PartialSku",
"Password",
"PersonalComputeInstanceSettings",
@@ -749,14 +989,21 @@
"PrivateLinkResourceListResult",
"PrivateLinkServiceConnectionState",
"ProbeSettings",
+ "ProgressMetrics",
"PyTorch",
+ "QueueSettings",
"QuotaBaseProperties",
"QuotaUpdateParameters",
"RandomSamplingAlgorithm",
+ "Recurrence",
"RecurrenceSchedule",
"RecurrenceTrigger",
"RegenerateEndpointKeysRequest",
+ "Registry",
"RegistryListCredentialsResult",
+ "RegistryProperties",
+ "RegistryRegionArmDetails",
+ "RegistryTrackedResourceArmPaginatedResult",
"Regression",
"RegressionTrainingSettings",
"Resource",
@@ -781,6 +1028,7 @@
"ScriptsToExecute",
"Seasonality",
"ServiceManagedResourcesSettings",
+ "ServicePrincipalAuthTypeWorkspaceConnectionProperties",
"ServicePrincipalDatastoreCredentials",
"ServicePrincipalDatastoreSecrets",
"SetupScripts",
@@ -790,14 +1038,26 @@
"SkuResource",
"SkuResourceArmPaginatedResult",
"SkuSetting",
+ "SparkJob",
+ "SparkJobEntry",
+ "SparkJobPythonEntry",
+ "SparkJobScalaEntry",
+ "SparkResourceConfiguration",
"SslConfiguration",
"StackEnsembleSettings",
+ "StatusMessage",
+ "StorageAccountDetails",
"SweepJob",
"SweepJobLimits",
"SynapseSpark",
"SynapseSparkProperties",
+ "SystemCreatedAcrAccount",
+ "SystemCreatedStorageAccount",
"SystemData",
"SystemService",
+ "TableFixedParameters",
+ "TableParameterSubspace",
+ "TableSweepSettings",
"TableVertical",
"TableVerticalFeaturizationSettings",
"TableVerticalLimitSettings",
@@ -808,10 +1068,12 @@
"TextClassification",
"TextClassificationMultilabel",
"TextNer",
+ "TmpfsOptions",
"TrackedResource",
"TrainingSettings",
"TrialComponent",
"TriggerBase",
+ "TritonInferencingServer",
"TritonModelJobInput",
"TritonModelJobOutput",
"TruncationSelectionPolicy",
@@ -827,6 +1089,8 @@
"UsageName",
"UserAccountCredentials",
"UserAssignedIdentity",
+ "UserCreatedAcrAccount",
+ "UserCreatedStorageAccount",
"UserIdentity",
"UsernamePasswordAuthTypeWorkspaceConnectionProperties",
"VirtualMachine",
@@ -838,20 +1102,27 @@
"VirtualMachineSize",
"VirtualMachineSizeListResult",
"VirtualMachineSshCredentials",
+ "VolumeDefinition",
+ "VolumeOptions",
"Workspace",
+ "WorkspaceConnectionAccessKey",
"WorkspaceConnectionManagedIdentity",
"WorkspaceConnectionPersonalAccessToken",
"WorkspaceConnectionPropertiesV2",
"WorkspaceConnectionPropertiesV2BasicResource",
"WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult",
+ "WorkspaceConnectionServicePrincipal",
"WorkspaceConnectionSharedAccessSignature",
"WorkspaceConnectionUsernamePassword",
"WorkspaceListResult",
"WorkspaceUpdateParameters",
"AllocationState",
"ApplicationSharingPolicy",
+ "AssetProvisioningState",
"AutoRebuildSetting",
"Autosave",
+ "BaseEnvironmentSourceType",
+ "BatchDeploymentConfigurationType",
"BatchLoggingLevel",
"BatchOutputAction",
"BillingCurrency",
@@ -877,37 +1148,57 @@
"DistributionType",
"EarlyTerminationPolicyType",
"EgressPublicNetworkAccessType",
+ "EmailNotificationEnableType",
"EncryptionStatus",
"EndpointAuthMode",
"EndpointComputeType",
"EndpointProvisioningState",
"EnvironmentType",
+ "EnvironmentVariableType",
+ "ExportFormatType",
+ "FeatureDataType",
"FeatureLags",
+ "FeaturestoreJobType",
"FeaturizationMode",
"ForecastHorizonMode",
"ForecastingModels",
"ForecastingPrimaryMetrics",
"Goal",
"IdentityConfigurationType",
+ "ImageAnnotationType",
+ "ImageType",
+ "IncrementalDataRefresh",
+ "InferencingServerType",
"InputDeliveryMode",
+ "InputPathType",
"InstanceSegmentationPrimaryMetrics",
"JobInputType",
"JobLimitsType",
"JobOutputType",
+ "JobProvisioningState",
"JobStatus",
+ "JobTier",
"JobType",
"KeyType",
"LearningRateScheduler",
"ListViewType",
"LoadBalancerType",
"LogVerbosity",
+ "MLAssistConfigurationType",
+ "MLFlowAutologgerState",
"ManagedServiceIdentityType",
+ "MaterializationStoreType",
+ "MediaType",
+ "MlflowAutologger",
"ModelSize",
"MountAction",
"MountState",
+ "MultiSelect",
"NCrossValidationsMode",
"Network",
+ "NlpLearningRateScheduler",
"NodeState",
+ "NodesValueType",
"ObjectDetectionPrimaryMetrics",
"OperatingSystemType",
"OperationName",
@@ -916,8 +1207,12 @@
"OrderString",
"OsType",
"OutputDeliveryMode",
+ "PackageBuildState",
+ "PackageInputDeliveryMode",
+ "PackageInputType",
"PrivateEndpointConnectionProvisioningState",
"PrivateEndpointServiceConnectionStatus",
+ "Protocol",
"ProvisioningState",
"ProvisioningStatus",
"PublicNetworkAccess",
@@ -943,16 +1238,20 @@
"SkuScaleType",
"SkuTier",
"SourceType",
+ "SparkJobEntryType",
"SshPublicAccess",
"SslConfigStatus",
"StackMetaLearnerType",
"Status",
+ "StatusMessageLevel",
"StochasticOptimizer",
"StorageAccountType",
"TargetAggregationFunction",
"TargetLagsMode",
"TargetRollingWindowSizeMode",
"TaskType",
+ "TextAnnotationType",
+ "TrainingMode",
"TriggerType",
"UnderlyingResourceAction",
"UnitOfMeasure",
@@ -963,6 +1262,7 @@
"ValidationMetricType",
"ValueFormat",
"VmPriority",
+ "VolumeDefinitionType",
"WeekDay",
]
__all__.extend([p for p in _patch_all if p not in __all__])
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py
index 640b9b12a650..865a62fa5d15 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_machine_learning_services_mgmt_client_enums.py
@@ -32,6 +32,17 @@ class ApplicationSharingPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
SHARED = "Shared"
+class AssetProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Provisioning state of registry asset."""
+
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ CREATING = "Creating"
+ UPDATING = "Updating"
+ DELETING = "Deleting"
+
+
class AutoRebuildSetting(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""AutoRebuild setting for the derived image."""
@@ -47,6 +58,19 @@ class Autosave(str, Enum, metaclass=CaseInsensitiveEnumMeta):
REMOTE = "Remote"
+class BaseEnvironmentSourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Base environment type."""
+
+ ENVIRONMENT_ASSET = "EnvironmentAsset"
+
+
+class BatchDeploymentConfigurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The enumerated property types for batch deployments."""
+
+ MODEL = "Model"
+ PIPELINE_COMPONENT = "PipelineComponent"
+
+
class BatchLoggingLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Log verbosity for batch inferencing.
Increasing verbosity order for logging is : Warning, Info and Debug.
@@ -74,30 +98,30 @@ class BillingCurrency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
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.
+ """Target encoding for text data."""
ONE_HOT_ENCODER = "OneHotEncoder"
- #: Target encoding for categorical data.
+ """Ohe hot encoding creates a binary feature transformation."""
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.
+ """Target encoding for categorical data."""
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.
+ """Tf-Idf stands for, term-frequency times inverse document-frequency. This is a common term
+ #: weighting scheme for identifying information from documents."""
WO_E_TARGET_ENCODER = "WoETargetEncoder"
- #: Label encoder converts labels/categorical variables in a numerical form.
+ """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."""
LABEL_ENCODER = "LabelEncoder"
- #: Word embedding helps represents words or phrases as a vector, or a series of numbers.
+ """Label encoder converts labels/categorical variables in a numerical form."""
WORD_EMBEDDING = "WordEmbedding"
- #: Naive Bayes is a classified that is used for classification of discrete features that are
- #: categorically distributed.
+ """Word embedding helps represents words or phrases as a vector, or a series of numbers."""
NAIVE_BAYES = "NaiveBayes"
- #: Count Vectorizer converts a collection of text documents to a matrix of token counts.
+ """Naive Bayes is a classified that is used for classification of discrete features that are
+ #: categorically distributed."""
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.
+ """Count Vectorizer converts a collection of text documents to a matrix of token counts."""
HASH_ONE_HOT_ENCODER = "HashOneHotEncoder"
+ """Hashing One Hot Encoder can turn categorical variables into a limited number of new features.
+ #: This is often used for high-cardinality categorical features."""
class Caching(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -111,107 +135,107 @@ class Caching(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class ClassificationModels(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Enum for all classification models supported by AutoML."""
- #: Logistic regression is a fundamental classification technique.
+ LOGISTIC_REGRESSION = "LogisticRegression"
+ """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
+ #: multiclass problems."""
+ SGD = "SGD"
+ """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
+ #: outputs."""
+ MULTINOMIAL_NAIVE_BAYES = "MultinomialNaiveBayes"
+ """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.
+ #: fractional counts such as tf-idf may also work."""
BERNOULLI_NAIVE_BAYES = "BernoulliNaiveBayes"
- #: A support vector machine (SVM) is a supervised machine learning model that uses classification
+ """Naive Bayes classifier for multivariate Bernoulli models."""
+ 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.
- SVM = "SVM"
- #: A support vector machine (SVM) is a supervised machine learning model that uses classification
+ #: categorize new text."""
+ LINEAR_SVM = "LinearSVM"
+ """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
+ #: drawing the straight line between classified values on a plotted graph."""
+ KNN = "KNN"
+ """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
+ #: matches the points in the training set."""
+ DECISION_TREE = "DecisionTree"
+ """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”\
+ #: decision rules inferred from the data features."""
+ RANDOM_FOREST = "RandomForest"
+ """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.
+ #: overall result."""
EXTREME_RANDOM_TREES = "ExtremeRandomTrees"
- #: LightGBM is a gradient boosting framework that uses tree based learning algorithms.
+ """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."""
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.
+ """LightGBM is a gradient boosting framework that uses tree based learning algorithms."""
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.
+ """The technique of transiting week learners into a strong learner is called Boosting. The
+ #: gradient boosting algorithm process works on this theory of execution."""
XG_BOOST_CLASSIFIER = "XGBoostClassifier"
+ """XGBoost: Extreme Gradient Boosting Algorithm. This algorithm is used for structured data where
+ #: target column values can be divided into distinct class values."""
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.
+ """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."""
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.
+ """Accuracy is the ratio of predictions that exactly match the true class labels."""
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.
+ """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."""
AVERAGE_PRECISION_SCORE_WEIGHTED = "AveragePrecisionScoreWeighted"
- #: The arithmetic mean of precision for each class, weighted by number of true instances in each
- #: class.
+ """The arithmetic mean of the average precision score for each class, weighted by
+ #: the number of true instances in each class."""
PRECISION_SCORE_WEIGHTED = "PrecisionScoreWeighted"
- #: Intersection Over Union. Intersection of predictions divided by union of predictions.
+ """The arithmetic mean of precision for each class, weighted by number of true instances in each
+ #: class."""
IOU = "IOU"
+ """Intersection Over Union. Intersection of predictions divided by union of predictions."""
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.
+ """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."""
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.
+ """Accuracy is the ratio of predictions that exactly match the true class labels."""
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.
+ """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."""
AVERAGE_PRECISION_SCORE_WEIGHTED = "AveragePrecisionScoreWeighted"
- #: The arithmetic mean of precision for each class, weighted by number of true instances in each
- #: class.
+ """The arithmetic mean of the average precision score for each class, weighted by
+ #: the number of true instances in each class."""
PRECISION_SCORE_WEIGHTED = "PrecisionScoreWeighted"
+ """The arithmetic mean of precision for each class, weighted by number of true instances in each
+ #: class."""
class ClusterPurpose(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -249,7 +273,7 @@ class ComputeInstanceState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class ComputePowerAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """The compute power action."""
+ """[Required] The compute power action."""
START = "Start"
STOP = "Stop"
@@ -278,6 +302,8 @@ class ConnectionAuthType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
USERNAME_PASSWORD = "UsernamePassword"
NONE = "None"
SAS = "SAS"
+ SERVICE_PRINCIPAL = "ServicePrincipal"
+ ACCESS_KEY = "AccessKey"
class ConnectionCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -286,13 +312,26 @@ class ConnectionCategory(str, Enum, metaclass=CaseInsensitiveEnumMeta):
PYTHON_FEED = "PythonFeed"
CONTAINER_REGISTRY = "ContainerRegistry"
GIT = "Git"
+ FEATURE_STORE = "FeatureStore"
+ S3 = "S3"
+ SNOWFLAKE = "Snowflake"
+ AZURE_SQL_DB = "AzureSqlDb"
+ AZURE_SYNAPSE_ANALYTICS = "AzureSynapseAnalytics"
+ AZURE_MY_SQL_DB = "AzureMySqlDb"
+ AZURE_POSTGRES_DB = "AzurePostgresDb"
+ AZURE_DATA_LAKE_GEN2 = "AzureDataLakeGen2"
+ REDIS = "Redis"
class ContainerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
- """ContainerType."""
+ """The type of container to retrieve logs from."""
STORAGE_INITIALIZER = "StorageInitializer"
+ """The container used to download models and score script."""
INFERENCE_SERVER = "InferenceServer"
+ """The container used to serve user's request."""
+ MODEL_DATA_COLLECTOR = "ModelDataCollector"
+ """The container used to collect payload and custom logging when mdc is enabled."""
class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -312,6 +351,8 @@ class CredentialsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
NONE = "None"
SAS = "Sas"
SERVICE_PRINCIPAL = "ServicePrincipal"
+ KERBEROS_KEYTAB = "KerberosKeytab"
+ KERBEROS_PASSWORD = "KerberosPassword"
class DatastoreType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -321,6 +362,7 @@ class DatastoreType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
AZURE_DATA_LAKE_GEN1 = "AzureDataLakeGen1"
AZURE_DATA_LAKE_GEN2 = "AzureDataLakeGen2"
AZURE_FILE = "AzureFile"
+ HDFS = "Hdfs"
class DataType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -376,6 +418,14 @@ class EgressPublicNetworkAccessType(str, Enum, metaclass=CaseInsensitiveEnumMeta
DISABLED = "Disabled"
+class EmailNotificationEnableType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the email notification type."""
+
+ JOB_COMPLETED = "JobCompleted"
+ JOB_FAILED = "JobFailed"
+ JOB_CANCELLED = "JobCancelled"
+
+
class EncryptionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Indicates whether or not the encryption is enabled for the workspace."""
@@ -417,128 +467,162 @@ class EnvironmentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
USER_CREATED = "UserCreated"
+class EnvironmentVariableType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of the Environment Variable. Possible values are: local - For local variable."""
+
+ LOCAL = "local"
+
+
+class ExportFormatType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The format of exported labels."""
+
+ DATASET = "Dataset"
+ COCO = "Coco"
+ CSV = "CSV"
+
+
+class FeatureDataType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """FeatureDataType."""
+
+ STRING = "String"
+ INTEGER = "Integer"
+ LONG = "Long"
+ FLOAT = "Float"
+ DOUBLE = "Double"
+ BINARY = "Binary"
+ DATETIME = "Datetime"
+ BOOLEAN = "Boolean"
+
+
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.
+ """No feature lags generated."""
AUTO = "Auto"
+ """System auto-generates feature lags."""
+
+
+class FeaturestoreJobType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """FeaturestoreJobType."""
+
+ RECURRENT_MATERIALIZATION = "RecurrentMaterialization"
+ BACKFILL_MATERIALIZATION = "BackfillMaterialization"
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.
+ """Auto mode, system performs featurization without any custom featurization inputs."""
CUSTOM = "Custom"
- #: Featurization off. 'Forecasting' task cannot use this value.
+ """Custom featurization."""
OFF = "Off"
+ """Featurization off. 'Forecasting' task cannot use this value."""
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.
+ """Forecast horizon to be determined automatically."""
CUSTOM = "Custom"
+ """Use the custom forecast horizon."""
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
+ AUTO_ARIMA = "AutoArima"
+ """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
+ #: regression to make predictions."""
+ PROPHET = "Prophet"
+ """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.
+ #: handles outliers well."""
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.
+ """The Naive forecasting model makes predictions by carrying forward the latest target value 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.
+ """The Seasonal Naive forecasting model makes predictions by carrying forward the latest season of
+ #: 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.
+ """The Average forecasting model makes predictions by carrying forward the average of the target
+ #: values 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.
+ """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."""
EXPONENTIAL_SMOOTHING = "ExponentialSmoothing"
- #: An Autoregressive Integrated Moving Average with Explanatory Variable (ARIMAX) model can be
+ """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."""
+ ARIMAX = "Arimax"
+ """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.
+ #: multivariate with any type of data pattern, i.e., level/trend /seasonality/cyclicity."""
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.
+ """TCNForecaster: Temporal Convolutional Networks Forecaster. //TODO: Ask forecasting team for
+ #: brief intro."""
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.
+ """Elastic net is a popular type of regularized linear regression that combines two popular
+ #: penalties, specifically the L1 and L2 penalty functions."""
GRADIENT_BOOSTING = "GradientBoosting"
- #: Decision Trees are a non-parametric supervised learning method used for both classification and
+ """The technique of transiting week learners into a strong learner is called Boosting. The
+ #: gradient boosting algorithm process works on this theory of execution."""
+ DECISION_TREE = "DecisionTree"
+ """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
+ #: decision rules inferred from the data features."""
+ KNN = "KNN"
+ """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.
+ #: matches the points in the training set."""
LASSO_LARS = "LassoLars"
- #: SGD: Stochastic gradient descent is an optimization algorithm often used in machine learning
+ """Lasso model fit with Least Angle Regression a.k.a. Lars. It is a Linear Model trained with an
+ #: L1 prior as regularizer."""
+ SGD = "SGD"
+ """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”
+ #: It's an inexact but powerful technique."""
+ RANDOM_FOREST = "RandomForest"
+ """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.
+ #: overall result."""
EXTREME_RANDOM_TREES = "ExtremeRandomTrees"
- #: LightGBM is a gradient boosting framework that uses tree based learning algorithms.
+ """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."""
LIGHT_GBM = "LightGBM"
- #: XGBoostRegressor: Extreme Gradient Boosting Regressor is a supervised machine learning model
- #: using ensemble of base learners.
+ """LightGBM is a gradient boosting framework that uses tree based learning algorithms."""
XG_BOOST_REGRESSOR = "XGBoostRegressor"
+ """XGBoostRegressor: Extreme Gradient Boosting Regressor is a supervised machine learning model
+ #: using ensemble of base learners."""
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.
+ """The Spearman's rank coefficient of correlation is a non-parametric measure of rank correlation."""
NORMALIZED_ROOT_MEAN_SQUARED_ERROR = "NormalizedRootMeanSquaredError"
- #: The R2 score is one of the performance evaluation measures for forecasting-based machine
- #: learning models.
+ """The Normalized Root Mean Squared Error (NRMSE) the RMSE facilitates the comparison between
+ #: models with different scales."""
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.
+ """The R2 score is one of the performance evaluation measures for forecasting-based machine
+ #: learning models."""
NORMALIZED_MEAN_ABSOLUTE_ERROR = "NormalizedMeanAbsoluteError"
+ """The Normalized Mean Absolute Error (NMAE) is a validation metric to compare the Mean Absolute
+ #: Error (MAE) of (time) series with different scales."""
class Goal(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -556,6 +640,39 @@ class IdentityConfigurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
USER_IDENTITY = "UserIdentity"
+class ImageAnnotationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Annotation type of image data."""
+
+ CLASSIFICATION = "Classification"
+ BOUNDING_BOX = "BoundingBox"
+ INSTANCE_SEGMENTATION = "InstanceSegmentation"
+
+
+class ImageType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of the image. Possible values are: docker - For docker images. azureml - For AzureML
+ images.
+ """
+
+ DOCKER = "docker"
+ AZUREML = "azureml"
+
+
+class IncrementalDataRefresh(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Whether IncrementalDataRefresh is enabled."""
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+
+class InferencingServerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Inferencing server type for various targets."""
+
+ AZURE_ML_ONLINE = "AzureMLOnline"
+ AZURE_ML_BATCH = "AzureMLBatch"
+ TRITON = "Triton"
+ CUSTOM = "Custom"
+
+
class InputDeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Enum to determine the input data delivery mode."""
@@ -567,12 +684,20 @@ class InputDeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
EVAL_DOWNLOAD = "EvalDownload"
+class InputPathType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Input path type for package inputs."""
+
+ URL = "Url"
+ PATH_ID = "PathId"
+ PATH_VERSION = "PathVersion"
+
+
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"
+ """Mean Average Precision (MAP) is the average of AP (Average Precision).
+ #: AP is calculated for each class and averaged to get the MAP."""
class JobInputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -605,42 +730,62 @@ class JobOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
TRITON_MODEL = "triton_model"
+class JobProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the job provisioning state."""
+
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+ CANCELED = "Canceled"
+ IN_PROGRESS = "InProgress"
+
+
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.
+ """Run hasn't started yet."""
STARTING = "Starting"
- #: (Not used currently) It will be used if ES is creating the compute target.
+ """Run has started. The user has a run ID."""
PROVISIONING = "Provisioning"
- #: The run environment is being prepared.
+ """(Not used currently) It will be used if ES is creating the compute target."""
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.
+ """The run environment is being prepared."""
QUEUED = "Queued"
- #: The job started to run in the compute target.
+ """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."""
RUNNING = "Running"
- #: Job is completed in the target. It is in output collection state now.
+ """The job started to run in the compute target."""
FINALIZING = "Finalizing"
- #: Cancellation has been requested for the job.
+ """Job is completed in the target. It is in output collection state now."""
CANCEL_REQUESTED = "CancelRequested"
- #: Job completed successfully. This reflects that both the job itself and output collection states
- #: completed successfully
+ """Cancellation has been requested for the job."""
COMPLETED = "Completed"
- #: Job failed.
+ """Job completed successfully. This reflects that both the job itself and output collection states
+ #: completed successfully"""
FAILED = "Failed"
- #: Following cancellation request, the job is now successfully canceled.
+ """Job failed."""
CANCELED = "Canceled"
- #: When heartbeat is enabled, if the run isn't updating any information to RunHistory then the run
+ """Following cancellation request, the job is now successfully canceled."""
+ NOT_RESPONDING = "NotResponding"
+ """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.
+ #: NotResponding to any of the previous states."""
PAUSED = "Paused"
- #: Default job status if not mapped to all other statuses
+ """The job is paused by users. Some adjustment to labeling jobs can be made only in paused state."""
UNKNOWN = "Unknown"
+ """Default job status if not mapped to all other statuses"""
+ SCHEDULED = "Scheduled"
+ """The job is in a scheduled state. Job is not in any active state."""
+
+
+class JobTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the job tier."""
+
+ SPOT = "Spot"
+ BASIC = "Basic"
+ STANDARD = "Standard"
+ PREMIUM = "Premium"
class JobType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -648,8 +793,10 @@ class JobType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
AUTO_ML = "AutoML"
COMMAND = "Command"
+ LABELING = "Labeling"
SWEEP = "Sweep"
PIPELINE = "Pipeline"
+ SPARK = "Spark"
class KeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -662,12 +809,12 @@ class KeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class LearningRateScheduler(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Learning rate scheduler enum."""
- #: No learning rate scheduler selected.
NONE = "None"
- #: Cosine Annealing With Warmup.
+ """No learning rate scheduler selected."""
WARMUP_COSINE = "WarmupCosine"
- #: Step learning rate scheduler.
+ """Cosine Annealing With Warmup."""
STEP = "Step"
+ """Step learning rate scheduler."""
class ListViewType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -688,18 +835,18 @@ class LoadBalancerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class LogVerbosity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Enum for setting log verbosity."""
- #: No logs emitted.
NOT_SET = "NotSet"
- #: Debug and above log statements logged.
+ """No logs emitted."""
DEBUG = "Debug"
- #: Info and above log statements logged.
+ """Debug and above log statements logged."""
INFO = "Info"
- #: Warning and above log statements logged.
+ """Info and above log statements logged."""
WARNING = "Warning"
- #: Error and above log statements logged.
+ """Warning and above log statements logged."""
ERROR = "Error"
- #: Only critical statements logged.
+ """Error and above log statements logged."""
CRITICAL = "Critical"
+ """Only critical statements logged."""
class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -713,19 +860,56 @@ class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
+class MaterializationStoreType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """MaterializationStoreType."""
+
+ NONE = "None"
+ ONLINE = "Online"
+ OFFLINE = "Offline"
+ ONLINE_AND_OFFLINE = "OnlineAndOffline"
+
+
+class MediaType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Media type of data asset."""
+
+ IMAGE = "Image"
+ TEXT = "Text"
+
+
+class MLAssistConfigurationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """MLAssistConfigurationType."""
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+
+class MlflowAutologger(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Indicates whether mlflow autologger is enabled for notebooks."""
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+
+class MLFlowAutologgerState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum to determine the state of mlflow autologger."""
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+
class ModelSize(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Image model size."""
- #: No value selected.
NONE = "None"
- #: Small size.
+ """No value selected."""
SMALL = "Small"
- #: Medium size.
+ """Small size."""
MEDIUM = "Medium"
- #: Large size.
+ """Medium size."""
LARGE = "Large"
- #: Extra large size.
+ """Large size."""
EXTRA_LARGE = "ExtraLarge"
+ """Extra large size."""
class MountAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -746,14 +930,21 @@ class MountState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
UNMOUNTED = "Unmounted"
+class MultiSelect(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Whether multiSelect is enabled."""
+
+ ENABLED = "Enabled"
+ DISABLED = "Disabled"
+
+
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.
+ """Determine N-Cross validations value automatically. Supported only for 'Forecasting' AutoML
+ #: task."""
CUSTOM = "Custom"
+ """Use custom N-Cross validations value."""
class Network(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -763,6 +954,25 @@ class Network(str, Enum, metaclass=CaseInsensitiveEnumMeta):
HOST = "Host"
+class NlpLearningRateScheduler(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Enum of learning rate schedulers that aligns with those supported by HF."""
+
+ NONE = "None"
+ """No learning rate schedule."""
+ LINEAR = "Linear"
+ """Linear warmup and decay."""
+ COSINE = "Cosine"
+ """Linear warmup then cosine decay."""
+ COSINE_WITH_RESTARTS = "CosineWithRestarts"
+ """Linear warmup, cosine decay, then restart to initial LR."""
+ POLYNOMIAL = "Polynomial"
+ """Increase linearly then polynomially decay."""
+ CONSTANT = "Constant"
+ """Constant learning rate."""
+ CONSTANT_WITH_WARMUP = "ConstantWithWarmup"
+ """Linear warmup followed by constant value."""
+
+
class NodeState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""State of the compute node. Values are idle, running, preparing, unusable, leaving and
preempted.
@@ -776,12 +986,19 @@ class NodeState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
PREEMPTED = "preempted"
+class NodesValueType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """The enumerated types for the nodes value."""
+
+ ALL = "All"
+ CUSTOM = "Custom"
+
+
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"
+ """Mean Average Precision (MAP) is the average of AP (Average Precision).
+ #: AP is calculated for each class and averaged to get the MAP."""
class OperatingSystemType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -844,6 +1061,30 @@ class OutputDeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
READ_WRITE_MOUNT = "ReadWriteMount"
UPLOAD = "Upload"
+ DIRECT = "Direct"
+
+
+class PackageBuildState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Package build state returned in package response."""
+
+ NOT_STARTED = "NotStarted"
+ RUNNING = "Running"
+ SUCCEEDED = "Succeeded"
+ FAILED = "Failed"
+
+
+class PackageInputDeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Mounting type of the model or the inputs."""
+
+ READ_ONLY_MOUNT = "ReadOnlyMount"
+ DOWNLOAD = "Download"
+
+
+class PackageInputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of the inputs."""
+
+ URI_FILE = "UriFile"
+ URI_FOLDER = "UriFolder"
class PrivateEndpointConnectionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -865,6 +1106,14 @@ class PrivateEndpointServiceConnectionStatus(str, Enum, metaclass=CaseInsensitiv
TIMEOUT = "Timeout"
+class Protocol(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Protocol over which communication will happen over this endpoint."""
+
+ TCP = "tcp"
+ UDP = "udp"
+ HTTP = "http"
+
+
class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The current deployment state of workspace resource. The provisioningState is to indicate states
for resource provisioning.
@@ -877,6 +1126,7 @@ class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
SUCCEEDED = "Succeeded"
FAILED = "Failed"
CANCELED = "Canceled"
+ SOFT_DELETED = "SoftDeleted"
class ProvisioningStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -917,16 +1167,16 @@ class RandomSamplingAlgorithmRule(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class RecurrenceFrequency(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Enum to describe the frequency of a recurrence schedule."""
- #: Minute frequency
MINUTE = "Minute"
- #: Hour frequency
+ """Minute frequency"""
HOUR = "Hour"
- #: Day frequency
+ """Hour frequency"""
DAY = "Day"
- #: Week frequency
+ """Day frequency"""
WEEK = "Week"
- #: Month frequency
+ """Week frequency"""
MONTH = "Month"
+ """Month frequency"""
class ReferenceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -940,61 +1190,61 @@ class ReferenceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
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.
+ """Elastic net is a popular type of regularized linear regression that combines two popular
+ #: penalties, specifically the L1 and L2 penalty functions."""
GRADIENT_BOOSTING = "GradientBoosting"
- #: Decision Trees are a non-parametric supervised learning method used for both classification and
+ """The technique of transiting week learners into a strong learner is called Boosting. The
+ #: gradient boosting algorithm process works on this theory of execution."""
+ DECISION_TREE = "DecisionTree"
+ """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
+ #: decision rules inferred from the data features."""
+ KNN = "KNN"
+ """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.
+ #: matches the points in the training set."""
LASSO_LARS = "LassoLars"
- #: SGD: Stochastic gradient descent is an optimization algorithm often used in machine learning
+ """Lasso model fit with Least Angle Regression a.k.a. Lars. It is a Linear Model trained with an
+ #: L1 prior as regularizer."""
+ SGD = "SGD"
+ """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”\
+ #: It's an inexact but powerful technique."""
+ RANDOM_FOREST = "RandomForest"
+ """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.
+ #: overall result."""
EXTREME_RANDOM_TREES = "ExtremeRandomTrees"
- #: LightGBM is a gradient boosting framework that uses tree based learning algorithms.
+ """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."""
LIGHT_GBM = "LightGBM"
- #: XGBoostRegressor: Extreme Gradient Boosting Regressor is a supervised machine learning model
- #: using ensemble of base learners.
+ """LightGBM is a gradient boosting framework that uses tree based learning algorithms."""
XG_BOOST_REGRESSOR = "XGBoostRegressor"
+ """XGBoostRegressor: Extreme Gradient Boosting Regressor is a supervised machine learning model
+ #: using ensemble of base learners."""
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.
+ """The Spearman's rank coefficient of correlation is a nonparametric measure of rank correlation."""
NORMALIZED_ROOT_MEAN_SQUARED_ERROR = "NormalizedRootMeanSquaredError"
- #: The R2 score is one of the performance evaluation measures for forecasting-based machine
- #: learning models.
+ """The Normalized Root Mean Squared Error (NRMSE) the RMSE facilitates the comparison between
+ #: models with different scales."""
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.
+ """The R2 score is one of the performance evaluation measures for forecasting-based machine
+ #: learning models."""
NORMALIZED_MEAN_ABSOLUTE_ERROR = "NormalizedMeanAbsoluteError"
+ """The Normalized Mean Absolute Error (NMAE) is a validation metric to compare the Mean Absolute
+ #: Error (MAE) of (time) series with different scales."""
class RemoteLoginPortPublicAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1070,10 +1320,10 @@ class ScheduleStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class SeasonalityMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Forecasting seasonality mode."""
- #: Seasonality to be determined automatically.
AUTO = "Auto"
- #: Use the custom seasonality value.
+ """Seasonality to be determined automatically."""
CUSTOM = "Custom"
+ """Use the custom seasonality value."""
class SecretsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1083,42 +1333,44 @@ class SecretsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
CERTIFICATE = "Certificate"
SAS = "Sas"
SERVICE_PRINCIPAL = "ServicePrincipal"
+ KERBEROS_PASSWORD = "KerberosPassword"
+ KERBEROS_KEYTAB = "KerberosKeytab"
class ServiceDataAccessAuthIdentity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""ServiceDataAccessAuthIdentity."""
- #: 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.
+ """Do not use any identity for service data access."""
WORKSPACE_SYSTEM_ASSIGNED_IDENTITY = "WorkspaceSystemAssignedIdentity"
- #: Use the user assigned managed identity of the Workspace to authenticate service data access.
+ """Use the system assigned managed identity of the Workspace to authenticate service data access."""
WORKSPACE_USER_ASSIGNED_IDENTITY = "WorkspaceUserAssignedIdentity"
+ """Use the user assigned managed identity of the Workspace to authenticate service data access."""
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.
+ """Represents no/null value."""
AUTO = "Auto"
- #: All the short series will be padded.
+ """Short series will be padded if there are no long series, otherwise short series will be
+ #: dropped."""
PAD = "Pad"
- #: All the short series will be dropped.
+ """All the short series will be padded."""
DROP = "Drop"
+ """All the short series will be dropped."""
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.
+ """Automatically scales node count."""
MANUAL = "Manual"
- #: Fixed set of nodes.
+ """Node count scaled upon user request."""
NONE = "None"
+ """Fixed set of nodes."""
class SkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1140,6 +1392,13 @@ class SourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
URI = "URI"
+class SparkJobEntryType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """SparkJobEntryType."""
+
+ SPARK_JOB_PYTHON_ENTRY = "SparkJobPythonEntry"
+ SPARK_JOB_SCALA_ENTRY = "SparkJobScalaEntry"
+
+
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
@@ -1168,15 +1427,15 @@ class StackMetaLearnerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""
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.
+ """Default meta-learners are LogisticRegression for classification tasks."""
LOGISTIC_REGRESSION_CV = "LogisticRegressionCV"
+ """Default meta-learners are LogisticRegression for classification task when CV is on."""
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.
+ """Default meta-learners are LogisticRegression for regression task."""
ELASTIC_NET_CV = "ElasticNetCV"
+ """Default meta-learners are LogisticRegression for regression task when CV is on."""
LIGHT_GBM_REGRESSOR = "LightGBMRegressor"
LINEAR_REGRESSION = "LinearRegression"
@@ -1194,18 +1453,26 @@ class Status(str, Enum, metaclass=CaseInsensitiveEnumMeta):
OPERATION_NOT_ENABLED_FOR_REGION = "OperationNotEnabledForRegion"
+class StatusMessageLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """StatusMessageLevel."""
+
+ ERROR = "Error"
+ INFORMATION = "Information"
+ WARNING = "Warning"
+
+
class StochasticOptimizer(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Stochastic optimizer for image models."""
- #: No optimizer selected.
NONE = "None"
- #: Stochastic Gradient Descent optimizer.
+ """No optimizer selected."""
SGD = "Sgd"
- #: Adam is algorithm the optimizes stochastic objective functions based on adaptive estimates of
- #: moments
+ """Stochastic Gradient Descent optimizer."""
ADAM = "Adam"
- #: AdamW is a variant of the optimizer Adam that has an improved implementation of weight decay.
+ """Adam is algorithm the optimizes stochastic objective functions based on adaptive estimates of
+ #: moments"""
ADAMW = "Adamw"
+ """AdamW is a variant of the optimizer Adam that has an improved implementation of weight decay."""
class StorageAccountType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1218,8 +1485,8 @@ class StorageAccountType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class TargetAggregationFunction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Target aggregate function."""
- #: Represent no value set.
NONE = "None"
+ """Represent no value set."""
SUM = "Sum"
MAX = "Max"
MIN = "Min"
@@ -1229,62 +1496,80 @@ class TargetAggregationFunction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class TargetLagsMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Target lags selection modes."""
- #: Target lags to be determined automatically.
AUTO = "Auto"
- #: Use the custom target lags.
+ """Target lags to be determined automatically."""
CUSTOM = "Custom"
+ """Use the custom target lags."""
class TargetRollingWindowSizeMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Target rolling windows size mode."""
- #: Determine rolling windows size automatically.
AUTO = "Auto"
- #: Use the specified rolling window size.
+ """Determine rolling windows size automatically."""
CUSTOM = "Custom"
+ """Use the specified rolling window size."""
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.
+ """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."""
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.
+ """Regression means to predict the value using the input data. Regression models are used to
+ #: predict a continuous value."""
FORECASTING = "Forecasting"
- #: Image Classification. Multi-class image classification is used when an image is classified with
+ """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."""
+ IMAGE_CLASSIFICATION = "ImageClassification"
+ """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'.
+ #: or a 'duck'."""
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 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_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 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_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.
+ """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."""
TEXT_CLASSIFICATION = "TextClassification"
- #: Multilabel classification task assigns each sample to a group (zero or more) of target labels.
+ """Text classification (also known as text tagging or text categorization) is the process of
+ #: sorting texts into categories.
+ #: Categories are mutually exclusive."""
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.
+ """Multilabel classification task assigns each sample to a group (zero or more) of target labels."""
TEXT_NER = "TextNER"
+ """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."""
+
+
+class TextAnnotationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Annotation type of text data."""
+
+ CLASSIFICATION = "Classification"
+ NAMED_ENTITY_RECOGNITION = "NamedEntityRecognition"
+
+
+class TrainingMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Training mode dictates whether to use distributed training or not."""
+
+ AUTO = "Auto"
+ """Auto mode"""
+ DISTRIBUTED = "Distributed"
+ """Distributed training mode"""
+ NON_DISTRIBUTED = "NonDistributed"
+ """Non distributed training mode"""
class TriggerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1316,8 +1601,8 @@ class UsageUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class UseStl(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Configure STL Decomposition of the time-series target column."""
- #: No stl decomposition.
NONE = "None"
+ """No stl decomposition."""
SEASON = "Season"
SEASON_TREND = "SeasonTrend"
@@ -1325,14 +1610,14 @@ class UseStl(str, Enum, metaclass=CaseInsensitiveEnumMeta):
class ValidationMetricType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Metric computation method to use for validation metrics in image tasks."""
- #: No metric.
NONE = "None"
- #: Coco metric.
+ """No metric."""
COCO = "Coco"
- #: Voc metric.
+ """Coco metric."""
VOC = "Voc"
- #: CocoVoc metric.
+ """Voc metric."""
COCO_VOC = "CocoVoc"
+ """CocoVoc metric."""
class ValueFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta):
@@ -1363,20 +1648,29 @@ class VMTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
SPOT = "Spot"
+class VolumeDefinitionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
+ """Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe."""
+
+ BIND = "bind"
+ VOLUME = "volume"
+ TMPFS = "tmpfs"
+ NPIPE = "npipe"
+
+
class WeekDay(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Enum of weekday."""
- #: Monday weekday
MONDAY = "Monday"
- #: Tuesday weekday
+ """Monday weekday"""
TUESDAY = "Tuesday"
- #: Wednesday weekday
+ """Tuesday weekday"""
WEDNESDAY = "Wednesday"
- #: Thursday weekday
+ """Wednesday weekday"""
THURSDAY = "Thursday"
- #: Friday weekday
+ """Thursday weekday"""
FRIDAY = "Friday"
- #: Saturday weekday
+ """Friday weekday"""
SATURDAY = "Saturday"
- #: Sunday weekday
+ """Saturday weekday"""
SUNDAY = "Sunday"
+ """Sunday weekday"""
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_models_py3.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_models_py3.py
index a0c8196e7297..ced9d9eacefc 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_models_py3.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/models/_models_py3.py
@@ -24,17 +24,166 @@
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
+class WorkspaceConnectionPropertiesV2(_serialization.Model):
+ """WorkspaceConnectionPropertiesV2.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ AccessKeyAuthTypeWorkspaceConnectionProperties,
+ ManagedIdentityAuthTypeWorkspaceConnectionProperties,
+ NoneAuthTypeWorkspaceConnectionProperties, PATAuthTypeWorkspaceConnectionProperties,
+ SASAuthTypeWorkspaceConnectionProperties,
+ ServicePrincipalAuthTypeWorkspaceConnectionProperties,
+ UsernamePasswordAuthTypeWorkspaceConnectionProperties
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Authentication type of the connection target. Required. Known values are:
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Known values are: "PythonFeed",
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
+ :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. "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": {
+ "AccessKey": "AccessKeyAuthTypeWorkspaceConnectionProperties",
+ "ManagedIdentity": "ManagedIdentityAuthTypeWorkspaceConnectionProperties",
+ "None": "NoneAuthTypeWorkspaceConnectionProperties",
+ "PAT": "PATAuthTypeWorkspaceConnectionProperties",
+ "SAS": "SASAuthTypeWorkspaceConnectionProperties",
+ "ServicePrincipal": "ServicePrincipalAuthTypeWorkspaceConnectionProperties",
+ "UsernamePassword": "UsernamePasswordAuthTypeWorkspaceConnectionProperties",
+ }
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "_models.ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword category: Category of the connection. Known values are: "PythonFeed",
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
+ :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. "JSON"
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ """
+ super().__init__(**kwargs)
+ self.auth_type: Optional[str] = None
+ self.category = category
+ self.target = target
+ self.value = value
+ self.value_format = value_format
+
+
+class AccessKeyAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """AccessKeyAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Authentication type of the connection target. Required. Known values are:
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Known values are: "PythonFeed",
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
+ :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. "JSON"
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionAccessKey
+ """
+
+ _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": "WorkspaceConnectionAccessKey"},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "_models.ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
+ credentials: Optional["_models.WorkspaceConnectionAccessKey"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword category: Category of the connection. Known values are: "PythonFeed",
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
+ :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. "JSON"
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionAccessKey
+ """
+ super().__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type: str = "AccessKey"
+ self.credentials = credentials
+
+
class DatastoreCredentials(_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
+ AccountKeyDatastoreCredentials, CertificateDatastoreCredentials, KerberosKeytabCredentials,
+ KerberosPasswordCredentials, NoneDatastoreCredentials, SasDatastoreCredentials,
+ ServicePrincipalDatastoreCredentials
All required parameters must be populated in order to send to Azure.
:ivar credentials_type: [Required] Credential type used to authentication with storage.
- Required. Known values are: "AccountKey", "Certificate", "None", "Sas", and "ServicePrincipal".
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
:vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
"""
@@ -50,13 +199,15 @@ class DatastoreCredentials(_serialization.Model):
"credentials_type": {
"AccountKey": "AccountKeyDatastoreCredentials",
"Certificate": "CertificateDatastoreCredentials",
+ "KerberosKeytab": "KerberosKeytabCredentials",
+ "KerberosPassword": "KerberosPasswordCredentials",
"None": "NoneDatastoreCredentials",
"Sas": "SasDatastoreCredentials",
"ServicePrincipal": "ServicePrincipalDatastoreCredentials",
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.credentials_type: Optional[str] = None
@@ -68,7 +219,8 @@ class AccountKeyDatastoreCredentials(DatastoreCredentials):
All required parameters must be populated in order to send to Azure.
:ivar credentials_type: [Required] Credential type used to authentication with storage.
- Required. Known values are: "AccountKey", "Certificate", "None", "Sas", and "ServicePrincipal".
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
:vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
:ivar secrets: [Required] Storage account secrets. Required.
:vartype secrets: ~azure.mgmt.machinelearningservices.models.AccountKeyDatastoreSecrets
@@ -84,7 +236,7 @@ class AccountKeyDatastoreCredentials(DatastoreCredentials):
"secrets": {"key": "secrets", "type": "AccountKeyDatastoreSecrets"},
}
- def __init__(self, *, secrets: "_models.AccountKeyDatastoreSecrets", **kwargs):
+ def __init__(self, *, secrets: "_models.AccountKeyDatastoreSecrets", **kwargs: Any) -> None:
"""
:keyword secrets: [Required] Storage account secrets. Required.
:paramtype secrets: ~azure.mgmt.machinelearningservices.models.AccountKeyDatastoreSecrets
@@ -98,13 +250,14 @@ class DatastoreSecrets(_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
+ AccountKeyDatastoreSecrets, CertificateDatastoreSecrets, KerberosKeytabSecrets,
+ KerberosPasswordSecrets, SasDatastoreSecrets, ServicePrincipalDatastoreSecrets
All required parameters must be populated in order to send to Azure.
:ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
- Known values are: "AccountKey", "Certificate", "Sas", and "ServicePrincipal".
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
:vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
"""
@@ -120,12 +273,14 @@ class DatastoreSecrets(_serialization.Model):
"secrets_type": {
"AccountKey": "AccountKeyDatastoreSecrets",
"Certificate": "CertificateDatastoreSecrets",
+ "KerberosKeytab": "KerberosKeytabSecrets",
+ "KerberosPassword": "KerberosPasswordSecrets",
"Sas": "SasDatastoreSecrets",
"ServicePrincipal": "ServicePrincipalDatastoreSecrets",
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.secrets_type: Optional[str] = None
@@ -137,7 +292,8 @@ class AccountKeyDatastoreSecrets(DatastoreSecrets):
All required parameters must be populated in order to send to Azure.
:ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
- Known values are: "AccountKey", "Certificate", "Sas", and "ServicePrincipal".
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
:vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
:ivar key: Storage account key.
:vartype key: str
@@ -152,7 +308,7 @@ class AccountKeyDatastoreSecrets(DatastoreSecrets):
"key": {"key": "key", "type": "str"},
}
- def __init__(self, *, key: Optional[str] = None, **kwargs):
+ def __init__(self, *, key: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword key: Storage account key.
:paramtype key: str
@@ -162,6 +318,42 @@ def __init__(self, *, key: Optional[str] = None, **kwargs):
self.key = key
+class AcrDetails(_serialization.Model):
+ """Details of ACR account to be used for the Registry.
+
+ :ivar system_created_acr_account:
+ :vartype system_created_acr_account:
+ ~azure.mgmt.machinelearningservices.models.SystemCreatedAcrAccount
+ :ivar user_created_acr_account:
+ :vartype user_created_acr_account:
+ ~azure.mgmt.machinelearningservices.models.UserCreatedAcrAccount
+ """
+
+ _attribute_map = {
+ "system_created_acr_account": {"key": "systemCreatedAcrAccount", "type": "SystemCreatedAcrAccount"},
+ "user_created_acr_account": {"key": "userCreatedAcrAccount", "type": "UserCreatedAcrAccount"},
+ }
+
+ def __init__(
+ self,
+ *,
+ system_created_acr_account: Optional["_models.SystemCreatedAcrAccount"] = None,
+ user_created_acr_account: Optional["_models.UserCreatedAcrAccount"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword system_created_acr_account:
+ :paramtype system_created_acr_account:
+ ~azure.mgmt.machinelearningservices.models.SystemCreatedAcrAccount
+ :keyword user_created_acr_account:
+ :paramtype user_created_acr_account:
+ ~azure.mgmt.machinelearningservices.models.UserCreatedAcrAccount
+ """
+ super().__init__(**kwargs)
+ self.system_created_acr_account = system_created_acr_account
+ self.user_created_acr_account = user_created_acr_account
+
+
class AKSSchema(_serialization.Model):
"""AKSSchema.
@@ -173,7 +365,7 @@ class AKSSchema(_serialization.Model):
"properties": {"key": "properties", "type": "AKSSchemaProperties"},
}
- def __init__(self, *, properties: Optional["_models.AKSSchemaProperties"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.AKSSchemaProperties"] = None, **kwargs: Any) -> None:
"""
:keyword properties: AKS properties.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
@@ -201,7 +393,7 @@ class Compute(_serialization.Model):
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -266,8 +458,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword compute_location: Location for the underlying compute.
:paramtype compute_location: str
@@ -309,7 +501,7 @@ class AKS(Compute, AKSSchema): # pylint: disable=too-many-instance-attributes
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -361,8 +553,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties: AKS properties.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.AKSSchemaProperties
@@ -422,8 +614,8 @@ def __init__(
user_kube_config: Optional[str] = None,
admin_kube_config: Optional[str] = None,
image_pull_secret_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword user_kube_config: Content of kubeconfig file that can be used to connect to the
Kubernetes cluster.
@@ -470,7 +662,7 @@ class ComputeSecrets(_serialization.Model):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.compute_type: Optional[str] = None
@@ -512,8 +704,8 @@ def __init__(
user_kube_config: Optional[str] = None,
admin_kube_config: Optional[str] = None,
image_pull_secret_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword user_kube_config: Content of kubeconfig file that can be used to connect to the
Kubernetes cluster.
@@ -574,8 +766,8 @@ def __init__(
service_cidr: Optional[str] = None,
dns_service_ip: Optional[str] = None,
docker_bridge_cidr: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword subnet_id: Virtual network subnet resource ID the compute nodes belong to.
:paramtype subnet_id: str
@@ -652,8 +844,8 @@ def __init__(
aks_networking_configuration: Optional["_models.AksNetworkingConfiguration"] = None,
load_balancer_type: Union[str, "_models.LoadBalancerType"] = "PublicIp",
load_balancer_subnet: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword cluster_fqdn: Cluster full qualified domain name.
:paramtype cluster_fqdn: str
@@ -688,6 +880,59 @@ def __init__(
self.load_balancer_subnet = load_balancer_subnet
+class Nodes(_serialization.Model):
+ """Abstract Nodes definition.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ AllNodes
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar nodes_value_type: [Required] Type of the Nodes value. Required. Known values are: "All"
+ and "Custom".
+ :vartype nodes_value_type: str or ~azure.mgmt.machinelearningservices.models.NodesValueType
+ """
+
+ _validation = {
+ "nodes_value_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "nodes_value_type": {"key": "nodesValueType", "type": "str"},
+ }
+
+ _subtype_map = {"nodes_value_type": {"All": "AllNodes"}}
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.nodes_value_type: Optional[str] = None
+
+
+class AllNodes(Nodes):
+ """All nodes means the service will be running on all of the nodes of the job.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar nodes_value_type: [Required] Type of the Nodes value. Required. Known values are: "All"
+ and "Custom".
+ :vartype nodes_value_type: str or ~azure.mgmt.machinelearningservices.models.NodesValueType
+ """
+
+ _validation = {
+ "nodes_value_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "nodes_value_type": {"key": "nodesValueType", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.nodes_value_type: str = "All"
+
+
class AmlComputeSchema(_serialization.Model):
"""Properties(top level) of AmlCompute.
@@ -699,7 +944,7 @@ class AmlComputeSchema(_serialization.Model):
"properties": {"key": "properties", "type": "AmlComputeProperties"},
}
- def __init__(self, *, properties: Optional["_models.AmlComputeProperties"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.AmlComputeProperties"] = None, **kwargs: Any) -> None:
"""
:keyword properties: Properties of AmlCompute.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
@@ -725,7 +970,7 @@ class AmlCompute(Compute, AmlComputeSchema): # pylint: disable=too-many-instanc
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -777,8 +1022,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties: Properties of AmlCompute.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.AmlComputeProperties
@@ -852,7 +1097,7 @@ class AmlComputeNodeInformation(_serialization.Model):
"run_id": {"key": "runId", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.node_id = None
@@ -884,7 +1129,7 @@ class AmlComputeNodesInformation(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.nodes = None
@@ -996,8 +1241,8 @@ def __init__(
remote_login_port_public_access: Union[str, "_models.RemoteLoginPortPublicAccess"] = "NotSpecified",
enable_node_public_ip: bool = True,
property_bag: Optional[JSON] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword os_type: Compute OS Type. Known values are: "Linux" and "Windows".
:paramtype os_type: str or ~azure.mgmt.machinelearningservices.models.OsType
@@ -1057,7 +1302,7 @@ def __init__(
class AmlOperation(_serialization.Model):
- """Azure Machine Learning workspace REST API operation.
+ """Azure Machine Learning REST API operation.
:ivar name: Operation name: {provider}/{resource}/{operation}.
:vartype name: str
@@ -1079,8 +1324,8 @@ def __init__(
name: Optional[str] = None,
display: Optional["_models.AmlOperationDisplay"] = None,
is_data_action: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword name: Operation name: {provider}/{resource}/{operation}.
:paramtype name: str
@@ -1122,8 +1367,8 @@ def __init__(
resource: Optional[str] = None,
operation: Optional[str] = None,
description: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword provider: The resource provider name: Microsoft.MachineLearningExperimentation.
:paramtype provider: str
@@ -1144,7 +1389,7 @@ def __init__(
class AmlOperationListResult(_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.
+ :ivar value: List of AML operations supported by the AML resource provider.
:vartype value: list[~azure.mgmt.machinelearningservices.models.AmlOperation]
"""
@@ -1152,10 +1397,9 @@ class AmlOperationListResult(_serialization.Model):
"value": {"key": "value", "type": "[AmlOperation]"},
}
- def __init__(self, *, value: Optional[List["_models.AmlOperation"]] = None, **kwargs):
+ def __init__(self, *, value: Optional[List["_models.AmlOperation"]] = None, **kwargs: Any) -> None:
"""
- :keyword value: List of AML workspace operations supported by the AML workspace resource
- provider.
+ :keyword value: List of AML operations supported by the AML resource provider.
:paramtype value: list[~azure.mgmt.machinelearningservices.models.AmlOperation]
"""
super().__init__(**kwargs)
@@ -1188,7 +1432,7 @@ class IdentityConfiguration(_serialization.Model):
"identity_type": {"AMLToken": "AmlToken", "Managed": "ManagedIdentity", "UserIdentity": "UserIdentity"}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.identity_type: Optional[str] = None
@@ -1213,7 +1457,7 @@ class AmlToken(IdentityConfiguration):
"identity_type": {"key": "identityType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.identity_type: str = "AMLToken"
@@ -1242,8 +1486,8 @@ def __init__(
id: Optional[str] = None, # pylint: disable=redefined-builtin
display_name: Optional[str] = None,
description: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword id: Specifies the feature ID.
:paramtype id: str
@@ -1258,6 +1502,32 @@ def __init__(
self.description = description
+class ArmResourceId(_serialization.Model):
+ """ARM ResourceId of a resource.
+
+ :ivar resource_id: Arm ResourceId is in the format
+ "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}"
+ or
+ "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}".
+ :vartype resource_id: str
+ """
+
+ _attribute_map = {
+ "resource_id": {"key": "resourceId", "type": "str"},
+ }
+
+ def __init__(self, *, resource_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword resource_id: Arm ResourceId is in the format
+ "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}"
+ or
+ "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}".
+ :paramtype resource_id: str
+ """
+ super().__init__(**kwargs)
+ self.resource_id = resource_id
+
+
class ResourceBase(_serialization.Model):
"""ResourceBase.
@@ -1281,8 +1551,8 @@ def __init__(
description: Optional[str] = None,
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -1328,8 +1598,8 @@ def __init__(
tags: Optional[Dict[str, str]] = None,
is_anonymous: bool = False,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -1387,8 +1657,8 @@ def __init__(
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -1426,7 +1696,9 @@ class AssetJobInput(_serialization.Model):
"uri": {"key": "uri", "type": "str"},
}
- def __init__(self, *, uri: str, mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None, **kwargs):
+ def __init__(
+ self, *, uri: str, mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword mode: Input Asset Delivery Mode. Known values are: "ReadOnlyMount", "ReadWriteMount",
"Download", "Direct", "EvalMount", and "EvalDownload".
@@ -1442,27 +1714,47 @@ def __init__(self, *, uri: str, mode: Optional[Union[str, "_models.InputDelivery
class AssetJobOutput(_serialization.Model):
"""Asset output type.
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
"""
_attribute_map = {
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
def __init__(
- self, *, mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None, uri: Optional[str] = None, **kwargs
- ):
- """
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ self,
+ *,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
+ mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
+ uri: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
super().__init__(**kwargs)
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
@@ -1496,7 +1788,7 @@ class AssetReferenceBase(_serialization.Model):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.reference_type: Optional[str] = None
@@ -1523,7 +1815,7 @@ class AssignedUser(_serialization.Model):
"tenant_id": {"key": "tenantId", "type": "str"},
}
- def __init__(self, *, object_id: str, tenant_id: str, **kwargs):
+ def __init__(self, *, object_id: str, tenant_id: str, **kwargs: Any) -> None:
"""
:keyword object_id: User’s AAD Object Id. Required.
:paramtype object_id: str
@@ -1558,7 +1850,7 @@ class ForecastHorizon(_serialization.Model):
_subtype_map = {"mode": {"Auto": "AutoForecastHorizon", "Custom": "CustomForecastHorizon"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: Optional[str] = None
@@ -1582,17 +1874,47 @@ class AutoForecastHorizon(ForecastHorizon):
"mode": {"key": "mode", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: str = "Auto"
+class AutologgerSettings(_serialization.Model):
+ """Settings for Autologger.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar mlflow_autologger: [Required] Indicates whether mlflow autologger is enabled. Required.
+ Known values are: "Enabled" and "Disabled".
+ :vartype mlflow_autologger: str or
+ ~azure.mgmt.machinelearningservices.models.MLFlowAutologgerState
+ """
+
+ _validation = {
+ "mlflow_autologger": {"required": True},
+ }
+
+ _attribute_map = {
+ "mlflow_autologger": {"key": "mlflowAutologger", "type": "str"},
+ }
+
+ def __init__(self, *, mlflow_autologger: Union[str, "_models.MLFlowAutologgerState"], **kwargs: Any) -> None:
+ """
+ :keyword mlflow_autologger: [Required] Indicates whether mlflow autologger is enabled.
+ Required. Known values are: "Enabled" and "Disabled".
+ :paramtype mlflow_autologger: str or
+ ~azure.mgmt.machinelearningservices.models.MLFlowAutologgerState
+ """
+ super().__init__(**kwargs)
+ self.mlflow_autologger = mlflow_autologger
+
+
class JobBaseProperties(ResourceBase): # pylint: disable=too-many-instance-attributes
"""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
+ AutoMLJob, CommandJob, LabelingJobProperties, PipelineJob, SparkJob, SweepJob
Variables are only populated by the server, and will be ignored when sending a request.
@@ -1620,14 +1942,16 @@ class JobBaseProperties(ResourceBase): # pylint: disable=too-many-instance-attr
:ivar is_archived: Is the asset archived?.
:vartype is_archived: bool
:ivar job_type: [Required] Specifies the type of job. Required. Known values are: "AutoML",
- "Command", "Sweep", and "Pipeline".
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
:vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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. Known values are: "NotStarted", "Starting", "Provisioning",
"Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
- "Canceled", "NotResponding", "Paused", and "Unknown".
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
:vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
"""
@@ -1647,12 +1971,20 @@ class JobBaseProperties(ResourceBase): # pylint: disable=too-many-instance-attr
"identity": {"key": "identity", "type": "IdentityConfiguration"},
"is_archived": {"key": "isArchived", "type": "bool"},
"job_type": {"key": "jobType", "type": "str"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
"services": {"key": "services", "type": "{JobService}"},
"status": {"key": "status", "type": "str"},
}
_subtype_map = {
- "job_type": {"AutoML": "AutoMLJob", "Command": "CommandJob", "Pipeline": "PipelineJob", "Sweep": "SweepJob"}
+ "job_type": {
+ "AutoML": "AutoMLJob",
+ "Command": "CommandJob",
+ "Labeling": "LabelingJobProperties",
+ "Pipeline": "PipelineJob",
+ "Spark": "SparkJob",
+ "Sweep": "SweepJob",
+ }
}
def __init__(
@@ -1667,9 +1999,10 @@ def __init__(
experiment_name: str = "Default",
identity: Optional["_models.IdentityConfiguration"] = None,
is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
services: Optional[Dict[str, "_models.JobService"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -1692,6 +2025,8 @@ def __init__(
:paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
+ :keyword notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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]
@@ -1704,6 +2039,7 @@ def __init__(
self.identity = identity
self.is_archived = is_archived
self.job_type: Optional[str] = None
+ self.notification_setting = notification_setting
self.services = services
self.status = None
@@ -1713,54 +2049,58 @@ class AutoMLJob(JobBaseProperties): # pylint: disable=too-many-instance-attribu
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: 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] Specifies the type of job. Required. Known values are: "AutoML",
- "Command", "Sweep", and "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. Known values are: "NotStarted", "Starting", "Provisioning",
- "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
- "Canceled", "NotResponding", "Paused", and "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] This represents scenario which can be one of Tables/NLP/Image.
- Required.
- :vartype task_details: ~azure.mgmt.machinelearningservices.models.AutoMLVertical
+ 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: 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] Specifies the type of job. Required. Known values are: "AutoML",
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :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. Known values are: "NotStarted", "Starting", "Provisioning",
+ "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
+ :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 queue_settings: Queue settings for the job.
+ :vartype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
+ :ivar task_details: [Required] This represents scenario which can be one of Tables/NLP/Image.
+ Required.
+ :vartype task_details: ~azure.mgmt.machinelearningservices.models.AutoMLVertical
"""
_validation = {
@@ -1780,11 +2120,13 @@ class AutoMLJob(JobBaseProperties): # pylint: disable=too-many-instance-attribu
"identity": {"key": "identity", "type": "IdentityConfiguration"},
"is_archived": {"key": "isArchived", "type": "bool"},
"job_type": {"key": "jobType", "type": "str"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
"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}"},
+ "queue_settings": {"key": "queueSettings", "type": "QueueSettings"},
"resources": {"key": "resources", "type": "JobResourceConfiguration"},
"task_details": {"key": "taskDetails", "type": "AutoMLVertical"},
}
@@ -1802,13 +2144,15 @@ def __init__(
experiment_name: str = "Default",
identity: Optional["_models.IdentityConfiguration"] = None,
is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
services: Optional[Dict[str, "_models.JobService"]] = None,
environment_id: Optional[str] = None,
environment_variables: Optional[Dict[str, str]] = None,
outputs: Optional[Dict[str, "_models.JobOutput"]] = None,
+ queue_settings: Optional["_models.QueueSettings"] = None,
resources: Optional["_models.JobResourceConfiguration"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -1831,6 +2175,8 @@ def __init__(
:paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
+ :keyword notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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]
@@ -1842,6 +2188,8 @@ def __init__(
: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 queue_settings: Queue settings for the job.
+ :paramtype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
:keyword resources: Compute Resource configuration for the job.
:paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
:keyword task_details: [Required] This represents scenario which can be one of
@@ -1858,6 +2206,7 @@ def __init__(
experiment_name=experiment_name,
identity=identity,
is_archived=is_archived,
+ notification_setting=notification_setting,
services=services,
**kwargs
)
@@ -1865,6 +2214,7 @@ def __init__(
self.environment_id = environment_id
self.environment_variables = environment_variables
self.outputs = outputs
+ self.queue_settings = queue_settings
self.resources = resources
self.task_details = task_details
@@ -1873,26 +2223,26 @@ class AutoMLVertical(_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
+ 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.
+ All required parameters must be populated in order to send to Azure.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
"""
_validation = {
@@ -1928,8 +2278,8 @@ def __init__(
training_data: "_models.MLTableJobInput",
log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
target_column_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -1970,7 +2320,7 @@ class NCrossValidations(_serialization.Model):
_subtype_map = {"mode": {"Auto": "AutoNCrossValidations", "Custom": "CustomNCrossValidations"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: Optional[str] = None
@@ -1994,7 +2344,7 @@ class AutoNCrossValidations(NCrossValidations):
"mode": {"key": "mode", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: str = "Auto"
@@ -2014,7 +2364,9 @@ class AutoPauseProperties(_serialization.Model):
"enabled": {"key": "enabled", "type": "bool"},
}
- def __init__(self, *, delay_in_minutes: Optional[int] = None, enabled: Optional[bool] = None, **kwargs):
+ def __init__(
+ self, *, delay_in_minutes: Optional[int] = None, enabled: Optional[bool] = None, **kwargs: Any
+ ) -> None:
"""
:keyword delay_in_minutes:
:paramtype delay_in_minutes: int
@@ -2049,8 +2401,8 @@ def __init__(
min_node_count: Optional[int] = None,
enabled: Optional[bool] = None,
max_node_count: Optional[int] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword min_node_count:
:paramtype min_node_count: int
@@ -2087,7 +2439,7 @@ class Seasonality(_serialization.Model):
_subtype_map = {"mode": {"Auto": "AutoSeasonality", "Custom": "CustomSeasonality"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: Optional[str] = None
@@ -2110,7 +2462,7 @@ class AutoSeasonality(Seasonality):
"mode": {"key": "mode", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: str = "Auto"
@@ -2139,7 +2491,7 @@ class TargetLags(_serialization.Model):
_subtype_map = {"mode": {"Auto": "AutoTargetLags", "Custom": "CustomTargetLags"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: Optional[str] = None
@@ -2163,7 +2515,7 @@ class AutoTargetLags(TargetLags):
"mode": {"key": "mode", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: str = "Auto"
@@ -2192,7 +2544,7 @@ class TargetRollingWindowSize(_serialization.Model):
_subtype_map = {"mode": {"Auto": "AutoTargetRollingWindowSize", "Custom": "CustomTargetRollingWindowSize"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: Optional[str] = None
@@ -2216,7 +2568,7 @@ class AutoTargetRollingWindowSize(TargetRollingWindowSize):
"mode": {"key": "mode", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.mode: str = "Auto"
@@ -2226,7 +2578,8 @@ 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
+ AzureBlobDatastore, AzureDataLakeGen1Datastore, AzureDataLakeGen2Datastore, AzureFileDatastore,
+ HdfsDatastore
Variables are only populated by the server, and will be ignored when sending a request.
@@ -2241,7 +2594,7 @@ class DatastoreProperties(ResourceBase):
:ivar credentials: [Required] Account credentials. Required.
:vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
:ivar datastore_type: [Required] Storage type backing the datastore. Required. Known values
- are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", and "AzureFile".
+ are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", "AzureFile", and "Hdfs".
:vartype datastore_type: str or ~azure.mgmt.machinelearningservices.models.DatastoreType
:ivar is_default: Readonly property to indicate if datastore is the workspace default
datastore.
@@ -2269,6 +2622,7 @@ class DatastoreProperties(ResourceBase):
"AzureDataLakeGen1": "AzureDataLakeGen1Datastore",
"AzureDataLakeGen2": "AzureDataLakeGen2Datastore",
"AzureFile": "AzureFileDatastore",
+ "Hdfs": "HdfsDatastore",
}
}
@@ -2279,8 +2633,8 @@ def __init__(
description: Optional[str] = None,
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -2297,7 +2651,35 @@ def __init__(
self.is_default = None
-class AzureBlobDatastore(DatastoreProperties): # pylint: disable=too-many-instance-attributes
+class AzureDatastore(_serialization.Model):
+ """Base definition for Azure datastore contents configuration.
+
+ :ivar resource_group: Azure Resource Group name.
+ :vartype resource_group: str
+ :ivar subscription_id: Azure Subscription Id.
+ :vartype subscription_id: str
+ """
+
+ _attribute_map = {
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
+ }
+
+ def __init__(
+ self, *, resource_group: Optional[str] = None, subscription_id: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword resource_group: Azure Resource Group name.
+ :paramtype resource_group: str
+ :keyword subscription_id: Azure Subscription Id.
+ :paramtype subscription_id: str
+ """
+ super().__init__(**kwargs)
+ self.resource_group = resource_group
+ self.subscription_id = subscription_id
+
+
+class AzureBlobDatastore(AzureDatastore, DatastoreProperties): # pylint: disable=too-many-instance-attributes
"""Azure Blob datastore configuration.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -2313,11 +2695,15 @@ class AzureBlobDatastore(DatastoreProperties): # pylint: disable=too-many-insta
:ivar credentials: [Required] Account credentials. Required.
:vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
:ivar datastore_type: [Required] Storage type backing the datastore. Required. Known values
- are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", and "AzureFile".
+ are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", "AzureFile", and "Hdfs".
: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 resource_group: Azure Resource Group name.
+ :vartype resource_group: str
+ :ivar subscription_id: Azure Subscription Id.
+ :vartype subscription_id: str
:ivar account_name: Storage account name.
:vartype account_name: str
:ivar container_name: Storage account container name.
@@ -2346,6 +2732,8 @@ class AzureBlobDatastore(DatastoreProperties): # pylint: disable=too-many-insta
"credentials": {"key": "credentials", "type": "DatastoreCredentials"},
"datastore_type": {"key": "datastoreType", "type": "str"},
"is_default": {"key": "isDefault", "type": "bool"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
"account_name": {"key": "accountName", "type": "str"},
"container_name": {"key": "containerName", "type": "str"},
"endpoint": {"key": "endpoint", "type": "str"},
@@ -2360,13 +2748,15 @@ def __init__(
description: Optional[str] = None,
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
+ resource_group: Optional[str] = None,
+ subscription_id: Optional[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, "_models.ServiceDataAccessAuthIdentity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -2376,6 +2766,10 @@ def __init__(
:paramtype tags: dict[str, str]
:keyword credentials: [Required] Account credentials. Required.
:paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword resource_group: Azure Resource Group name.
+ :paramtype resource_group: str
+ :keyword subscription_id: Azure Subscription Id.
+ :paramtype subscription_id: str
:keyword account_name: Storage account name.
:paramtype account_name: str
:keyword container_name: Storage account container name.
@@ -2390,16 +2784,31 @@ def __init__(
:paramtype service_data_access_auth_identity: str or
~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
"""
- super().__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ super().__init__(
+ resource_group=resource_group,
+ subscription_id=subscription_id,
+ description=description,
+ properties=properties,
+ tags=tags,
+ credentials=credentials,
+ **kwargs
+ )
+ self.description = description
+ self.properties = properties
+ self.tags = tags
+ self.credentials = credentials
self.datastore_type: str = "AzureBlob"
+ self.is_default = None
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
+ self.resource_group = resource_group
+ self.subscription_id = subscription_id
-class AzureDataLakeGen1Datastore(DatastoreProperties):
+class AzureDataLakeGen1Datastore(AzureDatastore, DatastoreProperties):
"""Azure Data Lake Gen1 datastore configuration.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -2415,11 +2824,15 @@ class AzureDataLakeGen1Datastore(DatastoreProperties):
:ivar credentials: [Required] Account credentials. Required.
:vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
:ivar datastore_type: [Required] Storage type backing the datastore. Required. Known values
- are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", and "AzureFile".
+ are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", "AzureFile", and "Hdfs".
: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 resource_group: Azure Resource Group name.
+ :vartype resource_group: str
+ :ivar subscription_id: Azure Subscription Id.
+ :vartype subscription_id: str
:ivar service_data_access_auth_identity: Indicates which identity to use to authenticate
service data access to customer's storage. Known values are: "None",
"WorkspaceSystemAssignedIdentity", and "WorkspaceUserAssignedIdentity".
@@ -2443,6 +2856,8 @@ class AzureDataLakeGen1Datastore(DatastoreProperties):
"credentials": {"key": "credentials", "type": "DatastoreCredentials"},
"datastore_type": {"key": "datastoreType", "type": "str"},
"is_default": {"key": "isDefault", "type": "bool"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
"service_data_access_auth_identity": {"key": "serviceDataAccessAuthIdentity", "type": "str"},
"store_name": {"key": "storeName", "type": "str"},
}
@@ -2455,9 +2870,11 @@ def __init__(
description: Optional[str] = None,
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
+ resource_group: Optional[str] = None,
+ subscription_id: Optional[str] = None,
service_data_access_auth_identity: Optional[Union[str, "_models.ServiceDataAccessAuthIdentity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -2467,6 +2884,10 @@ def __init__(
:paramtype tags: dict[str, str]
:keyword credentials: [Required] Account credentials. Required.
:paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword resource_group: Azure Resource Group name.
+ :paramtype resource_group: str
+ :keyword subscription_id: Azure Subscription Id.
+ :paramtype subscription_id: str
:keyword service_data_access_auth_identity: Indicates which identity to use to authenticate
service data access to customer's storage. Known values are: "None",
"WorkspaceSystemAssignedIdentity", and "WorkspaceUserAssignedIdentity".
@@ -2475,13 +2896,28 @@ def __init__(
:keyword store_name: [Required] Azure Data Lake store name. Required.
:paramtype store_name: str
"""
- super().__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ super().__init__(
+ resource_group=resource_group,
+ subscription_id=subscription_id,
+ description=description,
+ properties=properties,
+ tags=tags,
+ credentials=credentials,
+ **kwargs
+ )
+ self.description = description
+ self.properties = properties
+ self.tags = tags
+ self.credentials = credentials
self.datastore_type: str = "AzureDataLakeGen1"
+ self.is_default = None
self.service_data_access_auth_identity = service_data_access_auth_identity
self.store_name = store_name
+ self.resource_group = resource_group
+ self.subscription_id = subscription_id
-class AzureDataLakeGen2Datastore(DatastoreProperties): # pylint: disable=too-many-instance-attributes
+class AzureDataLakeGen2Datastore(AzureDatastore, DatastoreProperties): # pylint: disable=too-many-instance-attributes
"""Azure Data Lake Gen2 datastore configuration.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -2497,11 +2933,15 @@ class AzureDataLakeGen2Datastore(DatastoreProperties): # pylint: disable=too-ma
:ivar credentials: [Required] Account credentials. Required.
:vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
:ivar datastore_type: [Required] Storage type backing the datastore. Required. Known values
- are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", and "AzureFile".
+ are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", "AzureFile", and "Hdfs".
: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 resource_group: Azure Resource Group name.
+ :vartype resource_group: str
+ :ivar subscription_id: Azure Subscription Id.
+ :vartype subscription_id: str
:ivar account_name: [Required] Storage account name. Required.
:vartype account_name: str
:ivar endpoint: Azure cloud endpoint for the storage account.
@@ -2532,6 +2972,8 @@ class AzureDataLakeGen2Datastore(DatastoreProperties): # pylint: disable=too-ma
"credentials": {"key": "credentials", "type": "DatastoreCredentials"},
"datastore_type": {"key": "datastoreType", "type": "str"},
"is_default": {"key": "isDefault", "type": "bool"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
"account_name": {"key": "accountName", "type": "str"},
"endpoint": {"key": "endpoint", "type": "str"},
"filesystem": {"key": "filesystem", "type": "str"},
@@ -2548,11 +2990,13 @@ def __init__(
description: Optional[str] = None,
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
+ resource_group: Optional[str] = None,
+ subscription_id: Optional[str] = None,
endpoint: Optional[str] = None,
protocol: Optional[str] = None,
service_data_access_auth_identity: Optional[Union[str, "_models.ServiceDataAccessAuthIdentity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -2562,6 +3006,10 @@ def __init__(
:paramtype tags: dict[str, str]
:keyword credentials: [Required] Account credentials. Required.
:paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword resource_group: Azure Resource Group name.
+ :paramtype resource_group: str
+ :keyword subscription_id: Azure Subscription Id.
+ :paramtype subscription_id: str
:keyword account_name: [Required] Storage account name. Required.
:paramtype account_name: str
:keyword endpoint: Azure cloud endpoint for the storage account.
@@ -2576,16 +3024,31 @@ def __init__(
:paramtype service_data_access_auth_identity: str or
~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
"""
- super().__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ super().__init__(
+ resource_group=resource_group,
+ subscription_id=subscription_id,
+ description=description,
+ properties=properties,
+ tags=tags,
+ credentials=credentials,
+ **kwargs
+ )
+ self.description = description
+ self.properties = properties
+ self.tags = tags
+ self.credentials = credentials
self.datastore_type: str = "AzureDataLakeGen2"
+ self.is_default = None
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
+ self.resource_group = resource_group
+ self.subscription_id = subscription_id
-class AzureFileDatastore(DatastoreProperties): # pylint: disable=too-many-instance-attributes
+class AzureFileDatastore(AzureDatastore, DatastoreProperties): # pylint: disable=too-many-instance-attributes
"""Azure File datastore configuration.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -2601,11 +3064,15 @@ class AzureFileDatastore(DatastoreProperties): # pylint: disable=too-many-insta
:ivar credentials: [Required] Account credentials. Required.
:vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
:ivar datastore_type: [Required] Storage type backing the datastore. Required. Known values
- are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", and "AzureFile".
+ are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", "AzureFile", and "Hdfs".
: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 resource_group: Azure Resource Group name.
+ :vartype resource_group: str
+ :ivar subscription_id: Azure Subscription Id.
+ :vartype subscription_id: str
:ivar account_name: [Required] Storage account name. Required.
:vartype account_name: str
:ivar endpoint: Azure cloud endpoint for the storage account.
@@ -2637,6 +3104,8 @@ class AzureFileDatastore(DatastoreProperties): # pylint: disable=too-many-insta
"credentials": {"key": "credentials", "type": "DatastoreCredentials"},
"datastore_type": {"key": "datastoreType", "type": "str"},
"is_default": {"key": "isDefault", "type": "bool"},
+ "resource_group": {"key": "resourceGroup", "type": "str"},
+ "subscription_id": {"key": "subscriptionId", "type": "str"},
"account_name": {"key": "accountName", "type": "str"},
"endpoint": {"key": "endpoint", "type": "str"},
"file_share_name": {"key": "fileShareName", "type": "str"},
@@ -2653,11 +3122,13 @@ def __init__(
description: Optional[str] = None,
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
+ resource_group: Optional[str] = None,
+ subscription_id: Optional[str] = None,
endpoint: Optional[str] = None,
protocol: Optional[str] = None,
service_data_access_auth_identity: Optional[Union[str, "_models.ServiceDataAccessAuthIdentity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -2667,6 +3138,10 @@ def __init__(
:paramtype tags: dict[str, str]
:keyword credentials: [Required] Account credentials. Required.
:paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword resource_group: Azure Resource Group name.
+ :paramtype resource_group: str
+ :keyword subscription_id: Azure Subscription Id.
+ :paramtype subscription_id: str
:keyword account_name: [Required] Storage account name. Required.
:paramtype account_name: str
:keyword endpoint: Azure cloud endpoint for the storage account.
@@ -2682,13 +3157,127 @@ def __init__(
:paramtype service_data_access_auth_identity: str or
~azure.mgmt.machinelearningservices.models.ServiceDataAccessAuthIdentity
"""
- super().__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ super().__init__(
+ resource_group=resource_group,
+ subscription_id=subscription_id,
+ description=description,
+ properties=properties,
+ tags=tags,
+ credentials=credentials,
+ **kwargs
+ )
+ self.description = description
+ self.properties = properties
+ self.tags = tags
+ self.credentials = credentials
self.datastore_type: str = "AzureFile"
+ self.is_default = None
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
+ self.resource_group = resource_group
+ self.subscription_id = subscription_id
+
+
+class InferencingServer(_serialization.Model):
+ """InferencingServer.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ AzureMLBatchInferencingServer, AzureMLOnlineInferencingServer, CustomInferencingServer,
+ TritonInferencingServer
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar server_type: [Required] Inferencing server type for various targets. Required. Known
+ values are: "AzureMLOnline", "AzureMLBatch", "Triton", and "Custom".
+ :vartype server_type: str or ~azure.mgmt.machinelearningservices.models.InferencingServerType
+ """
+
+ _validation = {
+ "server_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "server_type": {"key": "serverType", "type": "str"},
+ }
+
+ _subtype_map = {
+ "server_type": {
+ "AzureMLBatch": "AzureMLBatchInferencingServer",
+ "AzureMLOnline": "AzureMLOnlineInferencingServer",
+ "Custom": "CustomInferencingServer",
+ "Triton": "TritonInferencingServer",
+ }
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.server_type: Optional[str] = None
+
+
+class AzureMLBatchInferencingServer(InferencingServer):
+ """Azure ML batch inferencing server configurations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar server_type: [Required] Inferencing server type for various targets. Required. Known
+ values are: "AzureMLOnline", "AzureMLBatch", "Triton", and "Custom".
+ :vartype server_type: str or ~azure.mgmt.machinelearningservices.models.InferencingServerType
+ :ivar code_configuration: Code configuration for AML batch inferencing server.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ """
+
+ _validation = {
+ "server_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "server_type": {"key": "serverType", "type": "str"},
+ "code_configuration": {"key": "codeConfiguration", "type": "CodeConfiguration"},
+ }
+
+ def __init__(self, *, code_configuration: Optional["_models.CodeConfiguration"] = None, **kwargs: Any) -> None:
+ """
+ :keyword code_configuration: Code configuration for AML batch inferencing server.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ """
+ super().__init__(**kwargs)
+ self.server_type: str = "AzureMLBatch"
+ self.code_configuration = code_configuration
+
+
+class AzureMLOnlineInferencingServer(InferencingServer):
+ """Azure ML online inferencing configurations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar server_type: [Required] Inferencing server type for various targets. Required. Known
+ values are: "AzureMLOnline", "AzureMLBatch", "Triton", and "Custom".
+ :vartype server_type: str or ~azure.mgmt.machinelearningservices.models.InferencingServerType
+ :ivar code_configuration: Code configuration for AML inferencing server.
+ :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ """
+
+ _validation = {
+ "server_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "server_type": {"key": "serverType", "type": "str"},
+ "code_configuration": {"key": "codeConfiguration", "type": "CodeConfiguration"},
+ }
+
+ def __init__(self, *, code_configuration: Optional["_models.CodeConfiguration"] = None, **kwargs: Any) -> None:
+ """
+ :keyword code_configuration: Code configuration for AML inferencing server.
+ :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
+ """
+ super().__init__(**kwargs)
+ self.server_type: str = "AzureMLOnline"
+ self.code_configuration = code_configuration
class EarlyTerminationPolicy(_serialization.Model):
@@ -2727,7 +3316,7 @@ class EarlyTerminationPolicy(_serialization.Model):
}
}
- def __init__(self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, **kwargs):
+ def __init__(self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, **kwargs: Any) -> None:
"""
:keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
:paramtype delay_evaluation: int
@@ -2741,7 +3330,8 @@ def __init__(self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, *
class BanditPolicy(EarlyTerminationPolicy):
- """Defines an early termination policy based on slack criteria, and a frequency and delay interval for evaluation.
+ """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.
@@ -2778,8 +3368,8 @@ def __init__(
evaluation_interval: int = 0,
slack_amount: float = 0,
slack_factor: float = 0,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
:paramtype delay_evaluation: int
@@ -2796,6 +3386,69 @@ def __init__(
self.slack_factor = slack_factor
+class BaseEnvironmentSource(_serialization.Model):
+ """BaseEnvironmentSource.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ BaseEnvironmentId
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar base_environment_source_type: [Required] Base environment type. Required.
+ "EnvironmentAsset"
+ :vartype base_environment_source_type: str or
+ ~azure.mgmt.machinelearningservices.models.BaseEnvironmentSourceType
+ """
+
+ _validation = {
+ "base_environment_source_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "base_environment_source_type": {"key": "baseEnvironmentSourceType", "type": "str"},
+ }
+
+ _subtype_map = {"base_environment_source_type": {"EnvironmentAsset": "BaseEnvironmentId"}}
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.base_environment_source_type: Optional[str] = None
+
+
+class BaseEnvironmentId(BaseEnvironmentSource):
+ """Base environment type.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar base_environment_source_type: [Required] Base environment type. Required.
+ "EnvironmentAsset"
+ :vartype base_environment_source_type: str or
+ ~azure.mgmt.machinelearningservices.models.BaseEnvironmentSourceType
+ :ivar resource_id: [Required] Resource id accepting ArmId or AzureMlId. Required.
+ :vartype resource_id: str
+ """
+
+ _validation = {
+ "base_environment_source_type": {"required": True},
+ "resource_id": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ }
+
+ _attribute_map = {
+ "base_environment_source_type": {"key": "baseEnvironmentSourceType", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ }
+
+ def __init__(self, *, resource_id: str, **kwargs: Any) -> None:
+ """
+ :keyword resource_id: [Required] Resource id accepting ArmId or AzureMlId. Required.
+ :paramtype resource_id: str
+ """
+ super().__init__(**kwargs)
+ self.base_environment_source_type: str = "EnvironmentAsset"
+ self.resource_id = resource_id
+
+
class Resource(_serialization.Model):
"""Common fields that are returned in the response for all Azure Resource Manager resources.
@@ -2828,7 +3481,7 @@ class Resource(_serialization.Model):
"system_data": {"key": "systemData", "type": "SystemData"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
@@ -2838,7 +3491,8 @@ def __init__(self, **kwargs):
class TrackedResource(Resource):
- """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'.
+ """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.
@@ -2878,7 +3532,7 @@ class TrackedResource(Resource):
"location": {"key": "location", "type": "str"},
}
- def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs):
+ def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -2954,8 +3608,8 @@ def __init__(
identity: Optional["_models.ManagedServiceIdentity"] = None,
kind: Optional[str] = None,
sku: Optional["_models.Sku"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -2978,6 +3632,38 @@ def __init__(
self.sku = sku
+class BatchDeploymentConfiguration(_serialization.Model):
+ """Properties relevant to different deployment types.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ BatchPipelineComponentDeploymentConfiguration
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar deployment_configuration_type: [Required] The type of the deployment. Required. Known
+ values are: "Model" and "PipelineComponent".
+ :vartype deployment_configuration_type: str or
+ ~azure.mgmt.machinelearningservices.models.BatchDeploymentConfigurationType
+ """
+
+ _validation = {
+ "deployment_configuration_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "deployment_configuration_type": {"key": "deploymentConfigurationType", "type": "str"},
+ }
+
+ _subtype_map = {
+ "deployment_configuration_type": {"PipelineComponent": "BatchPipelineComponentDeploymentConfiguration"}
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.deployment_configuration_type: Optional[str] = None
+
+
class EndpointDeploymentPropertiesBase(_serialization.Model):
"""Base definition for endpoint deployment.
@@ -2985,8 +3671,8 @@ class EndpointDeploymentPropertiesBase(_serialization.Model):
: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.
+ :ivar environment_id: ARM resource ID 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]
@@ -3010,15 +3696,15 @@ def __init__(
environment_id: Optional[str] = None,
environment_variables: Optional[Dict[str, str]] = None,
properties: Optional[Dict[str, str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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.
+ :keyword environment_id: ARM resource ID 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]
@@ -3042,8 +3728,8 @@ class BatchDeploymentProperties(EndpointDeploymentPropertiesBase): # pylint: di
: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.
+ :ivar environment_id: ARM resource ID 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]
@@ -3051,6 +3737,9 @@ class BatchDeploymentProperties(EndpointDeploymentPropertiesBase): # pylint: di
:vartype properties: dict[str, str]
:ivar compute: Compute target for batch inference operation.
:vartype compute: str
+ :ivar deployment_configuration: Properties relevant to different deployment types.
+ :vartype deployment_configuration:
+ ~azure.mgmt.machinelearningservices.models.BatchDeploymentConfiguration
: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].
@@ -3097,6 +3786,7 @@ class BatchDeploymentProperties(EndpointDeploymentPropertiesBase): # pylint: di
"environment_variables": {"key": "environmentVariables", "type": "{str}"},
"properties": {"key": "properties", "type": "{str}"},
"compute": {"key": "compute", "type": "str"},
+ "deployment_configuration": {"key": "deploymentConfiguration", "type": "BatchDeploymentConfiguration"},
"error_threshold": {"key": "errorThreshold", "type": "int"},
"logging_level": {"key": "loggingLevel", "type": "str"},
"max_concurrency_per_instance": {"key": "maxConcurrencyPerInstance", "type": "int"},
@@ -3118,6 +3808,7 @@ def __init__(
environment_variables: Optional[Dict[str, str]] = None,
properties: Optional[Dict[str, str]] = None,
compute: Optional[str] = None,
+ deployment_configuration: Optional["_models.BatchDeploymentConfiguration"] = None,
error_threshold: int = -1,
logging_level: Optional[Union[str, "_models.BatchLoggingLevel"]] = None,
max_concurrency_per_instance: int = 1,
@@ -3127,15 +3818,15 @@ def __init__(
output_file_name: str = "predictions.csv",
resources: Optional["_models.DeploymentResourceConfiguration"] = None,
retry_settings: Optional["_models.BatchRetrySettings"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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.
+ :keyword environment_id: ARM resource ID 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]
@@ -3143,6 +3834,9 @@ def __init__(
:paramtype properties: dict[str, str]
:keyword compute: Compute target for batch inference operation.
:paramtype compute: str
+ :keyword deployment_configuration: Properties relevant to different deployment types.
+ :paramtype deployment_configuration:
+ ~azure.mgmt.machinelearningservices.models.BatchDeploymentConfiguration
: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].
@@ -3183,6 +3877,7 @@ def __init__(
**kwargs
)
self.compute = compute
+ self.deployment_configuration = deployment_configuration
self.error_threshold = error_threshold
self.logging_level = logging_level
self.max_concurrency_per_instance = max_concurrency_per_instance
@@ -3211,8 +3906,8 @@ class BatchDeploymentTrackedResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.BatchDeployment"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.BatchDeployment"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of BatchDeployment objects. If null, there are no
additional pages.
@@ -3289,8 +3984,8 @@ def __init__(
identity: Optional["_models.ManagedServiceIdentity"] = None,
kind: Optional[str] = None,
sku: Optional["_models.Sku"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -3325,7 +4020,7 @@ class BatchEndpointDefaults(_serialization.Model):
"deployment_name": {"key": "deploymentName", "type": "str"},
}
- def __init__(self, *, deployment_name: Optional[str] = None, **kwargs):
+ def __init__(self, *, deployment_name: Optional[str] = None, **kwargs: Any) -> None:
"""
: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.
@@ -3382,8 +4077,8 @@ def __init__(
description: Optional[str] = None,
keys: Optional["_models.EndpointAuthKeys"] = None,
properties: Optional[Dict[str, str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword auth_mode: [Required] Use 'Key' for key based authentication and 'AMLToken' for Azure
Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
@@ -3464,8 +4159,8 @@ def __init__(
keys: Optional["_models.EndpointAuthKeys"] = None,
properties: Optional[Dict[str, str]] = None,
defaults: Optional["_models.BatchEndpointDefaults"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword auth_mode: [Required] Use 'Key' for key based authentication and 'AMLToken' for Azure
Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
@@ -3503,8 +4198,8 @@ class BatchEndpointTrackedResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.BatchEndpoint"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.BatchEndpoint"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of BatchEndpoint objects. If null, there are no
additional pages.
@@ -3517,21 +4212,79 @@ def __init__(
self.value = value
-class BatchRetrySettings(_serialization.Model):
- """Retry settings for a batch inference operation.
+class BatchPipelineComponentDeploymentConfiguration(BatchDeploymentConfiguration):
+ """Properties for a Batch Pipeline Component Deployment.
- :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
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar deployment_configuration_type: [Required] The type of the deployment. Required. Known
+ values are: "Model" and "PipelineComponent".
+ :vartype deployment_configuration_type: str or
+ ~azure.mgmt.machinelearningservices.models.BatchDeploymentConfigurationType
+ :ivar component_id: The ARM id of the component to be run.
+ :vartype component_id: ~azure.mgmt.machinelearningservices.models.IdAssetReference
+ :ivar description: The description which will be applied to the job.
+ :vartype description: str
+ :ivar settings: Run-time settings for the pipeline job.
+ :vartype settings: dict[str, str]
+ :ivar tags: The tags which will be applied to the job.
+ :vartype tags: dict[str, str]
"""
- _attribute_map = {
- "max_retries": {"key": "maxRetries", "type": "int"},
+ _validation = {
+ "deployment_configuration_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "deployment_configuration_type": {"key": "deploymentConfigurationType", "type": "str"},
+ "component_id": {"key": "componentId", "type": "IdAssetReference"},
+ "description": {"key": "description", "type": "str"},
+ "settings": {"key": "settings", "type": "{str}"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ component_id: Optional["_models.IdAssetReference"] = None,
+ description: Optional[str] = None,
+ settings: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword component_id: The ARM id of the component to be run.
+ :paramtype component_id: ~azure.mgmt.machinelearningservices.models.IdAssetReference
+ :keyword description: The description which will be applied to the job.
+ :paramtype description: str
+ :keyword settings: Run-time settings for the pipeline job.
+ :paramtype settings: dict[str, str]
+ :keyword tags: The tags which will be applied to the job.
+ :paramtype tags: dict[str, str]
+ """
+ super().__init__(**kwargs)
+ self.deployment_configuration_type: str = "PipelineComponent"
+ self.component_id = component_id
+ self.description = description
+ self.settings = settings
+ self.tags = tags
+
+
+class BatchRetrySettings(_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: int = 3, timeout: datetime.timedelta = "PT30S", **kwargs):
+ def __init__(self, *, max_retries: int = 3, timeout: datetime.timedelta = "PT30S", **kwargs: Any) -> None:
"""
:keyword max_retries: Maximum retry count for a mini-batch.
:paramtype max_retries: int
@@ -3547,16 +4300,16 @@ class SamplingAlgorithm(_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
+ 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.
+ All required parameters must be populated in order to send to Azure.
- :ivar sampling_algorithm_type: [Required] The algorithm used for generating hyperparameter
- values, along with configuration properties. Required. Known values are: "Grid", "Random", and
- "Bayesian".
- :vartype sampling_algorithm_type: str or
- ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :ivar sampling_algorithm_type: [Required] The algorithm used for generating hyperparameter
+ values, along with configuration properties. Required. Known values are: "Grid", "Random", and
+ "Bayesian".
+ :vartype sampling_algorithm_type: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
"""
_validation = {
@@ -3575,7 +4328,7 @@ class SamplingAlgorithm(_serialization.Model):
}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.sampling_algorithm_type: Optional[str] = None
@@ -3601,12 +4354,51 @@ class BayesianSamplingAlgorithm(SamplingAlgorithm):
"sampling_algorithm_type": {"key": "samplingAlgorithmType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.sampling_algorithm_type: str = "Bayesian"
+class BindOptions(_serialization.Model):
+ """BindOptions.
+
+ :ivar propagation: Type of Bind Option.
+ :vartype propagation: str
+ :ivar create_host_path: Indicate whether to create host path.
+ :vartype create_host_path: bool
+ :ivar selinux: Mention the selinux options.
+ :vartype selinux: str
+ """
+
+ _attribute_map = {
+ "propagation": {"key": "propagation", "type": "str"},
+ "create_host_path": {"key": "createHostPath", "type": "bool"},
+ "selinux": {"key": "selinux", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ propagation: Optional[str] = None,
+ create_host_path: Optional[bool] = None,
+ selinux: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword propagation: Type of Bind Option.
+ :paramtype propagation: str
+ :keyword create_host_path: Indicate whether to create host path.
+ :paramtype create_host_path: bool
+ :keyword selinux: Mention the selinux options.
+ :paramtype selinux: str
+ """
+ super().__init__(**kwargs)
+ self.propagation = propagation
+ self.create_host_path = create_host_path
+ self.selinux = selinux
+
+
class BuildContext(_serialization.Model):
"""Configuration settings for Docker build context.
@@ -3640,7 +4432,7 @@ class BuildContext(_serialization.Model):
"dockerfile_path": {"key": "dockerfilePath", "type": "str"},
}
- def __init__(self, *, context_uri: str, dockerfile_path: str = "Dockerfile", **kwargs):
+ def __init__(self, *, context_uri: str, dockerfile_path: str = "Dockerfile", **kwargs: Any) -> None:
"""
:keyword context_uri: [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.
@@ -3671,7 +4463,8 @@ class CertificateDatastoreCredentials(DatastoreCredentials):
All required parameters must be populated in order to send to Azure.
:ivar credentials_type: [Required] Credential type used to authentication with storage.
- Required. Known values are: "AccountKey", "Certificate", "None", "Sas", and "ServicePrincipal".
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
:vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
:ivar authority_url: Authority URL used for authentication.
:vartype authority_url: str
@@ -3714,8 +4507,8 @@ def __init__(
thumbprint: str,
authority_url: Optional[str] = None,
resource_url: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword authority_url: Authority URL used for authentication.
:paramtype authority_url: str
@@ -3748,7 +4541,8 @@ class CertificateDatastoreSecrets(DatastoreSecrets):
All required parameters must be populated in order to send to Azure.
:ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
- Known values are: "AccountKey", "Certificate", "Sas", and "ServicePrincipal".
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
:vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
:ivar certificate: Service principal certificate.
:vartype certificate: str
@@ -3763,7 +4557,7 @@ class CertificateDatastoreSecrets(DatastoreSecrets):
"certificate": {"key": "certificate", "type": "str"},
}
- def __init__(self, *, certificate: Optional[str] = None, **kwargs):
+ def __init__(self, *, certificate: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword certificate: Service principal certificate.
:paramtype certificate: str
@@ -3773,19 +4567,28 @@ def __init__(self, *, certificate: Optional[str] = None, **kwargs):
self.certificate = certificate
-class TableVertical(_serialization.Model):
- """Abstract class for AutoML tasks that use table dataset as input - such as Classification/Regression/Forecasting.
+class TableVertical(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """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 fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
: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 search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
: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
@@ -3808,8 +4611,11 @@ class TableVertical(_serialization.Model):
_attribute_map = {
"cv_split_column_names": {"key": "cvSplitColumnNames", "type": "[str]"},
"featurization_settings": {"key": "featurizationSettings", "type": "TableVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "TableFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "TableVerticalLimitSettings"},
"n_cross_validations": {"key": "nCrossValidations", "type": "NCrossValidations"},
+ "search_space": {"key": "searchSpace", "type": "[TableParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "TableSweepSettings"},
"test_data": {"key": "testData", "type": "MLTableJobInput"},
"test_data_size": {"key": "testDataSize", "type": "float"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
@@ -3822,21 +4628,27 @@ def __init__(
*,
cv_split_column_names: Optional[List[str]] = None,
featurization_settings: Optional["_models.TableVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.TableFixedParameters"] = None,
limit_settings: Optional["_models.TableVerticalLimitSettings"] = None,
n_cross_validations: Optional["_models.NCrossValidations"] = None,
+ search_space: Optional[List["_models.TableParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.TableSweepSettings"] = None,
test_data: Optional["_models.MLTableJobInput"] = None,
test_data_size: Optional[float] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
validation_data_size: Optional[float] = None,
weight_column_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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 fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
@@ -3844,6 +4656,12 @@ def __init__(
dataset
when validation dataset is not provided.
:paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
: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
@@ -3865,8 +4683,11 @@ def __init__(
super().__init__(**kwargs)
self.cv_split_column_names = cv_split_column_names
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
self.n_cross_validations = n_cross_validations
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.test_data = test_data
self.test_data_size = test_data_size
self.validation_data = validation_data
@@ -3897,11 +4718,19 @@ class Classification(TableVertical, AutoMLVertical): # pylint: disable=too-many
:ivar featurization_settings: Featurization inputs needed for AutoML job.
:vartype featurization_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
: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 search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
: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
@@ -3942,8 +4771,11 @@ class Classification(TableVertical, AutoMLVertical): # pylint: disable=too-many
"training_data": {"key": "trainingData", "type": "MLTableJobInput"},
"cv_split_column_names": {"key": "cvSplitColumnNames", "type": "[str]"},
"featurization_settings": {"key": "featurizationSettings", "type": "TableVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "TableFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "TableVerticalLimitSettings"},
"n_cross_validations": {"key": "nCrossValidations", "type": "NCrossValidations"},
+ "search_space": {"key": "searchSpace", "type": "[TableParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "TableSweepSettings"},
"test_data": {"key": "testData", "type": "MLTableJobInput"},
"test_data_size": {"key": "testDataSize", "type": "float"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
@@ -3962,8 +4794,11 @@ def __init__(
target_column_name: Optional[str] = None,
cv_split_column_names: Optional[List[str]] = None,
featurization_settings: Optional["_models.TableVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.TableFixedParameters"] = None,
limit_settings: Optional["_models.TableVerticalLimitSettings"] = None,
n_cross_validations: Optional["_models.NCrossValidations"] = None,
+ search_space: Optional[List["_models.TableParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.TableSweepSettings"] = None,
test_data: Optional["_models.MLTableJobInput"] = None,
test_data_size: Optional[float] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
@@ -3972,8 +4807,8 @@ def __init__(
positive_label: Optional[str] = None,
primary_metric: Optional[Union[str, "_models.ClassificationPrimaryMetrics"]] = None,
training_settings: Optional["_models.ClassificationTrainingSettings"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -3988,6 +4823,9 @@ def __init__(
:keyword featurization_settings: Featurization inputs needed for AutoML job.
:paramtype featurization_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
@@ -3995,6 +4833,12 @@ def __init__(
dataset
when validation dataset is not provided.
:paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
: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
@@ -4025,8 +4869,11 @@ def __init__(
super().__init__(
cv_split_column_names=cv_split_column_names,
featurization_settings=featurization_settings,
+ fixed_parameters=fixed_parameters,
limit_settings=limit_settings,
n_cross_validations=n_cross_validations,
+ search_space=search_space,
+ sweep_settings=sweep_settings,
test_data=test_data,
test_data_size=test_data_size,
validation_data=validation_data,
@@ -4046,8 +4893,11 @@ def __init__(
self.training_settings = training_settings
self.cv_split_column_names = cv_split_column_names
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
self.n_cross_validations = n_cross_validations
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.test_data = test_data
self.test_data_size = test_data_size
self.validation_data = validation_data
@@ -4075,6 +4925,14 @@ class TrainingSettings(_serialization.Model):
:ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
:vartype stack_ensemble_settings:
~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :vartype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
"""
_attribute_map = {
@@ -4085,6 +4943,7 @@ class TrainingSettings(_serialization.Model):
"enable_vote_ensemble": {"key": "enableVoteEnsemble", "type": "bool"},
"ensemble_model_download_timeout": {"key": "ensembleModelDownloadTimeout", "type": "duration"},
"stack_ensemble_settings": {"key": "stackEnsembleSettings", "type": "StackEnsembleSettings"},
+ "training_mode": {"key": "trainingMode", "type": "str"},
}
def __init__(
@@ -4097,8 +4956,9 @@ def __init__(
enable_vote_ensemble: bool = True,
ensemble_model_download_timeout: datetime.timedelta = "PT5M",
stack_ensemble_settings: Optional["_models.StackEnsembleSettings"] = None,
- **kwargs
- ):
+ training_mode: Optional[Union[str, "_models.TrainingMode"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword enable_dnn_training: Enable recommendation of DNN models.
:paramtype enable_dnn_training: bool
@@ -4117,6 +4977,14 @@ def __init__(
:keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
:paramtype stack_ensemble_settings:
~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :paramtype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
"""
super().__init__(**kwargs)
self.enable_dnn_training = enable_dnn_training
@@ -4126,6 +4994,7 @@ def __init__(
self.enable_vote_ensemble = enable_vote_ensemble
self.ensemble_model_download_timeout = ensemble_model_download_timeout
self.stack_ensemble_settings = stack_ensemble_settings
+ self.training_mode = training_mode
class ClassificationTrainingSettings(TrainingSettings):
@@ -4148,6 +5017,14 @@ class ClassificationTrainingSettings(TrainingSettings):
:ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
:vartype stack_ensemble_settings:
~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :vartype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
:ivar allowed_training_algorithms: Allowed models for classification task.
:vartype allowed_training_algorithms: list[str or
~azure.mgmt.machinelearningservices.models.ClassificationModels]
@@ -4164,6 +5041,7 @@ class ClassificationTrainingSettings(TrainingSettings):
"enable_vote_ensemble": {"key": "enableVoteEnsemble", "type": "bool"},
"ensemble_model_download_timeout": {"key": "ensembleModelDownloadTimeout", "type": "duration"},
"stack_ensemble_settings": {"key": "stackEnsembleSettings", "type": "StackEnsembleSettings"},
+ "training_mode": {"key": "trainingMode", "type": "str"},
"allowed_training_algorithms": {"key": "allowedTrainingAlgorithms", "type": "[str]"},
"blocked_training_algorithms": {"key": "blockedTrainingAlgorithms", "type": "[str]"},
}
@@ -4178,10 +5056,11 @@ def __init__(
enable_vote_ensemble: bool = True,
ensemble_model_download_timeout: datetime.timedelta = "PT5M",
stack_ensemble_settings: Optional["_models.StackEnsembleSettings"] = None,
+ training_mode: Optional[Union[str, "_models.TrainingMode"]] = None,
allowed_training_algorithms: Optional[List[Union[str, "_models.ClassificationModels"]]] = None,
blocked_training_algorithms: Optional[List[Union[str, "_models.ClassificationModels"]]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword enable_dnn_training: Enable recommendation of DNN models.
:paramtype enable_dnn_training: bool
@@ -4200,6 +5079,14 @@ def __init__(
:keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
:paramtype stack_ensemble_settings:
~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :paramtype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
:keyword allowed_training_algorithms: Allowed models for classification task.
:paramtype allowed_training_algorithms: list[str or
~azure.mgmt.machinelearningservices.models.ClassificationModels]
@@ -4215,6 +5102,7 @@ def __init__(
enable_vote_ensemble=enable_vote_ensemble,
ensemble_model_download_timeout=ensemble_model_download_timeout,
stack_ensemble_settings=stack_ensemble_settings,
+ training_mode=training_mode,
**kwargs
)
self.allowed_training_algorithms = allowed_training_algorithms
@@ -4232,7 +5120,7 @@ class ClusterUpdateParameters(_serialization.Model):
"properties": {"key": "properties.properties", "type": "ScaleSettingsInformation"},
}
- def __init__(self, *, properties: Optional["_models.ScaleSettingsInformation"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.ScaleSettingsInformation"] = None, **kwargs: Any) -> None:
"""
:keyword properties: Properties of ClusterUpdate.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ScaleSettingsInformation
@@ -4241,6 +5129,111 @@ def __init__(self, *, properties: Optional["_models.ScaleSettingsInformation"] =
self.properties = properties
+class ExportSummary(_serialization.Model):
+ """ExportSummary.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ CsvExportSummary, CocoExportSummary, DatasetExportSummary
+
+ 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 end_date_time: The time when the export was completed.
+ :vartype end_date_time: ~datetime.datetime
+ :ivar exported_row_count: The total number of labeled datapoints exported.
+ :vartype exported_row_count: int
+ :ivar format: [Required] The format of exported labels, also as the discriminator. Required.
+ Known values are: "Dataset", "Coco", and "CSV".
+ :vartype format: str or ~azure.mgmt.machinelearningservices.models.ExportFormatType
+ :ivar labeling_job_id: Name and identifier of the job containing exported labels.
+ :vartype labeling_job_id: str
+ :ivar start_date_time: The time when the export was requested.
+ :vartype start_date_time: ~datetime.datetime
+ """
+
+ _validation = {
+ "end_date_time": {"readonly": True},
+ "exported_row_count": {"readonly": True},
+ "format": {"required": True},
+ "labeling_job_id": {"readonly": True},
+ "start_date_time": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "end_date_time": {"key": "endDateTime", "type": "iso-8601"},
+ "exported_row_count": {"key": "exportedRowCount", "type": "int"},
+ "format": {"key": "format", "type": "str"},
+ "labeling_job_id": {"key": "labelingJobId", "type": "str"},
+ "start_date_time": {"key": "startDateTime", "type": "iso-8601"},
+ }
+
+ _subtype_map = {
+ "format": {"CSV": "CsvExportSummary", "Coco": "CocoExportSummary", "Dataset": "DatasetExportSummary"}
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.end_date_time = None
+ self.exported_row_count = None
+ self.format: Optional[str] = None
+ self.labeling_job_id = None
+ self.start_date_time = None
+
+
+class CocoExportSummary(ExportSummary):
+ """CocoExportSummary.
+
+ 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 end_date_time: The time when the export was completed.
+ :vartype end_date_time: ~datetime.datetime
+ :ivar exported_row_count: The total number of labeled datapoints exported.
+ :vartype exported_row_count: int
+ :ivar format: [Required] The format of exported labels, also as the discriminator. Required.
+ Known values are: "Dataset", "Coco", and "CSV".
+ :vartype format: str or ~azure.mgmt.machinelearningservices.models.ExportFormatType
+ :ivar labeling_job_id: Name and identifier of the job containing exported labels.
+ :vartype labeling_job_id: str
+ :ivar start_date_time: The time when the export was requested.
+ :vartype start_date_time: ~datetime.datetime
+ :ivar container_name: The container name to which the labels will be exported.
+ :vartype container_name: str
+ :ivar snapshot_path: The output path where the labels will be exported.
+ :vartype snapshot_path: str
+ """
+
+ _validation = {
+ "end_date_time": {"readonly": True},
+ "exported_row_count": {"readonly": True},
+ "format": {"required": True},
+ "labeling_job_id": {"readonly": True},
+ "start_date_time": {"readonly": True},
+ "container_name": {"readonly": True},
+ "snapshot_path": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "end_date_time": {"key": "endDateTime", "type": "iso-8601"},
+ "exported_row_count": {"key": "exportedRowCount", "type": "int"},
+ "format": {"key": "format", "type": "str"},
+ "labeling_job_id": {"key": "labelingJobId", "type": "str"},
+ "start_date_time": {"key": "startDateTime", "type": "iso-8601"},
+ "container_name": {"key": "containerName", "type": "str"},
+ "snapshot_path": {"key": "snapshotPath", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.format: str = "Coco"
+ self.container_name = None
+ self.snapshot_path = None
+
+
class CodeConfiguration(_serialization.Model):
"""Configuration for a scoring code asset.
@@ -4261,7 +5254,7 @@ class CodeConfiguration(_serialization.Model):
"scoring_script": {"key": "scoringScript", "type": "str"},
}
- def __init__(self, *, scoring_script: str, code_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, scoring_script: str, code_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword code_id: ARM resource ID of the code asset.
:paramtype code_id: str
@@ -4311,7 +5304,7 @@ class CodeContainer(Resource):
"properties": {"key": "properties", "type": "CodeContainerProperties"},
}
- def __init__(self, *, properties: "_models.CodeContainerProperties", **kwargs):
+ def __init__(self, *, properties: "_models.CodeContainerProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.CodeContainerProperties
@@ -4337,11 +5330,16 @@ class CodeContainerProperties(AssetContainer):
:vartype latest_version: str
:ivar next_version: The next auto incremental version.
:vartype next_version: str
+ :ivar provisioning_state: Provisioning state for the code container. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
_validation = {
"latest_version": {"readonly": True},
"next_version": {"readonly": True},
+ "provisioning_state": {"readonly": True},
}
_attribute_map = {
@@ -4351,6 +5349,7 @@ class CodeContainerProperties(AssetContainer):
"is_archived": {"key": "isArchived", "type": "bool"},
"latest_version": {"key": "latestVersion", "type": "str"},
"next_version": {"key": "nextVersion", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -4360,8 +5359,8 @@ def __init__(
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -4373,6 +5372,7 @@ def __init__(
:paramtype is_archived: bool
"""
super().__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.provisioning_state = None
class CodeContainerResourceArmPaginatedResult(_serialization.Model):
@@ -4391,8 +5391,8 @@ class CodeContainerResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.CodeContainer"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.CodeContainer"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of CodeContainer objects. If null, there are no
additional pages.
@@ -4443,7 +5443,7 @@ class CodeVersion(Resource):
"properties": {"key": "properties", "type": "CodeVersionProperties"},
}
- def __init__(self, *, properties: "_models.CodeVersionProperties", **kwargs):
+ def __init__(self, *, properties: "_models.CodeVersionProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.CodeVersionProperties
@@ -4455,6 +5455,8 @@ def __init__(self, *, properties: "_models.CodeVersionProperties", **kwargs):
class CodeVersionProperties(AssetBase):
"""Code asset 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.
@@ -4467,8 +5469,16 @@ class CodeVersionProperties(AssetBase):
:vartype is_archived: bool
:ivar code_uri: Uri where code is located.
:vartype code_uri: str
+ :ivar provisioning_state: Provisioning state for the code version. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
+ _validation = {
+ "provisioning_state": {"readonly": True},
+ }
+
_attribute_map = {
"description": {"key": "description", "type": "str"},
"properties": {"key": "properties", "type": "{str}"},
@@ -4476,6 +5486,7 @@ class CodeVersionProperties(AssetBase):
"is_anonymous": {"key": "isAnonymous", "type": "bool"},
"is_archived": {"key": "isArchived", "type": "bool"},
"code_uri": {"key": "codeUri", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -4487,8 +5498,8 @@ def __init__(
is_anonymous: bool = False,
is_archived: bool = False,
code_uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -4512,6 +5523,7 @@ def __init__(
**kwargs
)
self.code_uri = code_uri
+ self.provisioning_state = None
class CodeVersionResourceArmPaginatedResult(_serialization.Model):
@@ -4530,8 +5542,8 @@ class CodeVersionResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.CodeVersion"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.CodeVersion"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of CodeVersion objects. If null, there are no
additional pages.
@@ -4559,7 +5571,7 @@ class ColumnTransformer(_serialization.Model):
"parameters": {"key": "parameters", "type": "object"},
}
- def __init__(self, *, fields: Optional[List[str]] = None, parameters: Optional[JSON] = None, **kwargs):
+ def __init__(self, *, fields: Optional[List[str]] = None, parameters: Optional[JSON] = None, **kwargs: Any) -> None:
"""
:keyword fields: Fields to apply transformer logic on.
:paramtype fields: list[str]
@@ -4601,15 +5613,20 @@ class CommandJob(JobBaseProperties): # pylint: disable=too-many-instance-attrib
:ivar is_archived: Is the asset archived?.
:vartype is_archived: bool
:ivar job_type: [Required] Specifies the type of job. Required. Known values are: "AutoML",
- "Command", "Sweep", and "Pipeline".
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
:vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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. Known values are: "NotStarted", "Starting", "Provisioning",
"Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
- "Canceled", "NotResponding", "Paused", and "Unknown".
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
:vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar autologger_settings: Distribution configuration of the job. If set, this should be one of
+ Mpi, Tensorflow, PyTorch, or null.
+ :vartype autologger_settings: ~azure.mgmt.machinelearningservices.models.AutologgerSettings
:ivar code_id: ARM resource ID of the code asset.
:vartype code_id: str
:ivar command: [Required] The command to execute on startup of the job. eg. "python train.py".
@@ -4631,6 +5648,8 @@ class CommandJob(JobBaseProperties): # pylint: disable=too-many-instance-attrib
:vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
:ivar parameters: Input parameters.
:vartype parameters: JSON
+ :ivar queue_settings: Queue settings for the job.
+ :vartype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
:ivar resources: Compute Resource configuration for the job.
:vartype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
"""
@@ -4654,8 +5673,10 @@ class CommandJob(JobBaseProperties): # pylint: disable=too-many-instance-attrib
"identity": {"key": "identity", "type": "IdentityConfiguration"},
"is_archived": {"key": "isArchived", "type": "bool"},
"job_type": {"key": "jobType", "type": "str"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
"services": {"key": "services", "type": "{JobService}"},
"status": {"key": "status", "type": "str"},
+ "autologger_settings": {"key": "autologgerSettings", "type": "AutologgerSettings"},
"code_id": {"key": "codeId", "type": "str"},
"command": {"key": "command", "type": "str"},
"distribution": {"key": "distribution", "type": "DistributionConfiguration"},
@@ -4665,10 +5686,11 @@ class CommandJob(JobBaseProperties): # pylint: disable=too-many-instance-attrib
"limits": {"key": "limits", "type": "CommandJobLimits"},
"outputs": {"key": "outputs", "type": "{JobOutput}"},
"parameters": {"key": "parameters", "type": "object"},
+ "queue_settings": {"key": "queueSettings", "type": "QueueSettings"},
"resources": {"key": "resources", "type": "JobResourceConfiguration"},
}
- def __init__(
+ def __init__( # pylint: disable=too-many-locals
self,
*,
command: str,
@@ -4682,16 +5704,19 @@ def __init__(
experiment_name: str = "Default",
identity: Optional["_models.IdentityConfiguration"] = None,
is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
services: Optional[Dict[str, "_models.JobService"]] = None,
+ autologger_settings: Optional["_models.AutologgerSettings"] = None,
code_id: Optional[str] = None,
distribution: Optional["_models.DistributionConfiguration"] = None,
environment_variables: Optional[Dict[str, str]] = None,
inputs: Optional[Dict[str, "_models.JobInput"]] = None,
limits: Optional["_models.CommandJobLimits"] = None,
outputs: Optional[Dict[str, "_models.JobOutput"]] = None,
+ queue_settings: Optional["_models.QueueSettings"] = None,
resources: Optional["_models.JobResourceConfiguration"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -4714,9 +5739,14 @@ def __init__(
:paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
+ :keyword notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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 autologger_settings: Distribution configuration of the job. If set, this should be one
+ of Mpi, Tensorflow, PyTorch, or null.
+ :paramtype autologger_settings: ~azure.mgmt.machinelearningservices.models.AutologgerSettings
:keyword code_id: ARM resource ID of the code asset.
:paramtype code_id: str
:keyword command: [Required] The command to execute on startup of the job. eg. "python
@@ -4736,6 +5766,8 @@ def __init__(
: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 queue_settings: Queue settings for the job.
+ :paramtype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
:keyword resources: Compute Resource configuration for the job.
:paramtype resources: ~azure.mgmt.machinelearningservices.models.JobResourceConfiguration
"""
@@ -4749,10 +5781,12 @@ def __init__(
experiment_name=experiment_name,
identity=identity,
is_archived=is_archived,
+ notification_setting=notification_setting,
services=services,
**kwargs
)
self.job_type: str = "Command"
+ self.autologger_settings = autologger_settings
self.code_id = code_id
self.command = command
self.distribution = distribution
@@ -4762,6 +5796,7 @@ def __init__(
self.limits = limits
self.outputs = outputs
self.parameters = None
+ self.queue_settings = queue_settings
self.resources = resources
@@ -4792,7 +5827,7 @@ class JobLimits(_serialization.Model):
_subtype_map = {"job_limits_type": {"Command": "CommandJobLimits", "Sweep": "SweepJobLimits"}}
- def __init__(self, *, timeout: Optional[datetime.timedelta] = None, **kwargs):
+ def __init__(self, *, timeout: Optional[datetime.timedelta] = None, **kwargs: Any) -> None:
"""
: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.
@@ -4825,7 +5860,7 @@ class CommandJobLimits(JobLimits):
"timeout": {"key": "timeout", "type": "duration"},
}
- def __init__(self, *, timeout: Optional[datetime.timedelta] = None, **kwargs):
+ def __init__(self, *, timeout: Optional[datetime.timedelta] = None, **kwargs: Any) -> None:
"""
: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.
@@ -4873,7 +5908,7 @@ class ComponentContainer(Resource):
"properties": {"key": "properties", "type": "ComponentContainerProperties"},
}
- def __init__(self, *, properties: "_models.ComponentContainerProperties", **kwargs):
+ def __init__(self, *, properties: "_models.ComponentContainerProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ComponentContainerProperties
@@ -4888,27 +5923,34 @@ class ComponentContainerProperties(AssetContainer):
.. raw:: html
- .
+ .
- Variables are only populated by the server, and will be ignored when sending a request.
+ 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: 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 description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar 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 provisioning_state: Provisioning state for the component container. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
_validation = {
"latest_version": {"readonly": True},
"next_version": {"readonly": True},
+ "provisioning_state": {"readonly": True},
}
_attribute_map = {
@@ -4918,6 +5960,7 @@ class ComponentContainerProperties(AssetContainer):
"is_archived": {"key": "isArchived", "type": "bool"},
"latest_version": {"key": "latestVersion", "type": "str"},
"next_version": {"key": "nextVersion", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -4927,8 +5970,8 @@ def __init__(
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -4940,6 +5983,7 @@ def __init__(
:paramtype is_archived: bool
"""
super().__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.provisioning_state = None
class ComponentContainerResourceArmPaginatedResult(_serialization.Model):
@@ -4958,8 +6002,12 @@ class ComponentContainerResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.ComponentContainer"]] = None, **kwargs
- ):
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.ComponentContainer"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of ComponentContainer objects. If null, there are
no additional pages.
@@ -5010,7 +6058,7 @@ class ComponentVersion(Resource):
"properties": {"key": "properties", "type": "ComponentVersionProperties"},
}
- def __init__(self, *, properties: "_models.ComponentVersionProperties", **kwargs):
+ def __init__(self, *, properties: "_models.ComponentVersionProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ComponentVersionProperties
@@ -5022,6 +6070,8 @@ def __init__(self, *, properties: "_models.ComponentVersionProperties", **kwargs
class ComponentVersionProperties(AssetBase):
"""Definition of a component version: defines resources that span component types.
+ 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.
@@ -5041,8 +6091,16 @@ class ComponentVersionProperties(AssetBase):
href="https://docs.microsoft.com/en-us/azure/machine-learning/reference-yaml-component-command"
/>.
:vartype component_spec: JSON
+ :ivar provisioning_state: Provisioning state for the component version. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
+ _validation = {
+ "provisioning_state": {"readonly": True},
+ }
+
_attribute_map = {
"description": {"key": "description", "type": "str"},
"properties": {"key": "properties", "type": "{str}"},
@@ -5050,6 +6108,7 @@ class ComponentVersionProperties(AssetBase):
"is_anonymous": {"key": "isAnonymous", "type": "bool"},
"is_archived": {"key": "isArchived", "type": "bool"},
"component_spec": {"key": "componentSpec", "type": "object"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -5061,8 +6120,8 @@ def __init__(
is_anonymous: bool = False,
is_archived: bool = False,
component_spec: Optional[JSON] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -5093,6 +6152,7 @@ def __init__(
**kwargs
)
self.component_spec = component_spec
+ self.provisioning_state = None
class ComponentVersionResourceArmPaginatedResult(_serialization.Model):
@@ -5111,8 +6171,12 @@ class ComponentVersionResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.ComponentVersion"]] = None, **kwargs
- ):
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.ComponentVersion"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of ComponentVersion objects. If null, there are
no additional pages.
@@ -5136,7 +6200,7 @@ class ComputeInstanceSchema(_serialization.Model):
"properties": {"key": "properties", "type": "ComputeInstanceProperties"},
}
- def __init__(self, *, properties: Optional["_models.ComputeInstanceProperties"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.ComputeInstanceProperties"] = None, **kwargs: Any) -> None:
"""
:keyword properties: Properties of ComputeInstance.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
@@ -5162,7 +6226,7 @@ class ComputeInstance(Compute, ComputeInstanceSchema): # pylint: disable=too-ma
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -5214,8 +6278,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties: Properties of ComputeInstance.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ComputeInstanceProperties
@@ -5264,7 +6328,9 @@ class ComputeInstanceApplication(_serialization.Model):
"endpoint_uri": {"key": "endpointUri", "type": "str"},
}
- def __init__(self, *, display_name: Optional[str] = None, endpoint_uri: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, display_name: Optional[str] = None, endpoint_uri: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword display_name: Name of the ComputeInstance application.
:paramtype display_name: str
@@ -5276,6 +6342,31 @@ def __init__(self, *, display_name: Optional[str] = None, endpoint_uri: Optional
self.endpoint_uri = endpoint_uri
+class ComputeInstanceAutologgerSettings(_serialization.Model):
+ """Specifies settings for autologger.
+
+ :ivar mlflow_autologger: Indicates whether mlflow autologger is enabled for notebooks. Known
+ values are: "Enabled" and "Disabled".
+ :vartype mlflow_autologger: str or ~azure.mgmt.machinelearningservices.models.MlflowAutologger
+ """
+
+ _attribute_map = {
+ "mlflow_autologger": {"key": "mlflowAutologger", "type": "str"},
+ }
+
+ def __init__(
+ self, *, mlflow_autologger: Optional[Union[str, "_models.MlflowAutologger"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword mlflow_autologger: Indicates whether mlflow autologger is enabled for notebooks. Known
+ values are: "Enabled" and "Disabled".
+ :paramtype mlflow_autologger: str or
+ ~azure.mgmt.machinelearningservices.models.MlflowAutologger
+ """
+ super().__init__(**kwargs)
+ self.mlflow_autologger = mlflow_autologger
+
+
class ComputeInstanceConnectivityEndpoints(_serialization.Model):
"""Defines all connectivity endpoints and properties for an ComputeInstance.
@@ -5298,7 +6389,7 @@ class ComputeInstanceConnectivityEndpoints(_serialization.Model):
"private_ip_address": {"key": "privateIpAddress", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.public_ip_address = None
@@ -5345,8 +6436,8 @@ def __init__(
gpu: Optional[str] = None,
network: Optional[Union[str, "_models.Network"]] = None,
environment: Optional["_models.ComputeInstanceEnvironmentInfo"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword name: Name of the ComputeInstance container.
:paramtype name: str
@@ -5394,7 +6485,7 @@ class ComputeInstanceCreatedBy(_serialization.Model):
"user_id": {"key": "userId", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.user_name = None
@@ -5433,8 +6524,8 @@ def __init__(
disk_size_gb: Optional[int] = None,
lun: Optional[int] = None,
storage_account_type: Union[str, "_models.StorageAccountType"] = "Standard_LRS",
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword caching: Caching type of Data Disk. Known values are: "None", "ReadOnly", and
"ReadWrite".
@@ -5504,8 +6595,8 @@ def __init__(
mount_state: Optional[Union[str, "_models.MountState"]] = None,
mounted_on: Optional[datetime.datetime] = None,
error: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword source: Source of the ComputeInstance data mount.
:paramtype source: str
@@ -5553,7 +6644,7 @@ class ComputeInstanceEnvironmentInfo(_serialization.Model):
"version": {"key": "version", "type": "str"},
}
- def __init__(self, *, name: Optional[str] = None, version: Optional[str] = None, **kwargs):
+ def __init__(self, *, name: Optional[str] = None, version: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword name: name of environment.
:paramtype name: str
@@ -5596,8 +6687,8 @@ def __init__(
operation_time: Optional[datetime.datetime] = None,
operation_status: Optional[Union[str, "_models.OperationStatus"]] = None,
operation_trigger: Optional[Union[str, "_models.OperationTrigger"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword operation_name: Name of the last operation. Known values are: "Create", "Start",
"Stop", "Restart", "Reimage", and "Delete".
@@ -5635,8 +6726,16 @@ class ComputeInstanceProperties(_serialization.Model): # pylint: disable=too-ma
depending on his/her assigned role. Known values are: "Personal" and "Shared".
:vartype application_sharing_policy: str or
~azure.mgmt.machinelearningservices.models.ApplicationSharingPolicy
+ :ivar autologger_settings: Specifies settings for autologger.
+ :vartype autologger_settings:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceAutologgerSettings
:ivar ssh_settings: Specifies policy and settings for SSH access.
:vartype ssh_settings: ~azure.mgmt.machinelearningservices.models.ComputeInstanceSshSettings
+ :ivar custom_services: List of Custom Services added to the compute.
+ :vartype custom_services: list[~azure.mgmt.machinelearningservices.models.CustomService]
+ :ivar os_image_metadata: Returns metadata about the operating system image for this compute
+ instance.
+ :vartype os_image_metadata: ~azure.mgmt.machinelearningservices.models.ImageMetadata
:ivar connectivity_endpoints: Describes all connectivity endpoints available for this
ComputeInstance.
:vartype connectivity_endpoints:
@@ -5668,6 +6767,9 @@ class ComputeInstanceProperties(_serialization.Model): # pylint: disable=too-ma
~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 idle_time_before_shutdown: Stops compute instance after user defined period of
+ inactivity. Time is defined in ISO8601 format. Minimum is 15 min, maximum is 3 days.
+ :vartype idle_time_before_shutdown: str
: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
@@ -5684,13 +6786,13 @@ class ComputeInstanceProperties(_serialization.Model): # pylint: disable=too-ma
"""
_validation = {
+ "os_image_metadata": {"readonly": True},
"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},
@@ -5701,7 +6803,10 @@ class ComputeInstanceProperties(_serialization.Model): # pylint: disable=too-ma
"vm_size": {"key": "vmSize", "type": "str"},
"subnet": {"key": "subnet", "type": "ResourceId"},
"application_sharing_policy": {"key": "applicationSharingPolicy", "type": "str"},
+ "autologger_settings": {"key": "autologgerSettings", "type": "ComputeInstanceAutologgerSettings"},
"ssh_settings": {"key": "sshSettings", "type": "ComputeInstanceSshSettings"},
+ "custom_services": {"key": "customServices", "type": "[CustomService]"},
+ "os_image_metadata": {"key": "osImageMetadata", "type": "ImageMetadata"},
"connectivity_endpoints": {"key": "connectivityEndpoints", "type": "ComputeInstanceConnectivityEndpoints"},
"applications": {"key": "applications", "type": "[ComputeInstanceApplication]"},
"created_by": {"key": "createdBy", "type": "ComputeInstanceCreatedBy"},
@@ -5715,6 +6820,7 @@ class ComputeInstanceProperties(_serialization.Model): # pylint: disable=too-ma
"setup_scripts": {"key": "setupScripts", "type": "SetupScripts"},
"last_operation": {"key": "lastOperation", "type": "ComputeInstanceLastOperation"},
"schedules": {"key": "schedules", "type": "ComputeSchedules"},
+ "idle_time_before_shutdown": {"key": "idleTimeBeforeShutdown", "type": "str"},
"enable_node_public_ip": {"key": "enableNodePublicIp", "type": "bool"},
"containers": {"key": "containers", "type": "[ComputeInstanceContainer]"},
"data_disks": {"key": "dataDisks", "type": "[ComputeInstanceDataDisk]"},
@@ -5728,13 +6834,17 @@ def __init__(
vm_size: Optional[str] = None,
subnet: Optional["_models.ResourceId"] = None,
application_sharing_policy: Union[str, "_models.ApplicationSharingPolicy"] = "Shared",
+ autologger_settings: Optional["_models.ComputeInstanceAutologgerSettings"] = None,
ssh_settings: Optional["_models.ComputeInstanceSshSettings"] = None,
+ custom_services: Optional[List["_models.CustomService"]] = None,
compute_instance_authorization_type: Union[str, "_models.ComputeInstanceAuthorizationType"] = "personal",
personal_compute_instance_settings: Optional["_models.PersonalComputeInstanceSettings"] = None,
setup_scripts: Optional["_models.SetupScripts"] = None,
+ schedules: Optional["_models.ComputeSchedules"] = None,
+ idle_time_before_shutdown: Optional[str] = None,
enable_node_public_ip: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword vm_size: Virtual Machine Size.
:paramtype vm_size: str
@@ -5746,8 +6856,13 @@ def __init__(
depending on his/her assigned role. Known values are: "Personal" and "Shared".
:paramtype application_sharing_policy: str or
~azure.mgmt.machinelearningservices.models.ApplicationSharingPolicy
+ :keyword autologger_settings: Specifies settings for autologger.
+ :paramtype autologger_settings:
+ ~azure.mgmt.machinelearningservices.models.ComputeInstanceAutologgerSettings
:keyword ssh_settings: Specifies policy and settings for SSH access.
:paramtype ssh_settings: ~azure.mgmt.machinelearningservices.models.ComputeInstanceSshSettings
+ :keyword custom_services: List of Custom Services added to the compute.
+ :paramtype custom_services: list[~azure.mgmt.machinelearningservices.models.CustomService]
:keyword compute_instance_authorization_type: The Compute Instance Authorization type.
Available values are personal (default). "personal"
:paramtype compute_instance_authorization_type: str or
@@ -5757,6 +6872,11 @@ def __init__(
~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 schedules: The list of schedules to be applied on the computes.
+ :paramtype schedules: ~azure.mgmt.machinelearningservices.models.ComputeSchedules
+ :keyword idle_time_before_shutdown: Stops compute instance after user defined period of
+ inactivity. Time is defined in ISO8601 format. Minimum is 15 min, maximum is 3 days.
+ :paramtype idle_time_before_shutdown: str
: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
@@ -5767,7 +6887,10 @@ def __init__(
self.vm_size = vm_size
self.subnet = subnet
self.application_sharing_policy = application_sharing_policy
+ self.autologger_settings = autologger_settings
self.ssh_settings = ssh_settings
+ self.custom_services = custom_services
+ self.os_image_metadata = None
self.connectivity_endpoints = None
self.applications = None
self.created_by = None
@@ -5777,7 +6900,8 @@ def __init__(
self.personal_compute_instance_settings = personal_compute_instance_settings
self.setup_scripts = setup_scripts
self.last_operation = None
- self.schedules = None
+ self.schedules = schedules
+ self.idle_time_before_shutdown = idle_time_before_shutdown
self.enable_node_public_ip = enable_node_public_ip
self.containers = None
self.data_disks = None
@@ -5821,8 +6945,8 @@ def __init__(
*,
ssh_public_access: Union[str, "_models.SshPublicAccess"] = "Disabled",
admin_public_key: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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
@@ -5851,7 +6975,7 @@ class ComputeInstanceVersion(_serialization.Model):
"runtime": {"key": "runtime", "type": "str"},
}
- def __init__(self, *, runtime: Optional[str] = None, **kwargs):
+ def __init__(self, *, runtime: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword runtime: Runtime of compute instance.
:paramtype runtime: str
@@ -5871,7 +6995,7 @@ class ComputeResourceSchema(_serialization.Model):
"properties": {"key": "properties", "type": "Compute"},
}
- def __init__(self, *, properties: Optional["_models.Compute"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.Compute"] = None, **kwargs: Any) -> None:
"""
:keyword properties: Compute properties.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.Compute
@@ -5935,8 +7059,8 @@ def __init__(
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
sku: Optional["_models.Sku"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties: Compute properties.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.Compute
@@ -5961,6 +7085,26 @@ def __init__(
self.system_data = None
+class ComputeRuntimeDto(_serialization.Model):
+ """ComputeRuntimeDto.
+
+ :ivar spark_runtime_version:
+ :vartype spark_runtime_version: str
+ """
+
+ _attribute_map = {
+ "spark_runtime_version": {"key": "sparkRuntimeVersion", "type": "str"},
+ }
+
+ def __init__(self, *, spark_runtime_version: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword spark_runtime_version:
+ :paramtype spark_runtime_version: str
+ """
+ super().__init__(**kwargs)
+ self.spark_runtime_version = spark_runtime_version
+
+
class ComputeSchedules(_serialization.Model):
"""The list of schedules to be applied on the computes.
@@ -5973,7 +7117,9 @@ class ComputeSchedules(_serialization.Model):
"compute_start_stop": {"key": "computeStartStop", "type": "[ComputeStartStopSchedule]"},
}
- def __init__(self, *, compute_start_stop: Optional[List["_models.ComputeStartStopSchedule"]] = None, **kwargs):
+ def __init__(
+ self, *, compute_start_stop: Optional[List["_models.ComputeStartStopSchedule"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword compute_start_stop: The list of compute start stop schedules to be applied.
:paramtype compute_start_stop:
@@ -6002,9 +7148,9 @@ class ComputeStartStopSchedule(_serialization.Model):
"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
+ :vartype recurrence: ~azure.mgmt.machinelearningservices.models.Recurrence
:ivar cron: Required if triggerType is Cron.
- :vartype cron: ~azure.mgmt.machinelearningservices.models.CronTrigger
+ :vartype cron: ~azure.mgmt.machinelearningservices.models.Cron
:ivar schedule: [Deprecated] Not used any more.
:vartype schedule: ~azure.mgmt.machinelearningservices.models.ScheduleBase
"""
@@ -6020,8 +7166,8 @@ class ComputeStartStopSchedule(_serialization.Model):
"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"},
+ "recurrence": {"key": "recurrence", "type": "Recurrence"},
+ "cron": {"key": "cron", "type": "Cron"},
"schedule": {"key": "schedule", "type": "ScheduleBase"},
}
@@ -6031,11 +7177,11 @@ def __init__(
status: Optional[Union[str, "_models.ScheduleStatus"]] = None,
action: Optional[Union[str, "_models.ComputePowerAction"]] = None,
trigger_type: Optional[Union[str, "_models.TriggerType"]] = None,
- recurrence: Optional["_models.RecurrenceTrigger"] = None,
- cron: Optional["_models.CronTrigger"] = None,
+ recurrence: Optional["_models.Recurrence"] = None,
+ cron: Optional["_models.Cron"] = None,
schedule: Optional["_models.ScheduleBase"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword status: Is the schedule enabled or disabled?. Known values are: "Enabled" and
"Disabled".
@@ -6046,9 +7192,9 @@ def __init__(
"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
+ :paramtype recurrence: ~azure.mgmt.machinelearningservices.models.Recurrence
:keyword cron: Required if triggerType is Cron.
- :paramtype cron: ~azure.mgmt.machinelearningservices.models.CronTrigger
+ :paramtype cron: ~azure.mgmt.machinelearningservices.models.Cron
:keyword schedule: [Deprecated] Not used any more.
:paramtype schedule: ~azure.mgmt.machinelearningservices.models.ScheduleBase
"""
@@ -6084,8 +7230,8 @@ def __init__(
*,
container_resource_limits: Optional["_models.ContainerResourceSettings"] = None,
container_resource_requests: Optional["_models.ContainerResourceSettings"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword container_resource_limits: Container resource limit info:.
:paramtype container_resource_limits:
@@ -6119,7 +7265,9 @@ class ContainerResourceSettings(_serialization.Model):
"memory": {"key": "memory", "type": "str"},
}
- def __init__(self, *, cpu: Optional[str] = None, gpu: Optional[str] = None, memory: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, cpu: Optional[str] = None, gpu: Optional[str] = None, memory: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword cpu: Number of vCPUs request/limit for container. More info:
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/.
@@ -6148,7 +7296,7 @@ class CosmosDbSettings(_serialization.Model):
"collections_throughput": {"key": "collectionsThroughput", "type": "int"},
}
- def __init__(self, *, collections_throughput: Optional[int] = None, **kwargs):
+ def __init__(self, *, collections_throughput: Optional[int] = None, **kwargs: Any) -> None:
"""
:keyword collections_throughput: The throughput of the collections in cosmosdb database.
:paramtype collections_throughput: int
@@ -6157,6 +7305,51 @@ def __init__(self, *, collections_throughput: Optional[int] = None, **kwargs):
self.collections_throughput = collections_throughput
+class Cron(_serialization.Model):
+ """The workflow trigger cron for ComputeStartStop schedule type.
+
+ :ivar start_time: The start time in yyyy-MM-ddTHH:mm:ss format.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar expression: [Required] Specifies cron expression of schedule.
+ The expression should follow NCronTab format.
+ :vartype expression: str
+ """
+
+ _attribute_map = {
+ "start_time": {"key": "startTime", "type": "str"},
+ "time_zone": {"key": "timeZone", "type": "str"},
+ "expression": {"key": "expression", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ start_time: Optional[str] = None,
+ time_zone: str = "UTC",
+ expression: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword start_time: The start time in yyyy-MM-ddTHH:mm:ss format.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ :keyword expression: [Required] Specifies cron expression of schedule.
+ The expression should follow NCronTab format.
+ :paramtype expression: str
+ """
+ super().__init__(**kwargs)
+ self.start_time = start_time
+ self.time_zone = time_zone
+ self.expression = expression
+
+
class TriggerBase(_serialization.Model):
"""TriggerBase.
@@ -6195,8 +7388,8 @@ class TriggerBase(_serialization.Model):
_subtype_map = {"trigger_type": {"Cron": "CronTrigger", "Recurrence": "RecurrenceTrigger"}}
def __init__(
- self, *, end_time: Optional[str] = None, start_time: Optional[str] = None, time_zone: str = "UTC", **kwargs
- ):
+ self, *, end_time: Optional[str] = None, start_time: Optional[str] = None, time_zone: str = "UTC", **kwargs: Any
+ ) -> None:
"""
:keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
https://en.wikipedia.org/wiki/ISO_8601.
@@ -6262,8 +7455,8 @@ def __init__(
end_time: Optional[str] = None,
start_time: Optional[str] = None,
time_zone: str = "UTC",
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
https://en.wikipedia.org/wiki/ISO_8601.
@@ -6286,6 +7479,58 @@ def __init__(
self.expression = expression
+class CsvExportSummary(ExportSummary):
+ """CsvExportSummary.
+
+ 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 end_date_time: The time when the export was completed.
+ :vartype end_date_time: ~datetime.datetime
+ :ivar exported_row_count: The total number of labeled datapoints exported.
+ :vartype exported_row_count: int
+ :ivar format: [Required] The format of exported labels, also as the discriminator. Required.
+ Known values are: "Dataset", "Coco", and "CSV".
+ :vartype format: str or ~azure.mgmt.machinelearningservices.models.ExportFormatType
+ :ivar labeling_job_id: Name and identifier of the job containing exported labels.
+ :vartype labeling_job_id: str
+ :ivar start_date_time: The time when the export was requested.
+ :vartype start_date_time: ~datetime.datetime
+ :ivar container_name: The container name to which the labels will be exported.
+ :vartype container_name: str
+ :ivar snapshot_path: The output path where the labels will be exported.
+ :vartype snapshot_path: str
+ """
+
+ _validation = {
+ "end_date_time": {"readonly": True},
+ "exported_row_count": {"readonly": True},
+ "format": {"required": True},
+ "labeling_job_id": {"readonly": True},
+ "start_date_time": {"readonly": True},
+ "container_name": {"readonly": True},
+ "snapshot_path": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "end_date_time": {"key": "endDateTime", "type": "iso-8601"},
+ "exported_row_count": {"key": "exportedRowCount", "type": "int"},
+ "format": {"key": "format", "type": "str"},
+ "labeling_job_id": {"key": "labelingJobId", "type": "str"},
+ "start_date_time": {"key": "startDateTime", "type": "iso-8601"},
+ "container_name": {"key": "containerName", "type": "str"},
+ "snapshot_path": {"key": "snapshotPath", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.format: str = "CSV"
+ self.container_name = None
+ self.snapshot_path = None
+
+
class CustomForecastHorizon(ForecastHorizon):
"""The desired maximum forecast horizon in units of time-series frequency.
@@ -6308,7 +7553,7 @@ class CustomForecastHorizon(ForecastHorizon):
"value": {"key": "value", "type": "int"},
}
- def __init__(self, *, value: int, **kwargs):
+ def __init__(self, *, value: int, **kwargs: Any) -> None:
"""
:keyword value: [Required] Forecast horizon value. Required.
:paramtype value: int
@@ -6318,29 +7563,64 @@ def __init__(self, *, value: int, **kwargs):
self.value = value
-class JobInput(_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
+class CustomInferencingServer(InferencingServer):
+ """Custom inference server configurations.
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] Specifies the type of job. Required. Known values are:
- "literal", "uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and
- "triton_model".
- :vartype job_input_type: str or ~azure.mgmt.machinelearningservices.models.JobInputType
+ :ivar server_type: [Required] Inferencing server type for various targets. Required. Known
+ values are: "AzureMLOnline", "AzureMLBatch", "Triton", and "Custom".
+ :vartype server_type: str or ~azure.mgmt.machinelearningservices.models.InferencingServerType
+ :ivar inference_configuration: Inference configuration for custom inferencing.
+ :vartype inference_configuration:
+ ~azure.mgmt.machinelearningservices.models.OnlineInferenceConfiguration
"""
_validation = {
- "job_input_type": {"required": True},
+ "server_type": {"required": True},
}
_attribute_map = {
- "description": {"key": "description", "type": "str"},
+ "server_type": {"key": "serverType", "type": "str"},
+ "inference_configuration": {"key": "inferenceConfiguration", "type": "OnlineInferenceConfiguration"},
+ }
+
+ def __init__(
+ self, *, inference_configuration: Optional["_models.OnlineInferenceConfiguration"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword inference_configuration: Inference configuration for custom inferencing.
+ :paramtype inference_configuration:
+ ~azure.mgmt.machinelearningservices.models.OnlineInferenceConfiguration
+ """
+ super().__init__(**kwargs)
+ self.server_type: str = "Custom"
+ self.inference_configuration = inference_configuration
+
+
+class JobInput(_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] Specifies the type of job. Required. Known values are:
+ "literal", "uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and
+ "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"},
}
@@ -6356,7 +7636,7 @@ class JobInput(_serialization.Model):
}
}
- def __init__(self, *, description: Optional[str] = None, **kwargs):
+ def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -6402,8 +7682,8 @@ def __init__(
uri: str,
description: Optional[str] = None,
mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -6456,7 +7736,7 @@ class JobOutput(_serialization.Model):
}
}
- def __init__(self, *, description: Optional[str] = None, **kwargs):
+ def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
@@ -6476,7 +7756,12 @@ class CustomModelJobOutput(AssetJobOutput, JobOutput):
:ivar job_output_type: [Required] Specifies the type of job. Required. Known values are:
"uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and "triton_model".
:vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
@@ -6489,6 +7774,8 @@ class CustomModelJobOutput(AssetJobOutput, JobOutput):
_attribute_map = {
"description": {"key": "description", "type": "str"},
"job_output_type": {"key": "jobOutputType", "type": "str"},
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
@@ -6497,21 +7784,32 @@ def __init__(
self,
*,
description: Optional[str] = None,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
- super().__init__(mode=mode, uri=uri, description=description, **kwargs)
+ super().__init__(
+ asset_name=asset_name, asset_version=asset_version, mode=mode, uri=uri, description=description, **kwargs
+ )
self.description = description
self.job_output_type: str = "custom_model"
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
@@ -6538,7 +7836,7 @@ class CustomNCrossValidations(NCrossValidations):
"value": {"key": "value", "type": "int"},
}
- def __init__(self, *, value: int, **kwargs):
+ def __init__(self, *, value: int, **kwargs: Any) -> None:
"""
:keyword value: [Required] N-Cross validations value. Required.
:paramtype value: int
@@ -6569,7 +7867,7 @@ class CustomSeasonality(Seasonality):
"value": {"key": "value", "type": "int"},
}
- def __init__(self, *, value: int, **kwargs):
+ def __init__(self, *, value: int, **kwargs: Any) -> None:
"""
:keyword value: [Required] Seasonality value. Required.
:paramtype value: int
@@ -6579,6 +7877,77 @@ def __init__(self, *, value: int, **kwargs):
self.value = value
+class CustomService(_serialization.Model):
+ """Specifies the custom service configuration.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar name: Name of the Custom Service.
+ :vartype name: str
+ :ivar image: Describes the Image Specifications.
+ :vartype image: ~azure.mgmt.machinelearningservices.models.Image
+ :ivar environment_variables: Environment Variable for the container.
+ :vartype environment_variables: dict[str,
+ ~azure.mgmt.machinelearningservices.models.EnvironmentVariable]
+ :ivar docker: Describes the docker settings for the image.
+ :vartype docker: ~azure.mgmt.machinelearningservices.models.Docker
+ :ivar endpoints: Configuring the endpoints for the container.
+ :vartype endpoints: list[~azure.mgmt.machinelearningservices.models.Endpoint]
+ :ivar volumes: Configuring the volumes for the container.
+ :vartype volumes: list[~azure.mgmt.machinelearningservices.models.VolumeDefinition]
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "name": {"key": "name", "type": "str"},
+ "image": {"key": "image", "type": "Image"},
+ "environment_variables": {"key": "environmentVariables", "type": "{EnvironmentVariable}"},
+ "docker": {"key": "docker", "type": "Docker"},
+ "endpoints": {"key": "endpoints", "type": "[Endpoint]"},
+ "volumes": {"key": "volumes", "type": "[VolumeDefinition]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ name: Optional[str] = None,
+ image: Optional["_models.Image"] = None,
+ environment_variables: Optional[Dict[str, "_models.EnvironmentVariable"]] = None,
+ docker: Optional["_models.Docker"] = None,
+ endpoints: Optional[List["_models.Endpoint"]] = None,
+ volumes: Optional[List["_models.VolumeDefinition"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword name: Name of the Custom Service.
+ :paramtype name: str
+ :keyword image: Describes the Image Specifications.
+ :paramtype image: ~azure.mgmt.machinelearningservices.models.Image
+ :keyword environment_variables: Environment Variable for the container.
+ :paramtype environment_variables: dict[str,
+ ~azure.mgmt.machinelearningservices.models.EnvironmentVariable]
+ :keyword docker: Describes the docker settings for the image.
+ :paramtype docker: ~azure.mgmt.machinelearningservices.models.Docker
+ :keyword endpoints: Configuring the endpoints for the container.
+ :paramtype endpoints: list[~azure.mgmt.machinelearningservices.models.Endpoint]
+ :keyword volumes: Configuring the volumes for the container.
+ :paramtype volumes: list[~azure.mgmt.machinelearningservices.models.VolumeDefinition]
+ """
+ super().__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.name = name
+ self.image = image
+ self.environment_variables = environment_variables
+ self.docker = docker
+ self.endpoints = endpoints
+ self.volumes = volumes
+
+
class CustomTargetLags(TargetLags):
"""CustomTargetLags.
@@ -6601,7 +7970,7 @@ class CustomTargetLags(TargetLags):
"values": {"key": "values", "type": "[int]"},
}
- def __init__(self, *, values: List[int], **kwargs):
+ def __init__(self, *, values: List[int], **kwargs: Any) -> None:
"""
:keyword values: [Required] Set target lags values. Required.
:paramtype values: list[int]
@@ -6633,7 +8002,7 @@ class CustomTargetRollingWindowSize(TargetRollingWindowSize):
"value": {"key": "value", "type": "int"},
}
- def __init__(self, *, value: int, **kwargs):
+ def __init__(self, *, value: int, **kwargs: Any) -> None:
"""
:keyword value: [Required] TargetRollingWindowSize value. Required.
:paramtype value: int
@@ -6654,7 +8023,7 @@ class DatabricksSchema(_serialization.Model):
"properties": {"key": "properties", "type": "DatabricksProperties"},
}
- def __init__(self, *, properties: Optional["_models.DatabricksProperties"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.DatabricksProperties"] = None, **kwargs: Any) -> None:
"""
:keyword properties: Properties of Databricks.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
@@ -6680,7 +8049,7 @@ class Databricks(Compute, DatabricksSchema): # pylint: disable=too-many-instanc
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -6732,8 +8101,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties: Properties of Databricks.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.DatabricksProperties
@@ -6779,7 +8148,7 @@ class DatabricksComputeSecretsProperties(_serialization.Model):
"databricks_access_token": {"key": "databricksAccessToken", "type": "str"},
}
- def __init__(self, *, databricks_access_token: Optional[str] = None, **kwargs):
+ def __init__(self, *, databricks_access_token: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword databricks_access_token: access token for databricks account.
:paramtype databricks_access_token: str
@@ -6810,7 +8179,7 @@ class DatabricksComputeSecrets(ComputeSecrets, DatabricksComputeSecretsPropertie
"compute_type": {"key": "computeType", "type": "str"},
}
- def __init__(self, *, databricks_access_token: Optional[str] = None, **kwargs):
+ def __init__(self, *, databricks_access_token: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword databricks_access_token: access token for databricks account.
:paramtype databricks_access_token: str
@@ -6834,7 +8203,9 @@ class DatabricksProperties(_serialization.Model):
"workspace_url": {"key": "workspaceUrl", "type": "str"},
}
- def __init__(self, *, databricks_access_token: Optional[str] = None, workspace_url: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, databricks_access_token: Optional[str] = None, workspace_url: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword databricks_access_token: Databricks access token.
:paramtype databricks_access_token: str
@@ -6884,7 +8255,7 @@ class DataContainer(Resource):
"properties": {"key": "properties", "type": "DataContainerProperties"},
}
- def __init__(self, *, properties: "_models.DataContainerProperties", **kwargs):
+ def __init__(self, *, properties: "_models.DataContainerProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.DataContainerProperties
@@ -6941,8 +8312,8 @@ def __init__(
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -6976,8 +8347,8 @@ class DataContainerResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.DataContainer"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.DataContainer"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of DataContainer objects. If null, there are no
additional pages.
@@ -7005,7 +8376,7 @@ class DataFactory(Compute):
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -7055,8 +8426,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword compute_location: Location for the underlying compute.
:paramtype compute_location: str
@@ -7090,7 +8461,9 @@ class DataLakeAnalyticsSchema(_serialization.Model):
"properties": {"key": "properties", "type": "DataLakeAnalyticsSchemaProperties"},
}
- def __init__(self, *, properties: Optional["_models.DataLakeAnalyticsSchemaProperties"] = None, **kwargs):
+ def __init__(
+ self, *, properties: Optional["_models.DataLakeAnalyticsSchemaProperties"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword properties:
:paramtype properties:
@@ -7118,7 +8491,7 @@ class DataLakeAnalytics(Compute, DataLakeAnalyticsSchema): # pylint: disable=to
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -7170,8 +8543,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties:
:paramtype properties:
@@ -7218,7 +8591,7 @@ class DataLakeAnalyticsSchemaProperties(_serialization.Model):
"data_lake_store_account_name": {"key": "dataLakeStoreAccountName", "type": "str"},
}
- def __init__(self, *, data_lake_store_account_name: Optional[str] = None, **kwargs):
+ def __init__(self, *, data_lake_store_account_name: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword data_lake_store_account_name: DataLake Store Account Name.
:paramtype data_lake_store_account_name: str
@@ -7251,7 +8624,7 @@ class DataPathAssetReference(AssetReferenceBase):
"path": {"key": "path", "type": "str"},
}
- def __init__(self, *, datastore_id: Optional[str] = None, path: Optional[str] = None, **kwargs):
+ def __init__(self, *, datastore_id: Optional[str] = None, path: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword datastore_id: ARM resource ID of the datastore where the asset is located.
:paramtype datastore_id: str
@@ -7264,6 +8637,53 @@ def __init__(self, *, datastore_id: Optional[str] = None, path: Optional[str] =
self.path = path
+class DatasetExportSummary(ExportSummary):
+ """DatasetExportSummary.
+
+ 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 end_date_time: The time when the export was completed.
+ :vartype end_date_time: ~datetime.datetime
+ :ivar exported_row_count: The total number of labeled datapoints exported.
+ :vartype exported_row_count: int
+ :ivar format: [Required] The format of exported labels, also as the discriminator. Required.
+ Known values are: "Dataset", "Coco", and "CSV".
+ :vartype format: str or ~azure.mgmt.machinelearningservices.models.ExportFormatType
+ :ivar labeling_job_id: Name and identifier of the job containing exported labels.
+ :vartype labeling_job_id: str
+ :ivar start_date_time: The time when the export was requested.
+ :vartype start_date_time: ~datetime.datetime
+ :ivar labeled_asset_name: The unique name of the labeled data asset.
+ :vartype labeled_asset_name: str
+ """
+
+ _validation = {
+ "end_date_time": {"readonly": True},
+ "exported_row_count": {"readonly": True},
+ "format": {"required": True},
+ "labeling_job_id": {"readonly": True},
+ "start_date_time": {"readonly": True},
+ "labeled_asset_name": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "end_date_time": {"key": "endDateTime", "type": "iso-8601"},
+ "exported_row_count": {"key": "exportedRowCount", "type": "int"},
+ "format": {"key": "format", "type": "str"},
+ "labeling_job_id": {"key": "labelingJobId", "type": "str"},
+ "start_date_time": {"key": "startDateTime", "type": "iso-8601"},
+ "labeled_asset_name": {"key": "labeledAssetName", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.format: str = "Dataset"
+ self.labeled_asset_name = None
+
+
class Datastore(Resource):
"""Azure Resource Manager resource envelope.
@@ -7302,7 +8722,7 @@ class Datastore(Resource):
"properties": {"key": "properties", "type": "DatastoreProperties"},
}
- def __init__(self, *, properties: "_models.DatastoreProperties", **kwargs):
+ def __init__(self, *, properties: "_models.DatastoreProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.DatastoreProperties
@@ -7326,7 +8746,9 @@ class DatastoreResourceArmPaginatedResult(_serialization.Model):
"value": {"key": "value", "type": "[Datastore]"},
}
- def __init__(self, *, next_link: Optional[str] = None, value: Optional[List["_models.Datastore"]] = None, **kwargs):
+ def __init__(
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.Datastore"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of Datastore objects. If null, there are no
additional pages.
@@ -7377,7 +8799,7 @@ class DataVersionBase(Resource):
"properties": {"key": "properties", "type": "DataVersionBaseProperties"},
}
- def __init__(self, *, properties: "_models.DataVersionBaseProperties", **kwargs):
+ def __init__(self, *, properties: "_models.DataVersionBaseProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.DataVersionBaseProperties
@@ -7407,9 +8829,8 @@ class DataVersionBaseProperties(AssetBase):
:ivar data_type: [Required] Specifies the type of data. Required. Known values are: "uri_file",
"uri_folder", and "mltable".
:vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
- :ivar data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :ivar data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:vartype data_uri: str
"""
@@ -7441,8 +8862,8 @@ def __init__(
tags: Optional[Dict[str, str]] = None,
is_anonymous: bool = False,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -7454,9 +8875,8 @@ def __init__(
:paramtype is_anonymous: bool
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
- :keyword data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :keyword data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:paramtype data_uri: str
"""
super().__init__(
@@ -7487,8 +8907,8 @@ class DataVersionBaseResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.DataVersionBase"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.DataVersionBase"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of DataVersionBase objects. If null, there are no
additional pages.
@@ -7526,7 +8946,7 @@ class OnlineScaleSettings(_serialization.Model):
"scale_type": {"Default": "DefaultScaleSettings", "TargetUtilization": "TargetUtilizationScaleSettings"}
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.scale_type: Optional[str] = None
@@ -7550,7 +8970,7 @@ class DefaultScaleSettings(OnlineScaleSettings):
"scale_type": {"key": "scaleType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.scale_type: str = "Default"
@@ -7567,7 +8987,7 @@ class DeploymentLogs(_serialization.Model):
"content": {"key": "content", "type": "str"},
}
- def __init__(self, *, content: Optional[str] = None, **kwargs):
+ def __init__(self, *, content: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword content: The retrieved online deployment logs.
:paramtype content: str
@@ -7580,7 +9000,7 @@ class DeploymentLogsRequest(_serialization.Model):
"""DeploymentLogsRequest.
:ivar container_type: The type of container to retrieve logs from. Known values are:
- "StorageInitializer" and "InferenceServer".
+ "StorageInitializer", "InferenceServer", and "ModelDataCollector".
:vartype container_type: str or ~azure.mgmt.machinelearningservices.models.ContainerType
:ivar tail: The maximum number of lines to tail.
:vartype tail: int
@@ -7596,11 +9016,11 @@ def __init__(
*,
container_type: Optional[Union[str, "_models.ContainerType"]] = None,
tail: Optional[int] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword container_type: The type of container to retrieve logs from. Known values are:
- "StorageInitializer" and "InferenceServer".
+ "StorageInitializer", "InferenceServer", and "ModelDataCollector".
:paramtype container_type: str or ~azure.mgmt.machinelearningservices.models.ContainerType
:keyword tail: The maximum number of lines to tail.
:paramtype tail: int
@@ -7617,6 +9037,8 @@ class ResourceConfiguration(_serialization.Model):
:vartype instance_count: int
:ivar instance_type: Optional type of VM used as supported by the compute target.
:vartype instance_type: str
+ :ivar locations: Locations where the job can run.
+ :vartype locations: list[str]
:ivar properties: Additional properties bag.
:vartype properties: dict[str, JSON]
"""
@@ -7624,6 +9046,7 @@ class ResourceConfiguration(_serialization.Model):
_attribute_map = {
"instance_count": {"key": "instanceCount", "type": "int"},
"instance_type": {"key": "instanceType", "type": "str"},
+ "locations": {"key": "locations", "type": "[str]"},
"properties": {"key": "properties", "type": "{object}"},
}
@@ -7632,20 +9055,24 @@ def __init__(
*,
instance_count: int = 1,
instance_type: Optional[str] = None,
+ locations: Optional[List[str]] = None,
properties: Optional[Dict[str, JSON]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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 locations: Locations where the job can run.
+ :paramtype locations: list[str]
:keyword properties: Additional properties bag.
:paramtype properties: dict[str, JSON]
"""
super().__init__(**kwargs)
self.instance_count = instance_count
self.instance_type = instance_type
+ self.locations = locations
self.properties = properties
@@ -7656,6 +9083,8 @@ class DeploymentResourceConfiguration(ResourceConfiguration):
:vartype instance_count: int
:ivar instance_type: Optional type of VM used as supported by the compute target.
:vartype instance_type: str
+ :ivar locations: Locations where the job can run.
+ :vartype locations: list[str]
:ivar properties: Additional properties bag.
:vartype properties: dict[str, JSON]
"""
@@ -7663,6 +9092,7 @@ class DeploymentResourceConfiguration(ResourceConfiguration):
_attribute_map = {
"instance_count": {"key": "instanceCount", "type": "int"},
"instance_type": {"key": "instanceType", "type": "str"},
+ "locations": {"key": "locations", "type": "[str]"},
"properties": {"key": "properties", "type": "{object}"},
}
@@ -7671,18 +9101,27 @@ def __init__(
*,
instance_count: int = 1,
instance_type: Optional[str] = None,
+ locations: Optional[List[str]] = None,
properties: Optional[Dict[str, JSON]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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 locations: Locations where the job can run.
+ :paramtype locations: list[str]
:keyword properties: Additional properties bag.
:paramtype properties: dict[str, JSON]
"""
- super().__init__(instance_count=instance_count, instance_type=instance_type, properties=properties, **kwargs)
+ super().__init__(
+ instance_count=instance_count,
+ instance_type=instance_type,
+ locations=locations,
+ properties=properties,
+ **kwargs
+ )
class DiagnoseRequestProperties(_serialization.Model):
@@ -7732,8 +9171,8 @@ def __init__(
container_registry: Optional[Dict[str, JSON]] = None,
application_insights: Optional[Dict[str, JSON]] = None,
others: Optional[Dict[str, JSON]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword udr: Setting for diagnosing user defined routing.
:paramtype udr: dict[str, JSON]
@@ -7777,7 +9216,7 @@ class DiagnoseResponseResult(_serialization.Model):
"value": {"key": "value", "type": "DiagnoseResponseResultValue"},
}
- def __init__(self, *, value: Optional["_models.DiagnoseResponseResultValue"] = None, **kwargs):
+ def __init__(self, *, value: Optional["_models.DiagnoseResponseResultValue"] = None, **kwargs: Any) -> None:
"""
:keyword value:
:paramtype value: ~azure.mgmt.machinelearningservices.models.DiagnoseResponseResultValue
@@ -7839,8 +9278,8 @@ def __init__(
container_registry_results: Optional[List["_models.DiagnoseResult"]] = None,
application_insights_results: Optional[List["_models.DiagnoseResult"]] = None,
other_results: Optional[List["_models.DiagnoseResult"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword user_defined_route_results:
:paramtype user_defined_route_results:
@@ -7906,7 +9345,7 @@ class DiagnoseResult(_serialization.Model):
"message": {"key": "message", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.code = None
@@ -7925,7 +9364,7 @@ class DiagnoseWorkspaceParameters(_serialization.Model):
"value": {"key": "value", "type": "DiagnoseRequestProperties"},
}
- def __init__(self, *, value: Optional["_models.DiagnoseRequestProperties"] = None, **kwargs):
+ def __init__(self, *, value: Optional["_models.DiagnoseRequestProperties"] = None, **kwargs: Any) -> None:
"""
:keyword value: Value of Parameters.
:paramtype value: ~azure.mgmt.machinelearningservices.models.DiagnoseRequestProperties
@@ -7957,12 +9396,46 @@ class DistributionConfiguration(_serialization.Model):
_subtype_map = {"distribution_type": {"Mpi": "Mpi", "PyTorch": "PyTorch", "TensorFlow": "TensorFlow"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.distribution_type: Optional[str] = None
+class Docker(_serialization.Model):
+ """Docker.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar privileged: Indicate whether container shall run in privileged or non-privileged mode.
+ :vartype privileged: bool
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "privileged": {"key": "privileged", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ privileged: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword privileged: Indicate whether container shall run in privileged or non-privileged mode.
+ :paramtype privileged: bool
+ """
+ super().__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.privileged = privileged
+
+
class EncryptionKeyVaultProperties(_serialization.Model):
"""EncryptionKeyVaultProperties.
@@ -7990,8 +9463,8 @@ class EncryptionKeyVaultProperties(_serialization.Model):
}
def __init__(
- self, *, key_vault_arm_id: str, key_identifier: str, identity_client_id: Optional[str] = None, **kwargs
- ):
+ self, *, key_vault_arm_id: str, key_identifier: str, identity_client_id: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword key_vault_arm_id: The ArmId of the keyVault where the customer owned encryption key is
present. Required.
@@ -8008,6 +9481,32 @@ def __init__(
self.identity_client_id = identity_client_id
+class EncryptionKeyVaultUpdateProperties(_serialization.Model):
+ """EncryptionKeyVaultUpdateProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar key_identifier: Key Vault uri to access the encryption key. Required.
+ :vartype key_identifier: str
+ """
+
+ _validation = {
+ "key_identifier": {"required": True},
+ }
+
+ _attribute_map = {
+ "key_identifier": {"key": "keyIdentifier", "type": "str"},
+ }
+
+ def __init__(self, *, key_identifier: str, **kwargs: Any) -> None:
+ """
+ :keyword key_identifier: Key Vault uri to access the encryption key. Required.
+ :paramtype key_identifier: str
+ """
+ super().__init__(**kwargs)
+ self.key_identifier = key_identifier
+
+
class EncryptionProperty(_serialization.Model):
"""EncryptionProperty.
@@ -8040,8 +9539,8 @@ def __init__(
status: Union[str, "_models.EncryptionStatus"],
key_vault_properties: "_models.EncryptionKeyVaultProperties",
identity: Optional["_models.IdentityForCmk"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword status: Indicates whether or not the encryption is enabled for the workspace.
Required. Known values are: "Enabled" and "Disabled".
@@ -8059,6 +9558,89 @@ def __init__(
self.key_vault_properties = key_vault_properties
+class EncryptionUpdateProperties(_serialization.Model):
+ """EncryptionUpdateProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar key_vault_properties: Customer Key vault properties. Required.
+ :vartype key_vault_properties:
+ ~azure.mgmt.machinelearningservices.models.EncryptionKeyVaultUpdateProperties
+ """
+
+ _validation = {
+ "key_vault_properties": {"required": True},
+ }
+
+ _attribute_map = {
+ "key_vault_properties": {"key": "keyVaultProperties", "type": "EncryptionKeyVaultUpdateProperties"},
+ }
+
+ def __init__(self, *, key_vault_properties: "_models.EncryptionKeyVaultUpdateProperties", **kwargs: Any) -> None:
+ """
+ :keyword key_vault_properties: Customer Key vault properties. Required.
+ :paramtype key_vault_properties:
+ ~azure.mgmt.machinelearningservices.models.EncryptionKeyVaultUpdateProperties
+ """
+ super().__init__(**kwargs)
+ self.key_vault_properties = key_vault_properties
+
+
+class Endpoint(_serialization.Model):
+ """Endpoint.
+
+ :ivar protocol: Protocol over which communication will happen over this endpoint. Known values
+ are: "tcp", "udp", and "http".
+ :vartype protocol: str or ~azure.mgmt.machinelearningservices.models.Protocol
+ :ivar name: Name of the Endpoint.
+ :vartype name: str
+ :ivar target: Application port inside the container.
+ :vartype target: int
+ :ivar published: Port over which the application is exposed from container.
+ :vartype published: int
+ :ivar host_ip: Host IP over which the application is exposed from the container.
+ :vartype host_ip: str
+ """
+
+ _attribute_map = {
+ "protocol": {"key": "protocol", "type": "str"},
+ "name": {"key": "name", "type": "str"},
+ "target": {"key": "target", "type": "int"},
+ "published": {"key": "published", "type": "int"},
+ "host_ip": {"key": "hostIp", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ protocol: Union[str, "_models.Protocol"] = "tcp",
+ name: Optional[str] = None,
+ target: Optional[int] = None,
+ published: Optional[int] = None,
+ host_ip: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword protocol: Protocol over which communication will happen over this endpoint. Known
+ values are: "tcp", "udp", and "http".
+ :paramtype protocol: str or ~azure.mgmt.machinelearningservices.models.Protocol
+ :keyword name: Name of the Endpoint.
+ :paramtype name: str
+ :keyword target: Application port inside the container.
+ :paramtype target: int
+ :keyword published: Port over which the application is exposed from container.
+ :paramtype published: int
+ :keyword host_ip: Host IP over which the application is exposed from the container.
+ :paramtype host_ip: str
+ """
+ super().__init__(**kwargs)
+ self.protocol = protocol
+ self.name = name
+ self.target = target
+ self.published = published
+ self.host_ip = host_ip
+
+
class EndpointAuthKeys(_serialization.Model):
"""Keys for endpoint authentication.
@@ -8073,7 +9655,9 @@ class EndpointAuthKeys(_serialization.Model):
"secondary_key": {"key": "secondaryKey", "type": "str"},
}
- def __init__(self, *, primary_key: Optional[str] = None, secondary_key: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, primary_key: Optional[str] = None, secondary_key: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword primary_key: The primary key.
:paramtype primary_key: str
@@ -8112,8 +9696,8 @@ def __init__(
expiry_time_utc: int = 0,
refresh_after_time_utc: int = 0,
token_type: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword access_token: Access token for endpoint authentication.
:paramtype access_token: str
@@ -8154,7 +9738,7 @@ class ScheduleActionBase(_serialization.Model):
_subtype_map = {"action_type": {"CreateJob": "JobScheduleAction", "InvokeBatchEndpoint": "EndpointScheduleAction"}}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.action_type: Optional[str] = None
@@ -8187,7 +9771,7 @@ class EndpointScheduleAction(ScheduleActionBase):
"endpoint_invocation_definition": {"key": "endpointInvocationDefinition", "type": "object"},
}
- def __init__(self, *, endpoint_invocation_definition: JSON, **kwargs):
+ def __init__(self, *, endpoint_invocation_definition: JSON, **kwargs: Any) -> None:
"""
:keyword endpoint_invocation_definition: [Required] Defines Schedule action definition details.
@@ -8240,7 +9824,7 @@ class EnvironmentContainer(Resource):
"properties": {"key": "properties", "type": "EnvironmentContainerProperties"},
}
- def __init__(self, *, properties: "_models.EnvironmentContainerProperties", **kwargs):
+ def __init__(self, *, properties: "_models.EnvironmentContainerProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties:
@@ -8267,11 +9851,16 @@ class EnvironmentContainerProperties(AssetContainer):
:vartype latest_version: str
:ivar next_version: The next auto incremental version.
:vartype next_version: str
+ :ivar provisioning_state: Provisioning state for the environment container. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
_validation = {
"latest_version": {"readonly": True},
"next_version": {"readonly": True},
+ "provisioning_state": {"readonly": True},
}
_attribute_map = {
@@ -8281,6 +9870,7 @@ class EnvironmentContainerProperties(AssetContainer):
"is_archived": {"key": "isArchived", "type": "bool"},
"latest_version": {"key": "latestVersion", "type": "str"},
"next_version": {"key": "nextVersion", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -8290,8 +9880,8 @@ def __init__(
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -8303,6 +9893,7 @@ def __init__(
:paramtype is_archived: bool
"""
super().__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.provisioning_state = None
class EnvironmentContainerResourceArmPaginatedResult(_serialization.Model):
@@ -8321,8 +9912,12 @@ class EnvironmentContainerResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.EnvironmentContainer"]] = None, **kwargs
- ):
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.EnvironmentContainer"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of EnvironmentContainer objects. If null, there
are no additional pages.
@@ -8335,6 +9930,49 @@ def __init__(
self.value = value
+class EnvironmentVariable(_serialization.Model):
+ """EnvironmentVariable.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar type: Type of the Environment Variable. Possible values are: local - For local variable.
+ "local"
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.EnvironmentVariableType
+ :ivar value: Value of the Environment variable.
+ :vartype value: str
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "type": {"key": "type", "type": "str"},
+ "value": {"key": "value", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ type: Union[str, "_models.EnvironmentVariableType"] = "local",
+ value: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword type: Type of the Environment Variable. Possible values are: local - For local
+ variable. "local"
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.EnvironmentVariableType
+ :keyword value: Value of the Environment variable.
+ :paramtype value: str
+ """
+ super().__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.type = type
+ self.value = value
+
+
class EnvironmentVersion(Resource):
"""Azure Resource Manager resource envelope.
@@ -8373,7 +10011,7 @@ class EnvironmentVersion(Resource):
"properties": {"key": "properties", "type": "EnvironmentVersionProperties"},
}
- def __init__(self, *, properties: "_models.EnvironmentVersionProperties", **kwargs):
+ def __init__(self, *, properties: "_models.EnvironmentVersionProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.EnvironmentVersionProperties
@@ -8436,10 +10074,15 @@ class EnvironmentVersionProperties(AssetBase): # pylint: disable=too-many-insta
~azure.mgmt.machinelearningservices.models.InferenceContainerProperties
:ivar os_type: The OS type of the environment. Known values are: "Linux" and "Windows".
:vartype os_type: str or ~azure.mgmt.machinelearningservices.models.OperatingSystemType
+ :ivar provisioning_state: Provisioning state for the environment version. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
_validation = {
"environment_type": {"readonly": True},
+ "provisioning_state": {"readonly": True},
}
_attribute_map = {
@@ -8455,6 +10098,7 @@ class EnvironmentVersionProperties(AssetBase): # pylint: disable=too-many-insta
"image": {"key": "image", "type": "str"},
"inference_config": {"key": "inferenceConfig", "type": "InferenceContainerProperties"},
"os_type": {"key": "osType", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -8471,8 +10115,8 @@ def __init__(
image: Optional[str] = None,
inference_config: Optional["_models.InferenceContainerProperties"] = None,
os_type: Optional[Union[str, "_models.OperatingSystemType"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -8529,6 +10173,7 @@ def __init__(
self.image = image
self.inference_config = inference_config
self.os_type = os_type
+ self.provisioning_state = None
class EnvironmentVersionResourceArmPaginatedResult(_serialization.Model):
@@ -8547,8 +10192,12 @@ class EnvironmentVersionResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.EnvironmentVersion"]] = None, **kwargs
- ):
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.EnvironmentVersion"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of EnvironmentVersion objects. If null, there are
no additional pages.
@@ -8582,7 +10231,7 @@ class ErrorAdditionalInfo(_serialization.Model):
"info": {"key": "info", "type": "object"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.type = None
@@ -8622,7 +10271,7 @@ class ErrorDetail(_serialization.Model):
"additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.code = None
@@ -8633,7 +10282,8 @@ def __init__(self, **kwargs):
class ErrorResponse(_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.).
+ """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
@@ -8643,7 +10293,7 @@ class ErrorResponse(_serialization.Model):
"error": {"key": "error", "type": "ErrorDetail"},
}
- def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs):
+ def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None:
"""
:keyword error: The error object.
:paramtype error: ~azure.mgmt.machinelearningservices.models.ErrorDetail
@@ -8685,8 +10335,8 @@ def __init__(
retail_price: float,
os_type: Union[str, "_models.VMPriceOSType"],
vm_tier: Union[str, "_models.VMTier"],
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword retail_price: The price charged for using the VM. Required.
:paramtype retail_price: float
@@ -8737,8 +10387,8 @@ def __init__(
billing_currency: Union[str, "_models.BillingCurrency"],
unit_of_measure: Union[str, "_models.UnitOfMeasure"],
values: List["_models.EstimatedVMPrice"],
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword billing_currency: Three lettered code specifying the currency of the VM price.
Example: USD. Required. "USD"
@@ -8767,7 +10417,7 @@ class ExternalFQDNResponse(_serialization.Model):
"value": {"key": "value", "type": "[FQDNEndpoints]"},
}
- def __init__(self, *, value: Optional[List["_models.FQDNEndpoints"]] = None, **kwargs):
+ def __init__(self, *, value: Optional[List["_models.FQDNEndpoints"]] = None, **kwargs: Any) -> None:
"""
:keyword value:
:paramtype value: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoints]
@@ -8776,1369 +10426,1103 @@ def __init__(self, *, value: Optional[List["_models.FQDNEndpoints"]] = None, **k
self.value = value
-class FeaturizationSettings(_serialization.Model):
- """Featurization Configuration.
+class Feature(_serialization.Model):
+ """Dto object representing feature.
- :ivar dataset_language: Dataset language, useful for the text data.
- :vartype dataset_language: str
+ :ivar data_type: Specifies type. Known values are: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", and "Boolean".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.FeatureDataType
+ :ivar description: Specifies description.
+ :vartype description: str
+ :ivar feature_name: Specifies name.
+ :vartype feature_name: str
+ :ivar tags: Specifies tags.
+ :vartype tags: dict[str, str]
"""
_attribute_map = {
- "dataset_language": {"key": "datasetLanguage", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "feature_name": {"key": "featureName", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
}
- def __init__(self, *, dataset_language: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ data_type: Optional[Union[str, "_models.FeatureDataType"]] = None,
+ description: Optional[str] = None,
+ feature_name: Optional[str] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword dataset_language: Dataset language, useful for the text data.
- :paramtype dataset_language: str
+ :keyword data_type: Specifies type. Known values are: "String", "Integer", "Long", "Float",
+ "Double", "Binary", "Datetime", and "Boolean".
+ :paramtype data_type: str or ~azure.mgmt.machinelearningservices.models.FeatureDataType
+ :keyword description: Specifies description.
+ :paramtype description: str
+ :keyword feature_name: Specifies name.
+ :paramtype feature_name: str
+ :keyword tags: Specifies tags.
+ :paramtype tags: dict[str, str]
"""
super().__init__(**kwargs)
- self.dataset_language = dataset_language
+ self.data_type = data_type
+ self.description = description
+ self.feature_name = feature_name
+ self.tags = tags
-class FlavorData(_serialization.Model):
- """FlavorData.
+class FeatureArmPaginatedResult(_serialization.Model):
+ """A paginated list of Feature entities.
- :ivar data: Model flavor-specific data.
- :vartype data: dict[str, str]
+ :ivar next_link: The link to the next page of Feature objects. If null, there are no additional
+ pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type Feature.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Feature]
"""
_attribute_map = {
- "data": {"key": "data", "type": "{str}"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Feature]"},
}
- def __init__(self, *, data: Optional[Dict[str, str]] = None, **kwargs):
+ def __init__(
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.Feature"]] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword data: Model flavor-specific data.
- :paramtype data: dict[str, str]
+ :keyword next_link: The link to the next page of Feature objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type Feature.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Feature]
"""
super().__init__(**kwargs)
- self.data = data
+ self.next_link = next_link
+ self.value = value
-class Forecasting(TableVertical, AutoMLVertical): # pylint: disable=too-many-instance-attributes
- """Forecasting task in AutoML Table vertical.
+class FeaturesetContainer(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 log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :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 forecasting_settings: Forecasting task specific inputs.
- :vartype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
- :ivar primary_metric: Primary metric for forecasting task. Known values are:
- "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score", and
- "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
+ :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] Additional attributes of the entity. Required.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.FeaturesetContainerProperties
"""
_validation = {
- "task_type": {"required": True},
- "training_data": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "properties": {"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"},
- "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"},
- "forecasting_settings": {"key": "forecastingSettings", "type": "ForecastingSettings"},
- "primary_metric": {"key": "primaryMetric", "type": "str"},
- "training_settings": {"key": "trainingSettings", "type": "ForecastingTrainingSettings"},
+ "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": "FeaturesetContainerProperties"},
}
- def __init__(
- self,
- *,
- training_data: "_models.MLTableJobInput",
- log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
- target_column_name: Optional[str] = None,
- cv_split_column_names: Optional[List[str]] = None,
- featurization_settings: Optional["_models.TableVerticalFeaturizationSettings"] = None,
- limit_settings: Optional["_models.TableVerticalLimitSettings"] = None,
- n_cross_validations: Optional["_models.NCrossValidations"] = None,
- test_data: Optional["_models.MLTableJobInput"] = None,
- test_data_size: Optional[float] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- weight_column_name: Optional[str] = None,
- forecasting_settings: Optional["_models.ForecastingSettings"] = None,
- primary_metric: Optional[Union[str, "_models.ForecastingPrimaryMetrics"]] = None,
- training_settings: Optional["_models.ForecastingTrainingSettings"] = None,
- **kwargs
- ):
+ def __init__(self, *, properties: "_models.FeaturesetContainerProperties", **kwargs: Any) -> None:
"""
- :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Training data input. Required.
- :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :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 forecasting_settings: Forecasting task specific inputs.
- :paramtype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
- :keyword primary_metric: Primary metric for forecasting task. Known values are:
- "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score", and
- "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
+ :keyword properties: [Required] Additional attributes of the entity. Required.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.FeaturesetContainerProperties
"""
- super().__init__(
- 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,
- log_verbosity=log_verbosity,
- target_column_name=target_column_name,
- training_data=training_data,
- **kwargs
- )
- self.log_verbosity = log_verbosity
- self.target_column_name = target_column_name
- self.task_type: str = "Forecasting"
- self.training_data = training_data
- self.forecasting_settings = forecasting_settings
- self.primary_metric = primary_metric
- self.training_settings = training_settings
- 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
+ super().__init__(**kwargs)
+ self.properties = properties
-class ForecastingSettings(_serialization.Model): # pylint: disable=too-many-instance-attributes
- """Forecasting specific parameters.
+class FeaturesetContainerProperties(AssetContainer):
+ """Dto object representing feature set.
- :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.
- Known values are: "None" and "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. Known values are: "None", "Auto", "Pad", and "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".
- Known values are: "None", "Sum", "Max", "Min", and "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. Known values are:
- "None", "Season", and "SeasonTrend".
- :vartype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ 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: 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 provisioning_state: Provisioning state for the featureset container. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
- _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"},
+ _validation = {
+ "latest_version": {"readonly": True},
+ "next_version": {"readonly": True},
+ "provisioning_state": {"readonly": True},
}
- def __init__(
- self,
- *,
- country_or_region_for_holidays: Optional[str] = None,
- cv_step_size: Optional[int] = None,
- feature_lags: Optional[Union[str, "_models.FeatureLags"]] = None,
- forecast_horizon: Optional["_models.ForecastHorizon"] = None,
- frequency: Optional[str] = None,
- seasonality: Optional["_models.Seasonality"] = None,
- short_series_handling_config: Optional[Union[str, "_models.ShortSeriesHandlingConfiguration"]] = None,
- target_aggregate_function: Optional[Union[str, "_models.TargetAggregationFunction"]] = None,
- target_lags: Optional["_models.TargetLags"] = None,
- target_rolling_window_size: Optional["_models.TargetRollingWindowSize"] = None,
- time_column_name: Optional[str] = None,
- time_series_id_column_names: Optional[List[str]] = None,
- use_stl: Optional[Union[str, "_models.UseStl"]] = None,
- **kwargs
- ):
+ _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"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: bool = False,
+ **kwargs: Any
+ ) -> None:
"""
- :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.
- Known values are: "None" and "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. Known values are: "None", "Auto", "Pad", and "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".
- Known values are: "None", "Sum", "Max", "Min", and "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. Known values
- are: "None", "Season", and "SeasonTrend".
- :paramtype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword 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().__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
+ super().__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.provisioning_state = None
-class ForecastingTrainingSettings(TrainingSettings):
- """Forecasting Training related configuration.
+class FeaturesetContainerResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of FeaturesetContainer entities.
- :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]
+ :ivar next_link: The link to the next page of FeaturesetContainer objects. If null, there are
+ no additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type FeaturesetContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
"""
_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]"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[FeaturesetContainer]"},
}
def __init__(
self,
*,
- enable_dnn_training: bool = False,
- enable_model_explainability: bool = True,
- enable_onnx_compatible_models: bool = False,
- enable_stack_ensemble: bool = True,
- enable_vote_ensemble: bool = True,
- ensemble_model_download_timeout: datetime.timedelta = "PT5M",
- stack_ensemble_settings: Optional["_models.StackEnsembleSettings"] = None,
- allowed_training_algorithms: Optional[List[Union[str, "_models.ForecastingModels"]]] = None,
- blocked_training_algorithms: Optional[List[Union[str, "_models.ForecastingModels"]]] = None,
- **kwargs
- ):
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.FeaturesetContainer"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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]
+ :keyword next_link: The link to the next page of FeaturesetContainer objects. If null, there
+ are no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type FeaturesetContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
"""
- super().__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
+ super().__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
-class FQDNEndpoint(_serialization.Model):
- """FQDNEndpoint.
+class FeaturesetJob(_serialization.Model):
+ """Dto object representing the feature set job.
- :ivar domain_name:
- :vartype domain_name: str
- :ivar endpoint_details:
- :vartype endpoint_details: list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
+ :ivar created_date: Specifies the created date.
+ :vartype created_date: ~datetime.datetime
+ :ivar display_name: Specifies the display name.
+ :vartype display_name: str
+ :ivar duration: Specifies the duration.
+ :vartype duration: ~datetime.timedelta
+ :ivar experiment_id: Specifies the experiment id.
+ :vartype experiment_id: str
+ :ivar feature_window: Specifies the backfill feature window to be materialized.
+ :vartype feature_window: ~azure.mgmt.machinelearningservices.models.FeatureWindow
+ :ivar job_id: Specifies the job id.
+ :vartype job_id: str
+ :ivar status: Specifies the job status. Known values are: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar tags: Specifies the tags if any.
+ :vartype tags: dict[str, str]
+ :ivar type: Specifies the feature store job type. Known values are: "RecurrentMaterialization"
+ and "BackfillMaterialization".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.FeaturestoreJobType
"""
_attribute_map = {
- "domain_name": {"key": "domainName", "type": "str"},
- "endpoint_details": {"key": "endpointDetails", "type": "[FQDNEndpointDetail]"},
+ "created_date": {"key": "createdDate", "type": "iso-8601"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "duration": {"key": "duration", "type": "duration"},
+ "experiment_id": {"key": "experimentId", "type": "str"},
+ "feature_window": {"key": "featureWindow", "type": "FeatureWindow"},
+ "job_id": {"key": "jobId", "type": "str"},
+ "status": {"key": "status", "type": "str"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "type": {"key": "type", "type": "str"},
}
def __init__(
self,
*,
- domain_name: Optional[str] = None,
- endpoint_details: Optional[List["_models.FQDNEndpointDetail"]] = None,
- **kwargs
- ):
+ created_date: Optional[datetime.datetime] = None,
+ display_name: Optional[str] = None,
+ duration: Optional[datetime.timedelta] = None,
+ experiment_id: Optional[str] = None,
+ feature_window: Optional["_models.FeatureWindow"] = None,
+ job_id: Optional[str] = None,
+ status: Optional[Union[str, "_models.JobStatus"]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ type: Optional[Union[str, "_models.FeaturestoreJobType"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword domain_name:
- :paramtype domain_name: str
- :keyword endpoint_details:
- :paramtype endpoint_details:
- list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
+ :keyword created_date: Specifies the created date.
+ :paramtype created_date: ~datetime.datetime
+ :keyword display_name: Specifies the display name.
+ :paramtype display_name: str
+ :keyword duration: Specifies the duration.
+ :paramtype duration: ~datetime.timedelta
+ :keyword experiment_id: Specifies the experiment id.
+ :paramtype experiment_id: str
+ :keyword feature_window: Specifies the backfill feature window to be materialized.
+ :paramtype feature_window: ~azure.mgmt.machinelearningservices.models.FeatureWindow
+ :keyword job_id: Specifies the job id.
+ :paramtype job_id: str
+ :keyword status: Specifies the job status. Known values are: "NotStarted", "Starting",
+ "Provisioning", "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed",
+ "Failed", "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
+ :paramtype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :keyword tags: Specifies the tags if any.
+ :paramtype tags: dict[str, str]
+ :keyword type: Specifies the feature store job type. Known values are:
+ "RecurrentMaterialization" and "BackfillMaterialization".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.FeaturestoreJobType
"""
super().__init__(**kwargs)
- self.domain_name = domain_name
- self.endpoint_details = endpoint_details
+ self.created_date = created_date
+ self.display_name = display_name
+ self.duration = duration
+ self.experiment_id = experiment_id
+ self.feature_window = feature_window
+ self.job_id = job_id
+ self.status = status
+ self.tags = tags
+ self.type = type
-class FQDNEndpointDetail(_serialization.Model):
- """FQDNEndpointDetail.
+class FeaturesetJobArmPaginatedResult(_serialization.Model):
+ """A paginated list of FeaturesetJob entities.
- :ivar port:
- :vartype port: int
+ :ivar next_link: The link to the next page of FeaturesetJob objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type FeaturesetJob.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FeaturesetJob]
"""
_attribute_map = {
- "port": {"key": "port", "type": "int"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[FeaturesetJob]"},
}
- def __init__(self, *, port: Optional[int] = None, **kwargs):
+ def __init__(
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.FeaturesetJob"]] = None, **kwargs: Any
+ ) -> None:
"""
- :keyword port:
- :paramtype port: int
+ :keyword next_link: The link to the next page of FeaturesetJob objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type FeaturesetJob.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FeaturesetJob]
"""
super().__init__(**kwargs)
- self.port = port
+ self.next_link = next_link
+ self.value = value
-class FQDNEndpoints(_serialization.Model):
- """FQDNEndpoints.
+class FeaturesetSpecification(_serialization.Model):
+ """Dto object representing specification.
- :ivar properties:
- :vartype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
+ :ivar path: Specifies the spec path.
+ :vartype path: str
"""
_attribute_map = {
- "properties": {"key": "properties", "type": "FQDNEndpointsProperties"},
+ "path": {"key": "path", "type": "str"},
}
- def __init__(self, *, properties: Optional["_models.FQDNEndpointsProperties"] = None, **kwargs):
+ def __init__(self, *, path: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword properties:
- :paramtype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
+ :keyword path: Specifies the spec path.
+ :paramtype path: str
"""
super().__init__(**kwargs)
- self.properties = properties
+ self.path = path
-class FQDNEndpointsProperties(_serialization.Model):
- """FQDNEndpointsProperties.
+class FeaturesetVersion(Resource):
+ """Azure Resource Manager resource envelope.
- :ivar category:
- :vartype category: str
- :ivar endpoints:
- :vartype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ 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] Additional attributes of the entity. Required.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.FeaturesetVersionProperties
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "properties": {"required": True},
+ }
+
_attribute_map = {
- "category": {"key": "category", "type": "str"},
- "endpoints": {"key": "endpoints", "type": "[FQDNEndpoint]"},
+ "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": "FeaturesetVersionProperties"},
}
- def __init__(
- self, *, category: Optional[str] = None, endpoints: Optional[List["_models.FQDNEndpoint"]] = None, **kwargs
- ):
+ def __init__(self, *, properties: "_models.FeaturesetVersionProperties", **kwargs: Any) -> None:
"""
- :keyword category:
- :paramtype category: str
- :keyword endpoints:
- :paramtype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ :keyword properties: [Required] Additional attributes of the entity. Required.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.FeaturesetVersionProperties
"""
super().__init__(**kwargs)
- self.category = category
- self.endpoints = endpoints
-
+ self.properties = properties
-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.
+class FeaturesetVersionBackfillRequest(_serialization.Model):
+ """Request payload for creating a backfill request for a given feature set version.
- :ivar sampling_algorithm_type: [Required] The algorithm used for generating hyperparameter
- values, along with configuration properties. Required. Known values are: "Grid", "Random", and
- "Bayesian".
- :vartype sampling_algorithm_type: str or
- ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :ivar description: Specifies description.
+ :vartype description: str
+ :ivar display_name: Specifies description.
+ :vartype display_name: str
+ :ivar feature_window: Specifies the backfill feature window to be materialized.
+ :vartype feature_window: ~azure.mgmt.machinelearningservices.models.FeatureWindow
+ :ivar resource: Specifies the compute resource settings.
+ :vartype resource: ~azure.mgmt.machinelearningservices.models.MaterializationComputeResource
+ :ivar spark_configuration: Specifies the spark compute settings.
+ :vartype spark_configuration: dict[str, str]
+ :ivar tags: Specifies the tags.
+ :vartype tags: dict[str, str]
"""
- _validation = {
- "sampling_algorithm_type": {"required": True},
- }
-
_attribute_map = {
- "sampling_algorithm_type": {"key": "samplingAlgorithmType", "type": "str"},
+ "description": {"key": "description", "type": "str"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "feature_window": {"key": "featureWindow", "type": "FeatureWindow"},
+ "resource": {"key": "resource", "type": "MaterializationComputeResource"},
+ "spark_configuration": {"key": "sparkConfiguration", "type": "{str}"},
+ "tags": {"key": "tags", "type": "{str}"},
}
- def __init__(self, **kwargs):
- """ """
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ display_name: Optional[str] = None,
+ feature_window: Optional["_models.FeatureWindow"] = None,
+ resource: Optional["_models.MaterializationComputeResource"] = None,
+ spark_configuration: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword description: Specifies description.
+ :paramtype description: str
+ :keyword display_name: Specifies description.
+ :paramtype display_name: str
+ :keyword feature_window: Specifies the backfill feature window to be materialized.
+ :paramtype feature_window: ~azure.mgmt.machinelearningservices.models.FeatureWindow
+ :keyword resource: Specifies the compute resource settings.
+ :paramtype resource: ~azure.mgmt.machinelearningservices.models.MaterializationComputeResource
+ :keyword spark_configuration: Specifies the spark compute settings.
+ :paramtype spark_configuration: dict[str, str]
+ :keyword tags: Specifies the tags.
+ :paramtype tags: dict[str, str]
+ """
super().__init__(**kwargs)
- self.sampling_algorithm_type: str = "Grid"
+ self.description = description
+ self.display_name = display_name
+ self.feature_window = feature_window
+ self.resource = resource
+ self.spark_configuration = spark_configuration
+ self.tags = tags
-class HDInsightSchema(_serialization.Model):
- """HDInsightSchema.
+class FeaturesetVersionBackfillResponse(_serialization.Model):
+ """Response payload for creating a backfill request for a given feature set version.
- :ivar properties: HDInsight compute properties.
- :vartype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :ivar job_id: Job id created as part of request.
+ :vartype job_id: str
"""
_attribute_map = {
- "properties": {"key": "properties", "type": "HDInsightProperties"},
+ "job_id": {"key": "jobId", "type": "str"},
}
- def __init__(self, *, properties: Optional["_models.HDInsightProperties"] = None, **kwargs):
+ def __init__(self, *, job_id: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword properties: HDInsight compute properties.
- :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :keyword job_id: Job id created as part of request.
+ :paramtype job_id: str
"""
super().__init__(**kwargs)
- self.properties = properties
+ self.job_id = job_id
-class HDInsight(Compute, HDInsightSchema): # pylint: disable=too-many-instance-attributes
- """A HDInsight compute.
+class FeaturesetVersionProperties(AssetBase):
+ """Dto object representing feature set version.
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: The type of compute. Required. Known values are: "AKS", "Kubernetes",
- "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine", "HDInsight", "Databricks",
- "DataLakeAnalytics", and "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. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
- :vartype provisioning_state: str or
- ~azure.mgmt.machinelearningservices.models.ProvisioningState
- :ivar description: The description of the Machine Learning compute.
+ :ivar description: The asset description text.
: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: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar 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 entities: Specifies list of entities.
+ :vartype entities: list[str]
+ :ivar materialization_settings: Specifies the materialization settings.
+ :vartype materialization_settings:
+ ~azure.mgmt.machinelearningservices.models.MaterializationSettings
+ :ivar provisioning_state: Provisioning state for the featureset version container. Known values
+ are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
+ :ivar specification: Specifies the feature spec details.
+ :vartype specification: ~azure.mgmt.machinelearningservices.models.FeaturesetSpecification
+ :ivar stage: Specifies the asset stage.
+ :vartype stage: str
"""
_validation = {
- "compute_type": {"required": True},
"provisioning_state": {"readonly": True},
- "created_on": {"readonly": True},
- "modified_on": {"readonly": True},
- "provisioning_errors": {"readonly": True},
- "is_attached_compute": {"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"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "is_anonymous": {"key": "isAnonymous", "type": "bool"},
+ "is_archived": {"key": "isArchived", "type": "bool"},
+ "entities": {"key": "entities", "type": "[str]"},
+ "materialization_settings": {"key": "materializationSettings", "type": "MaterializationSettings"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
+ "specification": {"key": "specification", "type": "FeaturesetSpecification"},
+ "stage": {"key": "stage", "type": "str"},
}
def __init__(
self,
*,
- properties: Optional["_models.HDInsightProperties"] = None,
- compute_location: Optional[str] = None,
description: Optional[str] = None,
- resource_id: Optional[str] = None,
- disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: bool = False,
+ is_archived: bool = False,
+ entities: Optional[List[str]] = None,
+ materialization_settings: Optional["_models.MaterializationSettings"] = None,
+ specification: Optional["_models.FeaturesetSpecification"] = None,
+ stage: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword properties: HDInsight compute properties.
- :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
- :keyword compute_location: Location for the underlying compute.
- :paramtype compute_location: str
- :keyword description: The description of the Machine Learning compute.
+ :keyword description: The asset description text.
:paramtype description: str
- :keyword resource_id: ARM resource id of the underlying compute.
- :paramtype resource_id: str
- :keyword disable_local_auth: Opt-out of local authentication and ensure customers can use only
- MSI and AAD exclusively for authentication.
- :paramtype disable_local_auth: bool
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword 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 entities: Specifies list of entities.
+ :paramtype entities: list[str]
+ :keyword materialization_settings: Specifies the materialization settings.
+ :paramtype materialization_settings:
+ ~azure.mgmt.machinelearningservices.models.MaterializationSettings
+ :keyword specification: Specifies the feature spec details.
+ :paramtype specification: ~azure.mgmt.machinelearningservices.models.FeaturesetSpecification
+ :keyword stage: Specifies the asset stage.
+ :paramtype stage: str
"""
super().__init__(
- compute_location=compute_location,
description=description,
- resource_id=resource_id,
- disable_local_auth=disable_local_auth,
properties=properties,
+ tags=tags,
+ is_anonymous=is_anonymous,
+ is_archived=is_archived,
**kwargs
)
- self.properties = properties
- self.compute_type: str = "HDInsight"
- self.compute_location = compute_location
+ self.entities = entities
+ self.materialization_settings = materialization_settings
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 = disable_local_auth
+ self.specification = specification
+ self.stage = stage
-class HDInsightProperties(_serialization.Model):
- """HDInsight compute properties.
+class FeaturesetVersionResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of FeaturesetVersion entities.
- :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
+ :ivar next_link: The link to the next page of FeaturesetVersion objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type FeaturesetVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
"""
_attribute_map = {
- "ssh_port": {"key": "sshPort", "type": "int"},
- "address": {"key": "address", "type": "str"},
- "administrator_account": {"key": "administratorAccount", "type": "VirtualMachineSshCredentials"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[FeaturesetVersion]"},
}
def __init__(
self,
*,
- ssh_port: Optional[int] = None,
- address: Optional[str] = None,
- administrator_account: Optional["_models.VirtualMachineSshCredentials"] = None,
- **kwargs
- ):
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.FeaturesetVersion"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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
+ :keyword next_link: The link to the next page of FeaturesetVersion objects. If null, there are
+ no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type FeaturesetVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
"""
super().__init__(**kwargs)
- self.ssh_port = ssh_port
- self.address = address
- self.administrator_account = administrator_account
+ self.next_link = next_link
+ self.value = value
-class IdAssetReference(AssetReferenceBase):
- """Reference to an asset via its ARM resource ID.
+class FeaturestoreEntityContainer(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 reference_type: [Required] Specifies the type of asset reference. Required. Known values
- are: "Id", "DataPath", and "OutputPath".
- :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
- :ivar asset_id: [Required] ARM resource ID of the asset. Required.
- :vartype asset_id: str
+ :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] Additional attributes of the entity. Required.
+ :vartype properties:
+ ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainerProperties
"""
_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"},
+ "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": "FeaturestoreEntityContainerProperties"},
}
- def __init__(self, *, asset_id: str, **kwargs):
+ def __init__(self, *, properties: "_models.FeaturestoreEntityContainerProperties", **kwargs: Any) -> None:
"""
- :keyword asset_id: [Required] ARM resource ID of the asset. Required.
- :paramtype asset_id: str
+ :keyword properties: [Required] Additional attributes of the entity. Required.
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainerProperties
"""
super().__init__(**kwargs)
- self.reference_type: str = "Id"
- self.asset_id = asset_id
+ self.properties = properties
-class IdentityForCmk(_serialization.Model):
- """Identity that will be used to access key vault for encryption at rest.
+class FeaturestoreEntityContainerProperties(AssetContainer):
+ """Dto object representing feature entity.
- :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
+ 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: 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 provisioning_state: Provisioning state for the featurestore entity container. Known
+ values are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
+ _validation = {
+ "latest_version": {"readonly": True},
+ "next_version": {"readonly": True},
+ "provisioning_state": {"readonly": True},
+ }
+
_attribute_map = {
- "user_assigned_identity": {"key": "userAssignedIdentity", "type": "str"},
+ "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"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
- def __init__(self, *, user_assigned_identity: Optional[str] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_archived: bool = False,
+ **kwargs: Any
+ ) -> None:
"""
- :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
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword 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().__init__(**kwargs)
- self.user_assigned_identity = user_assigned_identity
-
+ super().__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.provisioning_state = None
-class ImageVertical(_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.
+class FeaturestoreEntityContainerResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of FeaturestoreEntityContainer entities.
- :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 next_link: The link to the next page of FeaturestoreEntityContainer objects. If null,
+ there are no additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type FeaturestoreEntityContainer.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
"""
- _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"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[FeaturestoreEntityContainer]"},
}
def __init__(
self,
*,
- limit_settings: "_models.ImageLimitSettings",
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- **kwargs
- ):
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.FeaturestoreEntityContainer"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 next_link: The link to the next page of FeaturestoreEntityContainer objects. If null,
+ there are no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type FeaturestoreEntityContainer.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
"""
super().__init__(**kwargs)
- self.limit_settings = limit_settings
- self.sweep_settings = sweep_settings
- self.validation_data = validation_data
- self.validation_data_size = validation_data_size
+ self.next_link = next_link
+ self.value = value
-class ImageClassificationBase(ImageVertical):
- """ImageClassificationBase.
+class FeaturestoreEntityVersion(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 limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 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] Additional attributes of the entity. Required.
+ :vartype properties:
+ ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersionProperties
"""
_validation = {
- "limit_settings": {"required": True},
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "properties": {"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]"},
+ "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": "FeaturestoreEntityVersionProperties"},
}
- def __init__(
- self,
- *,
- limit_settings: "_models.ImageLimitSettings",
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- model_settings: Optional["_models.ImageModelSettingsClassification"] = None,
- search_space: Optional[List["_models.ImageModelDistributionSettingsClassification"]] = None,
- **kwargs
- ):
+ def __init__(self, *, properties: "_models.FeaturestoreEntityVersionProperties", **kwargs: Any) -> None:
"""
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 properties: [Required] Additional attributes of the entity. Required.
+ :paramtype properties:
+ ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersionProperties
"""
- super().__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
+ super().__init__(**kwargs)
+ self.properties = properties
-class ImageClassification(ImageClassificationBase, AutoMLVertical): # pylint: disable=too-many-instance-attributes
- """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'.
+class FeaturestoreEntityVersionProperties(AssetBase):
+ """Dto object representing feature entity version.
- All required parameters must be populated in order to send to Azure.
+ Variables are only populated by the server, and will be ignored when sending a request.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. Known values are:
- "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
- "PrecisionScoreWeighted".
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar 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 index_columns: Specifies index columns.
+ :vartype index_columns: list[~azure.mgmt.machinelearningservices.models.IndexColumn]
+ :ivar provisioning_state: Provisioning state for the featurestore entity version. Known values
+ are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
_validation = {
- "task_type": {"required": True},
- "training_data": {"required": True},
- "limit_settings": {"required": True},
+ "provisioning_state": {"readonly": 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"},
- "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]"},
- "primary_metric": {"key": "primaryMetric", "type": "str"},
+ "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"},
+ "index_columns": {"key": "indexColumns", "type": "[IndexColumn]"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
self,
*,
- training_data: "_models.MLTableJobInput",
- limit_settings: "_models.ImageLimitSettings",
- log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
- target_column_name: Optional[str] = None,
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- model_settings: Optional["_models.ImageModelSettingsClassification"] = None,
- search_space: Optional[List["_models.ImageModelDistributionSettingsClassification"]] = None,
- primary_metric: Optional[Union[str, "_models.ClassificationPrimaryMetrics"]] = None,
- **kwargs
- ):
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ is_anonymous: bool = False,
+ is_archived: bool = False,
+ index_columns: Optional[List["_models.IndexColumn"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Training data input. Required.
- :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. Known values are:
- "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
- "PrecisionScoreWeighted".
- :paramtype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword 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 index_columns: Specifies index columns.
+ :paramtype index_columns: list[~azure.mgmt.machinelearningservices.models.IndexColumn]
"""
super().__init__(
- 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,
- log_verbosity=log_verbosity,
- target_column_name=target_column_name,
- training_data=training_data,
+ description=description,
+ properties=properties,
+ tags=tags,
+ is_anonymous=is_anonymous,
+ is_archived=is_archived,
**kwargs
)
- self.log_verbosity = log_verbosity
- self.target_column_name = target_column_name
- self.task_type: str = "ImageClassification"
- self.training_data = training_data
- self.primary_metric = primary_metric
- 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.index_columns = index_columns
+ self.provisioning_state = None
-class ImageClassificationMultilabel(
- ImageClassificationBase, AutoMLVertical
-): # pylint: disable=too-many-instance-attributes
- """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.
+class FeaturestoreEntityVersionResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of FeaturestoreEntityVersion entities.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. Known values are:
- "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
- "PrecisionScoreWeighted", and "IOU".
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ :ivar next_link: The link to the next page of FeaturestoreEntityVersion objects. If null, there
+ are no additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type FeaturestoreEntityVersion.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
"""
- _validation = {
- "task_type": {"required": True},
- "training_data": {"required": True},
- "limit_settings": {"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"},
- "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]"},
- "primary_metric": {"key": "primaryMetric", "type": "str"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[FeaturestoreEntityVersion]"},
}
def __init__(
self,
*,
- training_data: "_models.MLTableJobInput",
- limit_settings: "_models.ImageLimitSettings",
- log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
- target_column_name: Optional[str] = None,
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- model_settings: Optional["_models.ImageModelSettingsClassification"] = None,
- search_space: Optional[List["_models.ImageModelDistributionSettingsClassification"]] = None,
- primary_metric: Optional[Union[str, "_models.ClassificationMultilabelPrimaryMetrics"]] = None,
- **kwargs
- ):
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.FeaturestoreEntityVersion"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Training data input. Required.
- :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. Known values are:
- "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
- "PrecisionScoreWeighted", and "IOU".
- :paramtype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ :keyword next_link: The link to the next page of FeaturestoreEntityVersion objects. If null,
+ there are no additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type FeaturestoreEntityVersion.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
"""
- super().__init__(
- 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,
- log_verbosity=log_verbosity,
- target_column_name=target_column_name,
- training_data=training_data,
- **kwargs
- )
- self.log_verbosity = log_verbosity
- self.target_column_name = target_column_name
- self.task_type: str = "ImageClassificationMultilabel"
- self.training_data = training_data
- self.primary_metric = primary_metric
- 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
-
+ super().__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
-class ImageObjectDetectionBase(ImageVertical):
- """ImageObjectDetectionBase.
- All required parameters must be populated in order to send to Azure.
+class FeatureStoreSettings(_serialization.Model):
+ """FeatureStoreSettings.
- :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 compute_runtime:
+ :vartype compute_runtime: ~azure.mgmt.machinelearningservices.models.ComputeRuntimeDto
+ :ivar offline_store_connection_name:
+ :vartype offline_store_connection_name: str
+ :ivar online_store_connection_name:
+ :vartype online_store_connection_name: str
"""
- _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]"},
+ "compute_runtime": {"key": "computeRuntime", "type": "ComputeRuntimeDto"},
+ "offline_store_connection_name": {"key": "offlineStoreConnectionName", "type": "str"},
+ "online_store_connection_name": {"key": "onlineStoreConnectionName", "type": "str"},
}
def __init__(
self,
*,
- limit_settings: "_models.ImageLimitSettings",
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- model_settings: Optional["_models.ImageModelSettingsObjectDetection"] = None,
- search_space: Optional[List["_models.ImageModelDistributionSettingsObjectDetection"]] = None,
- **kwargs
- ):
+ compute_runtime: Optional["_models.ComputeRuntimeDto"] = None,
+ offline_store_connection_name: Optional[str] = None,
+ online_store_connection_name: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 compute_runtime:
+ :paramtype compute_runtime: ~azure.mgmt.machinelearningservices.models.ComputeRuntimeDto
+ :keyword offline_store_connection_name:
+ :paramtype offline_store_connection_name: str
+ :keyword online_store_connection_name:
+ :paramtype online_store_connection_name: str
"""
- super().__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
+ super().__init__(**kwargs)
+ self.compute_runtime = compute_runtime
+ self.offline_store_connection_name = offline_store_connection_name
+ self.online_store_connection_name = online_store_connection_name
-class ImageInstanceSegmentation(
- ImageObjectDetectionBase, AutoMLVertical
-): # pylint: disable=too-many-instance-attributes
- """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.
+class FeatureWindow(_serialization.Model):
+ """Specifies the feature window.
- All required parameters must be populated in order to send to Azure.
+ :ivar feature_window_end: Specifies the feature window end time.
+ :vartype feature_window_end: ~datetime.datetime
+ :ivar feature_window_start: Specifies the feature window start time.
+ :vartype feature_window_start: ~datetime.datetime
+ """
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ _attribute_map = {
+ "feature_window_end": {"key": "featureWindowEnd", "type": "iso-8601"},
+ "feature_window_start": {"key": "featureWindowStart", "type": "iso-8601"},
+ }
+
+ def __init__(
+ self,
+ *,
+ feature_window_end: Optional[datetime.datetime] = None,
+ feature_window_start: Optional[datetime.datetime] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword feature_window_end: Specifies the feature window end time.
+ :paramtype feature_window_end: ~datetime.datetime
+ :keyword feature_window_start: Specifies the feature window start time.
+ :paramtype feature_window_start: ~datetime.datetime
+ """
+ super().__init__(**kwargs)
+ self.feature_window_end = feature_window_end
+ self.feature_window_start = feature_window_start
+
+
+class FeaturizationSettings(_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: Any) -> None:
+ """
+ :keyword dataset_language: Dataset language, useful for the text data.
+ :paramtype dataset_language: str
+ """
+ super().__init__(**kwargs)
+ self.dataset_language = dataset_language
+
+
+class FlavorData(_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: Any) -> None:
+ """
+ :keyword data: Model flavor-specific data.
+ :paramtype data: dict[str, str]
+ """
+ super().__init__(**kwargs)
+ self.data = data
+
+
+class Forecasting(TableVertical, AutoMLVertical): # pylint: disable=too-many-instance-attributes
+ """Forecasting task in AutoML Table vertical.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :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 fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
+ :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 search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
+ :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 forecasting_settings: Forecasting task specific inputs.
+ :vartype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
+ :ivar primary_metric: Primary metric for forecasting task. Known values are:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score", and
+ "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},
- "limit_settings": {"required": True},
}
_attribute_map = {
@@ -10146,30 +11530,46 @@ class ImageInstanceSegmentation(
"target_column_name": {"key": "targetColumnName", "type": "str"},
"task_type": {"key": "taskType", "type": "str"},
"training_data": {"key": "trainingData", "type": "MLTableJobInput"},
- "limit_settings": {"key": "limitSettings", "type": "ImageLimitSettings"},
- "sweep_settings": {"key": "sweepSettings", "type": "ImageSweepSettings"},
+ "cv_split_column_names": {"key": "cvSplitColumnNames", "type": "[str]"},
+ "featurization_settings": {"key": "featurizationSettings", "type": "TableVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "TableFixedParameters"},
+ "limit_settings": {"key": "limitSettings", "type": "TableVerticalLimitSettings"},
+ "n_cross_validations": {"key": "nCrossValidations", "type": "NCrossValidations"},
+ "search_space": {"key": "searchSpace", "type": "[TableParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "TableSweepSettings"},
+ "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"},
- "model_settings": {"key": "modelSettings", "type": "ImageModelSettingsObjectDetection"},
- "search_space": {"key": "searchSpace", "type": "[ImageModelDistributionSettingsObjectDetection]"},
+ "weight_column_name": {"key": "weightColumnName", "type": "str"},
+ "forecasting_settings": {"key": "forecastingSettings", "type": "ForecastingSettings"},
"primary_metric": {"key": "primaryMetric", "type": "str"},
+ "training_settings": {"key": "trainingSettings", "type": "ForecastingTrainingSettings"},
}
def __init__(
self,
*,
training_data: "_models.MLTableJobInput",
- limit_settings: "_models.ImageLimitSettings",
log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
target_column_name: Optional[str] = None,
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ cv_split_column_names: Optional[List[str]] = None,
+ featurization_settings: Optional["_models.TableVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.TableFixedParameters"] = None,
+ limit_settings: Optional["_models.TableVerticalLimitSettings"] = None,
+ n_cross_validations: Optional["_models.NCrossValidations"] = None,
+ search_space: Optional[List["_models.TableParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.TableSweepSettings"] = None,
+ test_data: Optional["_models.MLTableJobInput"] = None,
+ test_data_size: Optional[float] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
validation_data_size: Optional[float] = None,
- model_settings: Optional["_models.ImageModelSettingsObjectDetection"] = None,
- search_space: Optional[List["_models.ImageModelDistributionSettingsObjectDetection"]] = None,
- primary_metric: Optional[Union[str, "_models.InstanceSegmentationPrimaryMetrics"]] = None,
- **kwargs
- ):
+ weight_column_name: Optional[str] = None,
+ forecasting_settings: Optional["_models.ForecastingSettings"] = None,
+ primary_metric: Optional[Union[str, "_models.ForecastingPrimaryMetrics"]] = None,
+ training_settings: Optional["_models.ForecastingTrainingSettings"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -10179,10 +11579,34 @@ def __init__(
:paramtype target_column_name: str
:keyword training_data: [Required] Training data input. Required.
:paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 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 fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
+ :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 search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
+ :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
@@ -10190,24 +11614,33 @@ def __init__(
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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
+ :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 forecasting_settings: Forecasting task specific inputs.
+ :paramtype forecasting_settings: ~azure.mgmt.machinelearningservices.models.ForecastingSettings
+ :keyword primary_metric: Primary metric for forecasting task. Known values are:
+ "SpearmanCorrelation", "NormalizedRootMeanSquaredError", "R2Score", and
+ "NormalizedMeanAbsoluteError".
:paramtype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ ~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().__init__(
+ cv_split_column_names=cv_split_column_names,
+ featurization_settings=featurization_settings,
+ fixed_parameters=fixed_parameters,
limit_settings=limit_settings,
+ n_cross_validations=n_cross_validations,
+ search_space=search_space,
sweep_settings=sweep_settings,
+ test_data=test_data,
+ test_data_size=test_data_size,
validation_data=validation_data,
validation_data_size=validation_data_size,
- model_settings=model_settings,
- search_space=search_space,
+ weight_column_name=weight_column_name,
log_verbosity=log_verbosity,
target_column_name=target_column_name,
training_data=training_data,
@@ -10215,1893 +11648,3366 @@ def __init__(
)
self.log_verbosity = log_verbosity
self.target_column_name = target_column_name
- self.task_type: str = "ImageInstanceSegmentation"
+ self.task_type: str = "Forecasting"
self.training_data = training_data
+ self.forecasting_settings = forecasting_settings
self.primary_metric = primary_metric
+ self.training_settings = training_settings
+ self.cv_split_column_names = cv_split_column_names
+ self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
+ self.n_cross_validations = n_cross_validations
+ self.search_space = search_space
self.sweep_settings = sweep_settings
+ 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.model_settings = model_settings
- self.search_space = search_space
-
-
-class ImageLimitSettings(_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: int = 1, max_trials: int = 1, timeout: 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().__init__(**kwargs)
- self.max_concurrent_trials = max_concurrent_trials
- self.max_trials = max_trials
- self.timeout = timeout
+ self.weight_column_name = weight_column_name
-class ImageModelDistributionSettings(_serialization.Model): # pylint: disable=too-many-instance-attributes
- """Distribution expressions to sweep over values of model settings.
+class ForecastingSettings(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """Forecasting specific parameters.
- :code:`
- Some examples are:
-
- ModelName = "choice('seresnext', 'resnest50')";
- LearningRate = "uniform(0.001, 0.01)";
- LayersToFreeze = "choice(0, 2)";
-
`
- 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://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
- For more information on the available settings please visit the official documentation:
- https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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 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.
+ Known values are: "None" and "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. Known values are: "None", "Auto", "Pad", and "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".
+ Known values are: "None", "Sum", "Max", "Min", and "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. Known values are:
+ "None", "Season", and "SeasonTrend".
+ :vartype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
"""
_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"},
+ "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__( # pylint: disable=too-many-locals
+ 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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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
+ country_or_region_for_holidays: Optional[str] = None,
+ cv_step_size: Optional[int] = None,
+ feature_lags: Optional[Union[str, "_models.FeatureLags"]] = None,
+ forecast_horizon: Optional["_models.ForecastHorizon"] = None,
+ frequency: Optional[str] = None,
+ seasonality: Optional["_models.Seasonality"] = None,
+ short_series_handling_config: Optional[Union[str, "_models.ShortSeriesHandlingConfiguration"]] = None,
+ target_aggregate_function: Optional[Union[str, "_models.TargetAggregationFunction"]] = None,
+ target_lags: Optional["_models.TargetLags"] = None,
+ target_rolling_window_size: Optional["_models.TargetRollingWindowSize"] = None,
+ time_column_name: Optional[str] = None,
+ time_series_id_column_names: Optional[List[str]] = None,
+ use_stl: Optional[Union[str, "_models.UseStl"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- super().__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
-
+ :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.
+ Known values are: "None" and "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. Known values are: "None", "Auto", "Pad", and "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".
+ Known values are: "None", "Sum", "Max", "Min", and "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. Known values
+ are: "None", "Season", and "SeasonTrend".
+ :paramtype use_stl: str or ~azure.mgmt.machinelearningservices.models.UseStl
+ """
+ super().__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 ImageModelDistributionSettingsClassification(
- ImageModelDistributionSettings
-): # pylint: disable=too-many-instance-attributes
- """Distribution expressions to sweep over values of model settings.
- :code:`
- Some examples are:
-
- ModelName = "choice('seresnext', 'resnest50')";
- LearningRate = "uniform(0.001, 0.01)";
- LayersToFreeze = "choice(0, 2)";
-
`
- For more details on how to compose distribution expressions please check the documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
- For more information on the available settings please visit the official documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
+class ForecastingTrainingSettings(TrainingSettings):
+ """Forecasting Training related configuration.
- :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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
+ :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 training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :vartype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
+ :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 = {
- "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"},
+ "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"},
+ "training_mode": {"key": "trainingMode", "type": "str"},
+ "allowed_training_algorithms": {"key": "allowedTrainingAlgorithms", "type": "[str]"},
+ "blocked_training_algorithms": {"key": "blockedTrainingAlgorithms", "type": "[str]"},
}
- def __init__( # pylint: disable=too-many-locals
+ 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
- ):
+ enable_dnn_training: bool = False,
+ enable_model_explainability: bool = True,
+ enable_onnx_compatible_models: bool = False,
+ enable_stack_ensemble: bool = True,
+ enable_vote_ensemble: bool = True,
+ ensemble_model_download_timeout: datetime.timedelta = "PT5M",
+ stack_ensemble_settings: Optional["_models.StackEnsembleSettings"] = None,
+ training_mode: Optional[Union[str, "_models.TrainingMode"]] = None,
+ allowed_training_algorithms: Optional[List[Union[str, "_models.ForecastingModels"]]] = None,
+ blocked_training_algorithms: Optional[List[Union[str, "_models.ForecastingModels"]]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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
+ :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 training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :paramtype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
+ :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().__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,
+ 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,
+ training_mode=training_mode,
**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
-
+ self.allowed_training_algorithms = allowed_training_algorithms
+ self.blocked_training_algorithms = blocked_training_algorithms
-class ImageModelDistributionSettingsObjectDetection(
- ImageModelDistributionSettings
-): # pylint: disable=too-many-instance-attributes
- """Distribution expressions to sweep over values of model settings.
- :code:`
- Some examples are:
-
- ModelName = "choice('seresnext', 'resnest50')";
- LearningRate = "uniform(0.001, 0.01)";
- LayersToFreeze = "choice(0, 2)";
-
`
- For more details on how to compose distribution expressions please check the documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
- For more information on the available settings please visit the official documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
+class FQDNEndpoint(_serialization.Model):
+ """FQDNEndpoint.
- :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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
+ :ivar domain_name:
+ :vartype domain_name: str
+ :ivar endpoint_details:
+ :vartype endpoint_details: list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
"""
_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"},
+ "domain_name": {"key": "domainName", "type": "str"},
+ "endpoint_details": {"key": "endpointDetails", "type": "[FQDNEndpointDetail]"},
}
- def __init__( # pylint: disable=too-many-locals
+ 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
- ):
+ domain_name: Optional[str] = None,
+ endpoint_details: Optional[List["_models.FQDNEndpointDetail"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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
+ :keyword domain_name:
+ :paramtype domain_name: str
+ :keyword endpoint_details:
+ :paramtype endpoint_details:
+ list[~azure.mgmt.machinelearningservices.models.FQDNEndpointDetail]
"""
- super().__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
+ super().__init__(**kwargs)
+ self.domain_name = domain_name
+ self.endpoint_details = endpoint_details
-class ImageModelSettings(_serialization.Model): # pylint: disable=too-many-instance-attributes
- """Settings used for training the model.
- For more information on the available settings please visit the official documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
+class FQDNEndpointDetail(_serialization.Model):
+ """FQDNEndpointDetail.
- :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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 port:
+ :vartype port: 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"},
+ "port": {"key": "port", "type": "int"},
}
- def __init__( # pylint: disable=too-many-locals
- 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["_models.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, "_models.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, "_models.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
- ):
+ def __init__(self, *, port: Optional[int] = None, **kwargs: Any) -> None:
"""
- :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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 port:
+ :paramtype port: int
"""
super().__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
+ self.port = port
-class ImageModelSettingsClassification(ImageModelSettings): # pylint: disable=too-many-instance-attributes
- """Settings used for training the model.
- For more information on the available settings please visit the official documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
+class FQDNEndpoints(_serialization.Model):
+ """FQDNEndpoints.
- :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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
+ :ivar properties:
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
"""
_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"},
+ "properties": {"key": "properties", "type": "FQDNEndpointsProperties"},
}
- def __init__( # pylint: disable=too-many-locals
- 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["_models.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, "_models.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, "_models.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
- ):
+ def __init__(self, *, properties: Optional["_models.FQDNEndpointsProperties"] = None, **kwargs: Any) -> None:
"""
- :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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
+ :keyword properties:
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.FQDNEndpointsProperties
"""
- super().__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
+ super().__init__(**kwargs)
+ self.properties = properties
-class ImageModelSettingsObjectDetection(ImageModelSettings): # pylint: disable=too-many-instance-attributes
- """Settings used for training the model.
- For more information on the available settings please visit the official documentation:
- https://docs.microsoft.com/en-us/azure/machine-learning/how-to-auto-train-image-models.
+class FQDNEndpointsProperties(_serialization.Model):
+ """FQDNEndpointsProperties.
- :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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. Known values are: "None",
- "Small", "Medium", "Large", and "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. Known
- values are: "None", "Coco", "Voc", and "CocoVoc".
- :vartype validation_metric_type: str or
- ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ :ivar category:
+ :vartype category: str
+ :ivar endpoints:
+ :vartype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
"""
_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"},
+ "category": {"key": "category", "type": "str"},
+ "endpoints": {"key": "endpoints", "type": "[FQDNEndpoint]"},
}
- def __init__( # pylint: disable=too-many-locals
- 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,
+ def __init__(
+ self, *, category: Optional[str] = None, endpoints: Optional[List["_models.FQDNEndpoint"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword category:
+ :paramtype category: str
+ :keyword endpoints:
+ :paramtype endpoints: list[~azure.mgmt.machinelearningservices.models.FQDNEndpoint]
+ """
+ super().__init__(**kwargs)
+ self.category = category
+ self.endpoints = endpoints
+
+
+class GetFeatureRequest(_serialization.Model):
+ """Request payload to retrieve feature information from a given feature set version.
+
+ :ivar feature_name: Specifies name of the feature.
+ :vartype feature_name: str
+ """
+
+ _attribute_map = {
+ "feature_name": {"key": "featureName", "type": "str"},
+ }
+
+ def __init__(self, *, feature_name: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword feature_name: Specifies name of the feature.
+ :paramtype feature_name: str
+ """
+ super().__init__(**kwargs)
+ self.feature_name = feature_name
+
+
+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] The algorithm used for generating hyperparameter
+ values, along with configuration properties. Required. Known values are: "Grid", "Random", and
+ "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: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.sampling_algorithm_type: str = "Grid"
+
+
+class HdfsDatastore(DatastoreProperties):
+ """HdfsDatastore.
+
+ 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: Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar credentials: [Required] Account credentials. Required.
+ :vartype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :ivar datastore_type: [Required] Storage type backing the datastore. Required. Known values
+ are: "AzureBlob", "AzureDataLakeGen1", "AzureDataLakeGen2", "AzureFile", and "Hdfs".
+ :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 hdfs_server_certificate: The TLS cert of the HDFS server. Needs to be a base64 encoded
+ string. Required if "Https" protocol is selected.
+ :vartype hdfs_server_certificate: str
+ :ivar name_node_address: [Required] IP Address or DNS HostName. Required.
+ :vartype name_node_address: str
+ :ivar protocol: Protocol used to communicate with the storage account (Https/Http).
+ :vartype protocol: str
+ """
+
+ _validation = {
+ "credentials": {"required": True},
+ "datastore_type": {"required": True},
+ "is_default": {"readonly": True},
+ "name_node_address": {"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"},
+ "hdfs_server_certificate": {"key": "hdfsServerCertificate", "type": "str"},
+ "name_node_address": {"key": "nameNodeAddress", "type": "str"},
+ "protocol": {"key": "protocol", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ credentials: "_models.DatastoreCredentials",
+ name_node_address: str,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ hdfs_server_certificate: Optional[str] = None,
+ protocol: str = "http",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword credentials: [Required] Account credentials. Required.
+ :paramtype credentials: ~azure.mgmt.machinelearningservices.models.DatastoreCredentials
+ :keyword hdfs_server_certificate: The TLS cert of the HDFS server. Needs to be a base64 encoded
+ string. Required if "Https" protocol is selected.
+ :paramtype hdfs_server_certificate: str
+ :keyword name_node_address: [Required] IP Address or DNS HostName. Required.
+ :paramtype name_node_address: str
+ :keyword protocol: Protocol used to communicate with the storage account (Https/Http).
+ :paramtype protocol: str
+ """
+ super().__init__(description=description, properties=properties, tags=tags, credentials=credentials, **kwargs)
+ self.datastore_type: str = "Hdfs"
+ self.hdfs_server_certificate = hdfs_server_certificate
+ self.name_node_address = name_node_address
+ self.protocol = protocol
+
+
+class HDInsightSchema(_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["_models.HDInsightProperties"] = None, **kwargs: Any) -> None:
+ """
+ :keyword properties: HDInsight compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
+
+
+class HDInsight(Compute, HDInsightSchema): # pylint: disable=too-many-instance-attributes
+ """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: The type of compute. Required. Known values are: "AKS", "Kubernetes",
+ "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine", "HDInsight", "Databricks",
+ "DataLakeAnalytics", and "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. Known values are: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
+ :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},
+ "provisioning_state": {"readonly": True},
+ "created_on": {"readonly": True},
+ "modified_on": {"readonly": True},
+ "provisioning_errors": {"readonly": True},
+ "is_attached_compute": {"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["_models.HDInsightProperties"] = None,
+ compute_location: Optional[str] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ disable_local_auth: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword properties: HDInsight compute properties.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.HDInsightProperties
+ :keyword compute_location: Location for the underlying compute.
+ :paramtype compute_location: str
+ :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 disable_local_auth: Opt-out of local authentication and ensure customers can use only
+ MSI and AAD exclusively for authentication.
+ :paramtype disable_local_auth: bool
+ """
+ super().__init__(
+ compute_location=compute_location,
+ description=description,
+ resource_id=resource_id,
+ disable_local_auth=disable_local_auth,
+ properties=properties,
+ **kwargs
+ )
+ self.properties = properties
+ self.compute_type: str = "HDInsight"
+ self.compute_location = compute_location
+ 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 = disable_local_auth
+
+
+class HDInsightProperties(_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["_models.VirtualMachineSshCredentials"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :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().__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] Specifies the type of asset reference. Required. Known values
+ are: "Id", "DataPath", and "OutputPath".
+ :vartype reference_type: str or ~azure.mgmt.machinelearningservices.models.ReferenceType
+ :ivar asset_id: [Required] ARM resource ID of the asset. Required.
+ :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: Any) -> None:
+ """
+ :keyword asset_id: [Required] ARM resource ID of the asset. Required.
+ :paramtype asset_id: str
+ """
+ super().__init__(**kwargs)
+ self.reference_type: str = "Id"
+ self.asset_id = asset_id
+
+
+class IdentityForCmk(_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: Any) -> None:
+ """
+ :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().__init__(**kwargs)
+ self.user_assigned_identity = user_assigned_identity
+
+
+class IdleShutdownSetting(_serialization.Model):
+ """Stops compute instance after user defined period of inactivity.
+
+ :ivar idle_time_before_shutdown: Time is defined in ISO8601 format. Minimum is 15 min, maximum
+ is 3 days.
+ :vartype idle_time_before_shutdown: str
+ """
+
+ _attribute_map = {
+ "idle_time_before_shutdown": {"key": "idleTimeBeforeShutdown", "type": "str"},
+ }
+
+ def __init__(self, *, idle_time_before_shutdown: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword idle_time_before_shutdown: Time is defined in ISO8601 format. Minimum is 15 min,
+ maximum is 3 days.
+ :paramtype idle_time_before_shutdown: str
+ """
+ super().__init__(**kwargs)
+ self.idle_time_before_shutdown = idle_time_before_shutdown
+
+
+class Image(_serialization.Model):
+ """Image.
+
+ :ivar additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :vartype additional_properties: dict[str, any]
+ :ivar type: Type of the image. Possible values are: docker - For docker images. azureml - For
+ AzureML images. Known values are: "docker" and "azureml".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.ImageType
+ :ivar reference: Image reference URL.
+ :vartype reference: str
+ """
+
+ _attribute_map = {
+ "additional_properties": {"key": "", "type": "{object}"},
+ "type": {"key": "type", "type": "str"},
+ "reference": {"key": "reference", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ additional_properties: Optional[Dict[str, Any]] = None,
+ type: Union[str, "_models.ImageType"] = "docker",
+ reference: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword additional_properties: Unmatched properties from the message are deserialized to this
+ collection.
+ :paramtype additional_properties: dict[str, any]
+ :keyword type: Type of the image. Possible values are: docker - For docker images. azureml -
+ For AzureML images. Known values are: "docker" and "azureml".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.ImageType
+ :keyword reference: Image reference URL.
+ :paramtype reference: str
+ """
+ super().__init__(**kwargs)
+ self.additional_properties = additional_properties
+ self.type = type
+ self.reference = reference
+
+
+class ImageVertical(_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] Limit settings for the AutoML job. Required.
+ :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: "_models.ImageLimitSettings",
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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().__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] Limit settings for the AutoML job. Required.
+ :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: "_models.ImageLimitSettings",
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["_models.ImageModelSettingsClassification"] = None,
+ search_space: Optional[List["_models.ImageModelDistributionSettingsClassification"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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().__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(ImageClassificationBase, AutoMLVertical): # pylint: disable=too-many-instance-attributes
+ """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 log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. Known values are:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+
+ _validation = {
+ "task_type": {"required": True},
+ "training_data": {"required": True},
+ "limit_settings": {"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"},
+ "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]"},
+ "primary_metric": {"key": "primaryMetric", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "_models.MLTableJobInput",
+ limit_settings: "_models.ImageLimitSettings",
+ log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["_models.ImageModelSettingsClassification"] = None,
+ search_space: Optional[List["_models.ImageModelDistributionSettingsClassification"]] = None,
+ primary_metric: Optional[Union[str, "_models.ClassificationPrimaryMetrics"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Training data input. Required.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. Known values are:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
+ "PrecisionScoreWeighted".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ """
+ super().__init__(
+ 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,
+ log_verbosity=log_verbosity,
+ target_column_name=target_column_name,
+ training_data=training_data,
+ **kwargs
+ )
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.task_type: str = "ImageClassification"
+ self.training_data = training_data
+ self.primary_metric = primary_metric
+ 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
+
+
+class ImageClassificationMultilabel(
+ ImageClassificationBase, AutoMLVertical
+): # pylint: disable=too-many-instance-attributes
+ """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 log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. Known values are:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted", and "IOU".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+
+ _validation = {
+ "task_type": {"required": True},
+ "training_data": {"required": True},
+ "limit_settings": {"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"},
+ "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]"},
+ "primary_metric": {"key": "primaryMetric", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "_models.MLTableJobInput",
+ limit_settings: "_models.ImageLimitSettings",
+ log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["_models.ImageModelSettingsClassification"] = None,
+ search_space: Optional[List["_models.ImageModelDistributionSettingsClassification"]] = None,
+ primary_metric: Optional[Union[str, "_models.ClassificationMultilabelPrimaryMetrics"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Training data input. Required.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. Known values are:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted",
+ "PrecisionScoreWeighted", and "IOU".
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ """
+ super().__init__(
+ 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,
+ log_verbosity=log_verbosity,
+ target_column_name=target_column_name,
+ training_data=training_data,
+ **kwargs
+ )
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.task_type: str = "ImageClassificationMultilabel"
+ self.training_data = training_data
+ self.primary_metric = primary_metric
+ 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
+
+
+class ImageObjectDetectionBase(ImageVertical):
+ """ImageObjectDetectionBase.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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: "_models.ImageLimitSettings",
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["_models.ImageModelSettingsObjectDetection"] = None,
+ search_space: Optional[List["_models.ImageModelDistributionSettingsObjectDetection"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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().__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(
+ ImageObjectDetectionBase, AutoMLVertical
+): # pylint: disable=too-many-instance-attributes
+ """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 log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ """
+
+ _validation = {
+ "task_type": {"required": True},
+ "training_data": {"required": True},
+ "limit_settings": {"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"},
+ "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]"},
+ "primary_metric": {"key": "primaryMetric", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "_models.MLTableJobInput",
+ limit_settings: "_models.ImageLimitSettings",
+ log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["_models.ImageModelSettingsObjectDetection"] = None,
+ search_space: Optional[List["_models.ImageModelDistributionSettingsObjectDetection"]] = None,
+ primary_metric: Optional[Union[str, "_models.InstanceSegmentationPrimaryMetrics"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Training data input. Required.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.InstanceSegmentationPrimaryMetrics
+ """
+ super().__init__(
+ 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,
+ log_verbosity=log_verbosity,
+ target_column_name=target_column_name,
+ training_data=training_data,
+ **kwargs
+ )
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.task_type: str = "ImageInstanceSegmentation"
+ self.training_data = training_data
+ self.primary_metric = primary_metric
+ 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
+
+
+class ImageLimitSettings(_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: int = 1, max_trials: int = 1, timeout: datetime.timedelta = "P7D", **kwargs: Any
+ ) -> None:
+ """
+ :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().__init__(**kwargs)
+ self.max_concurrent_trials = max_concurrent_trials
+ self.max_trials = max_trials
+ self.timeout = timeout
+
+
+class ImageMetadata(_serialization.Model):
+ """Returns metadata about the operating system image for this compute instance.
+
+ :ivar current_image_version: Specifies the current operating system image version this compute
+ instance is running on.
+ :vartype current_image_version: str
+ :ivar latest_image_version: Specifies the latest available operating system image version.
+ :vartype latest_image_version: str
+ :ivar is_latest_os_image_version: Specifies whether this compute instance is running on the
+ latest operating system image.
+ :vartype is_latest_os_image_version: bool
+ """
+
+ _attribute_map = {
+ "current_image_version": {"key": "currentImageVersion", "type": "str"},
+ "latest_image_version": {"key": "latestImageVersion", "type": "str"},
+ "is_latest_os_image_version": {"key": "isLatestOsImageVersion", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ current_image_version: Optional[str] = None,
+ latest_image_version: Optional[str] = None,
+ is_latest_os_image_version: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword current_image_version: Specifies the current operating system image version this
+ compute instance is running on.
+ :paramtype current_image_version: str
+ :keyword latest_image_version: Specifies the latest available operating system image version.
+ :paramtype latest_image_version: str
+ :keyword is_latest_os_image_version: Specifies whether this compute instance is running on the
+ latest operating system image.
+ :paramtype is_latest_os_image_version: bool
+ """
+ super().__init__(**kwargs)
+ self.current_image_version = current_image_version
+ self.latest_image_version = latest_image_version
+ self.is_latest_os_image_version = is_latest_os_image_version
+
+
+class ImageModelDistributionSettings(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """Distribution expressions to sweep over values of model settings.
+
+ :code:`
+ Some examples are:
+
+ ModelName = "choice('seresnext', 'resnest50')";
+ LearningRate = "uniform(0.001, 0.01)";
+ LayersToFreeze = "choice(0, 2)";
+
`
+ 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://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
+ For more information on the available settings please visit the official documentation:
+ https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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__( # pylint: disable=too-many-locals
+ 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: Any
+ ) -> None:
+ """
+ :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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().__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
+): # pylint: disable=too-many-instance-attributes
+ """Distribution expressions to sweep over values of model settings.
+
+ :code:`
+ Some examples are:
+
+ ModelName = "choice('seresnext', 'resnest50')";
+ LearningRate = "uniform(0.001, 0.01)";
+ LayersToFreeze = "choice(0, 2)";
+
`
+ For more details on how to compose distribution expressions please check the documentation:
+ https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
+ For more information on the available settings please visit the official documentation:
+ https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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__( # pylint: disable=too-many-locals
+ 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: Any
+ ) -> None:
+ """
+ :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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().__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
+): # pylint: disable=too-many-instance-attributes
+ """Distribution expressions to sweep over values of model settings.
+
+ :code:`
+ Some examples are:
+
+ ModelName = "choice('seresnext', 'resnest50')";
+ LearningRate = "uniform(0.001, 0.01)";
+ LayersToFreeze = "choice(0, 2)";
+
`
+ For more details on how to compose distribution expressions please check the documentation:
+ https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters
+ For more information on the available settings please visit the official documentation:
+ https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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__( # pylint: disable=too-many-locals
+ 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: Any
+ ) -> None:
+ """
+ :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://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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().__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(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """Settings used for training the model.
+ For more information on the available settings please visit the official documentation:
+ https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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__( # pylint: disable=too-many-locals
+ 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["_models.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, "_models.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, "_models.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: Any
+ ) -> None:
+ """
+ :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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().__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): # pylint: disable=too-many-instance-attributes
+ """Settings used for training the model.
+ For more information on the available settings please visit the official documentation:
+ https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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__( # pylint: disable=too-many-locals
+ 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["_models.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, "_models.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, "_models.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: Any
+ ) -> None:
+ """
+ :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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().__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): # pylint: disable=too-many-instance-attributes
+ """Settings used for training the model.
+ For more information on the available settings please visit the official documentation:
+ https://docs.microsoft.com/en-us/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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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. Known values are: "None",
+ "Small", "Medium", "Large", and "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. Known
+ values are: "None", "Coco", "Voc", and "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__( # pylint: disable=too-many-locals
+ 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["_models.MLFlowModelJobInput"] = None,
checkpoint_run_id: Optional[str] = None,
distributed: Optional[bool] = None,
@@ -12141,1237 +15047,2043 @@ def __init__( # pylint: disable=too-many-locals
tile_predictions_nms_threshold: Optional[float] = None,
validation_iou_threshold: Optional[float] = None,
validation_metric_type: Optional[Union[str, "_models.ValidationMetricType"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
+ """
+ :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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. Known values are: "None",
+ "Small", "Medium", "Large", and "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. Known
+ values are: "None", "Coco", "Voc", and "CocoVoc".
+ :paramtype validation_metric_type: str or
+ ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ """
+ super().__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(ImageObjectDetectionBase, AutoMLVertical): # pylint: disable=too-many-instance-attributes
+ """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 log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ """
+
+ _validation = {
+ "task_type": {"required": True},
+ "training_data": {"required": True},
+ "limit_settings": {"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"},
+ "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]"},
+ "primary_metric": {"key": "primaryMetric", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ training_data: "_models.MLTableJobInput",
+ limit_settings: "_models.ImageLimitSettings",
+ log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
+ target_column_name: Optional[str] = None,
+ sweep_settings: Optional["_models.ImageSweepSettings"] = None,
+ validation_data: Optional["_models.MLTableJobInput"] = None,
+ validation_data_size: Optional[float] = None,
+ model_settings: Optional["_models.ImageModelSettingsObjectDetection"] = None,
+ search_space: Optional[List["_models.ImageModelDistributionSettingsObjectDetection"]] = None,
+ primary_metric: Optional[Union[str, "_models.ObjectDetectionPrimaryMetrics"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Training data input. Required.
+ :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
+ :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
+ :paramtype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ """
+ super().__init__(
+ 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,
+ log_verbosity=log_verbosity,
+ target_column_name=target_column_name,
+ training_data=training_data,
+ **kwargs
+ )
+ self.log_verbosity = log_verbosity
+ self.target_column_name = target_column_name
+ self.task_type: str = "ImageObjectDetection"
+ self.training_data = training_data
+ self.primary_metric = primary_metric
+ 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
+
+
+class ImageSweepSettings(_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] Type of the hyperparameter sampling algorithms. Required.
+ Known values are: "Grid", "Random", and "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, "_models.SamplingAlgorithmType"],
+ early_termination: Optional["_models.EarlyTerminationPolicy"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword early_termination: Type of early termination policy.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword sampling_algorithm: [Required] Type of the hyperparameter sampling algorithms.
+ Required. Known values are: "Grid", "Random", and "Bayesian".
+ :paramtype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+ super().__init__(**kwargs)
+ self.early_termination = early_termination
+ self.sampling_algorithm = sampling_algorithm
+
+
+class IndexColumn(_serialization.Model):
+ """Dto object representing index column.
+
+ :ivar column_name: Specifies the column name.
+ :vartype column_name: str
+ :ivar data_type: Specifies the data type. Known values are: "String", "Integer", "Long",
+ "Float", "Double", "Binary", "Datetime", and "Boolean".
+ :vartype data_type: str or ~azure.mgmt.machinelearningservices.models.FeatureDataType
+ """
+
+ _attribute_map = {
+ "column_name": {"key": "columnName", "type": "str"},
+ "data_type": {"key": "dataType", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ column_name: Optional[str] = None,
+ data_type: Optional[Union[str, "_models.FeatureDataType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword column_name: Specifies the column name.
+ :paramtype column_name: str
+ :keyword data_type: Specifies the data type. Known values are: "String", "Integer", "Long",
+ "Float", "Double", "Binary", "Datetime", and "Boolean".
+ :paramtype data_type: str or ~azure.mgmt.machinelearningservices.models.FeatureDataType
+ """
+ super().__init__(**kwargs)
+ self.column_name = column_name
+ self.data_type = data_type
+
+
+class InferenceContainerProperties(_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["_models.Route"] = None,
+ readiness_route: Optional["_models.Route"] = None,
+ scoring_route: Optional["_models.Route"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :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().__init__(**kwargs)
+ self.liveness_route = liveness_route
+ self.readiness_route = readiness_route
+ self.scoring_route = scoring_route
+
+
+class InstanceTypeSchema(_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["_models.InstanceTypeSchemaResources"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :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().__init__(**kwargs)
+ self.node_selector = node_selector
+ self.resources = resources
+
+
+class InstanceTypeSchemaResources(_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: Any
+ ) -> None:
+ """
+ :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().__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] Additional attributes of the entity. Required.
+ :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: "_models.JobBaseProperties", **kwargs: Any) -> None:
+ """
+ :keyword properties: [Required] Additional attributes of the entity. Required.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
+
+
+class JobBaseResourceArmPaginatedResult(_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["_models.JobBase"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :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().__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 locations: Locations where the job can run.
+ :vartype locations: list[str]
+ :ivar properties: Additional properties bag.
+ :vartype properties: dict[str, JSON]
+ :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"},
+ "locations": {"key": "locations", "type": "[str]"},
+ "properties": {"key": "properties", "type": "{object}"},
+ "docker_args": {"key": "dockerArgs", "type": "str"},
+ "shm_size": {"key": "shmSize", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ instance_count: int = 1,
+ instance_type: Optional[str] = None,
+ locations: Optional[List[str]] = None,
+ properties: Optional[Dict[str, JSON]] = None,
+ docker_args: Optional[str] = None,
+ shm_size: str = "2g",
+ **kwargs: Any
+ ) -> None:
+ """
+ :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 locations: Locations where the job can run.
+ :paramtype locations: list[str]
+ :keyword properties: Additional properties bag.
+ :paramtype properties: dict[str, JSON]
+ :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().__init__(
+ instance_count=instance_count,
+ instance_type=instance_type,
+ locations=locations,
+ 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] Specifies the action type of the schedule. Required. Known values
+ are: "CreateJob" and "InvokeBatchEndpoint".
+ :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
+ :ivar job_definition: [Required] Defines Schedule action definition details. Required.
+ :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: "_models.JobBaseProperties", **kwargs: Any) -> None:
"""
- :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://docs.microsoft.com/en-us/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'. Known values are: "None", "WarmupCosine", and "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://docs.microsoft.com/en-us/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. Known values are: "None", "Sgd", "Adam", and "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. Known values are: "None",
- "Small", "Medium", "Large", and "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. Known
- values are: "None", "Coco", "Voc", and "CocoVoc".
- :paramtype validation_metric_type: str or
- ~azure.mgmt.machinelearningservices.models.ValidationMetricType
+ :keyword job_definition: [Required] Defines Schedule action definition details. Required.
+ :paramtype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ """
+ super().__init__(**kwargs)
+ self.action_type: str = "CreateJob"
+ self.job_definition = job_definition
+
+
+class JobService(_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 nodes: Nodes that user would like to start the service on.
+ If Nodes is not set or set to null, the service will only be started on leader node.
+ :vartype nodes: ~azure.mgmt.machinelearningservices.models.Nodes
+ :ivar port: Port for endpoint set by user.
+ :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"},
+ "nodes": {"key": "nodes", "type": "Nodes"},
+ "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,
+ nodes: Optional["_models.Nodes"] = None,
+ port: Optional[int] = None,
+ properties: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword endpoint: Url for endpoint.
+ :paramtype endpoint: str
+ :keyword job_service_type: Endpoint type.
+ :paramtype job_service_type: str
+ :keyword nodes: Nodes that user would like to start the service on.
+ If Nodes is not set or set to null, the service will only be started on leader node.
+ :paramtype nodes: ~azure.mgmt.machinelearningservices.models.Nodes
+ :keyword port: Port for endpoint set by user.
+ :paramtype port: int
+ :keyword properties: Additional properties to set on the endpoint.
+ :paramtype properties: dict[str, str]
+ """
+ super().__init__(**kwargs)
+ self.endpoint = endpoint
+ self.error_message = None
+ self.job_service_type = job_service_type
+ self.nodes = nodes
+ self.port = port
+ self.properties = properties
+ self.status = None
+
+
+class KerberosCredentials(_serialization.Model):
+ """KerberosCredentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar kerberos_kdc_address: [Required] IP Address or DNS HostName. Required.
+ :vartype kerberos_kdc_address: str
+ :ivar kerberos_principal: [Required] Kerberos Username. Required.
+ :vartype kerberos_principal: str
+ :ivar kerberos_realm: [Required] Domain over which a Kerberos authentication server has the
+ authority to authenticate a user, host or service. Required.
+ :vartype kerberos_realm: str
+ """
+
+ _validation = {
+ "kerberos_kdc_address": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "kerberos_principal": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "kerberos_realm": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ }
+
+ _attribute_map = {
+ "kerberos_kdc_address": {"key": "kerberosKdcAddress", "type": "str"},
+ "kerberos_principal": {"key": "kerberosPrincipal", "type": "str"},
+ "kerberos_realm": {"key": "kerberosRealm", "type": "str"},
+ }
+
+ def __init__(
+ self, *, kerberos_kdc_address: str, kerberos_principal: str, kerberos_realm: str, **kwargs: Any
+ ) -> None:
+ """
+ :keyword kerberos_kdc_address: [Required] IP Address or DNS HostName. Required.
+ :paramtype kerberos_kdc_address: str
+ :keyword kerberos_principal: [Required] Kerberos Username. Required.
+ :paramtype kerberos_principal: str
+ :keyword kerberos_realm: [Required] Domain over which a Kerberos authentication server has the
+ authority to authenticate a user, host or service. Required.
+ :paramtype kerberos_realm: str
+ """
+ super().__init__(**kwargs)
+ self.kerberos_kdc_address = kerberos_kdc_address
+ self.kerberos_principal = kerberos_principal
+ self.kerberos_realm = kerberos_realm
+
+
+class KerberosKeytabCredentials(KerberosCredentials, DatastoreCredentials):
+ """KerberosKeytabCredentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: [Required] Credential type used to authentication with storage.
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar kerberos_kdc_address: [Required] IP Address or DNS HostName. Required.
+ :vartype kerberos_kdc_address: str
+ :ivar kerberos_principal: [Required] Kerberos Username. Required.
+ :vartype kerberos_principal: str
+ :ivar kerberos_realm: [Required] Domain over which a Kerberos authentication server has the
+ authority to authenticate a user, host or service. Required.
+ :vartype kerberos_realm: str
+ :ivar secrets: [Required] Keytab secrets. Required.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.KerberosKeytabSecrets
+ """
+
+ _validation = {
+ "credentials_type": {"required": True},
+ "kerberos_kdc_address": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "kerberos_principal": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "kerberos_realm": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "secrets": {"required": True},
+ }
+
+ _attribute_map = {
+ "credentials_type": {"key": "credentialsType", "type": "str"},
+ "kerberos_kdc_address": {"key": "kerberosKdcAddress", "type": "str"},
+ "kerberos_principal": {"key": "kerberosPrincipal", "type": "str"},
+ "kerberos_realm": {"key": "kerberosRealm", "type": "str"},
+ "secrets": {"key": "secrets", "type": "KerberosKeytabSecrets"},
+ }
+
+ def __init__(
+ self,
+ *,
+ kerberos_kdc_address: str,
+ kerberos_principal: str,
+ kerberos_realm: str,
+ secrets: "_models.KerberosKeytabSecrets",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword kerberos_kdc_address: [Required] IP Address or DNS HostName. Required.
+ :paramtype kerberos_kdc_address: str
+ :keyword kerberos_principal: [Required] Kerberos Username. Required.
+ :paramtype kerberos_principal: str
+ :keyword kerberos_realm: [Required] Domain over which a Kerberos authentication server has the
+ authority to authenticate a user, host or service. Required.
+ :paramtype kerberos_realm: str
+ :keyword secrets: [Required] Keytab secrets. Required.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.KerberosKeytabSecrets
"""
super().__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,
+ kerberos_kdc_address=kerberos_kdc_address,
+ kerberos_principal=kerberos_principal,
+ kerberos_realm=kerberos_realm,
**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
+ self.credentials_type: str = "KerberosKeytab"
+ self.secrets = secrets
+ self.kerberos_kdc_address = kerberos_kdc_address
+ self.kerberos_principal = kerberos_principal
+ self.kerberos_realm = kerberos_realm
-class ImageObjectDetection(ImageObjectDetectionBase, AutoMLVertical): # pylint: disable=too-many-instance-attributes
- """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.
+class KerberosKeytabSecrets(DatastoreSecrets):
+ """KerberosKeytabSecrets.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to Azure.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :ivar limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ :ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar kerberos_keytab: Kerberos keytab secret.
+ :vartype kerberos_keytab: str
"""
_validation = {
- "task_type": {"required": True},
- "training_data": {"required": True},
- "limit_settings": {"required": True},
+ "secrets_type": {"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"},
- "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]"},
- "primary_metric": {"key": "primaryMetric", "type": "str"},
+ "secrets_type": {"key": "secretsType", "type": "str"},
+ "kerberos_keytab": {"key": "kerberosKeytab", "type": "str"},
+ }
+
+ def __init__(self, *, kerberos_keytab: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword kerberos_keytab: Kerberos keytab secret.
+ :paramtype kerberos_keytab: str
+ """
+ super().__init__(**kwargs)
+ self.secrets_type: str = "KerberosKeytab"
+ self.kerberos_keytab = kerberos_keytab
+
+
+class KerberosPasswordCredentials(KerberosCredentials, DatastoreCredentials):
+ """KerberosPasswordCredentials.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar credentials_type: [Required] Credential type used to authentication with storage.
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
+ :vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
+ :ivar kerberos_kdc_address: [Required] IP Address or DNS HostName. Required.
+ :vartype kerberos_kdc_address: str
+ :ivar kerberos_principal: [Required] Kerberos Username. Required.
+ :vartype kerberos_principal: str
+ :ivar kerberos_realm: [Required] Domain over which a Kerberos authentication server has the
+ authority to authenticate a user, host or service. Required.
+ :vartype kerberos_realm: str
+ :ivar secrets: [Required] Kerberos password secrets. Required.
+ :vartype secrets: ~azure.mgmt.machinelearningservices.models.KerberosPasswordSecrets
+ """
+
+ _validation = {
+ "credentials_type": {"required": True},
+ "kerberos_kdc_address": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "kerberos_principal": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "kerberos_realm": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "secrets": {"required": True},
+ }
+
+ _attribute_map = {
+ "credentials_type": {"key": "credentialsType", "type": "str"},
+ "kerberos_kdc_address": {"key": "kerberosKdcAddress", "type": "str"},
+ "kerberos_principal": {"key": "kerberosPrincipal", "type": "str"},
+ "kerberos_realm": {"key": "kerberosRealm", "type": "str"},
+ "secrets": {"key": "secrets", "type": "KerberosPasswordSecrets"},
}
def __init__(
self,
*,
- training_data: "_models.MLTableJobInput",
- limit_settings: "_models.ImageLimitSettings",
- log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
- target_column_name: Optional[str] = None,
- sweep_settings: Optional["_models.ImageSweepSettings"] = None,
- validation_data: Optional["_models.MLTableJobInput"] = None,
- validation_data_size: Optional[float] = None,
- model_settings: Optional["_models.ImageModelSettingsObjectDetection"] = None,
- search_space: Optional[List["_models.ImageModelDistributionSettingsObjectDetection"]] = None,
- primary_metric: Optional[Union[str, "_models.ObjectDetectionPrimaryMetrics"]] = None,
- **kwargs
- ):
- """
- :keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Training data input. Required.
- :paramtype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :keyword limit_settings: [Required] Limit settings for the AutoML job. Required.
- :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 primary_metric: Primary metric to optimize for this task. "MeanAveragePrecision"
- :paramtype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ObjectDetectionPrimaryMetrics
+ kerberos_kdc_address: str,
+ kerberos_principal: str,
+ kerberos_realm: str,
+ secrets: "_models.KerberosPasswordSecrets",
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword kerberos_kdc_address: [Required] IP Address or DNS HostName. Required.
+ :paramtype kerberos_kdc_address: str
+ :keyword kerberos_principal: [Required] Kerberos Username. Required.
+ :paramtype kerberos_principal: str
+ :keyword kerberos_realm: [Required] Domain over which a Kerberos authentication server has the
+ authority to authenticate a user, host or service. Required.
+ :paramtype kerberos_realm: str
+ :keyword secrets: [Required] Kerberos password secrets. Required.
+ :paramtype secrets: ~azure.mgmt.machinelearningservices.models.KerberosPasswordSecrets
"""
super().__init__(
- 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,
- log_verbosity=log_verbosity,
- target_column_name=target_column_name,
- training_data=training_data,
+ kerberos_kdc_address=kerberos_kdc_address,
+ kerberos_principal=kerberos_principal,
+ kerberos_realm=kerberos_realm,
**kwargs
)
- self.log_verbosity = log_verbosity
- self.target_column_name = target_column_name
- self.task_type: str = "ImageObjectDetection"
- self.training_data = training_data
- self.primary_metric = primary_metric
- 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.credentials_type: str = "KerberosPassword"
+ self.secrets = secrets
+ self.kerberos_kdc_address = kerberos_kdc_address
+ self.kerberos_principal = kerberos_principal
+ self.kerberos_realm = kerberos_realm
-class ImageSweepSettings(_serialization.Model):
- """Model sweeping and hyperparameter sweeping related settings.
+class KerberosPasswordSecrets(DatastoreSecrets):
+ """KerberosPasswordSecrets.
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] Type of the hyperparameter sampling algorithms. Required.
- Known values are: "Grid", "Random", and "Bayesian".
- :vartype sampling_algorithm: str or
- ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
+ :vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
+ :ivar kerberos_password: Kerberos password secret.
+ :vartype kerberos_password: str
"""
_validation = {
- "sampling_algorithm": {"required": True},
+ "secrets_type": {"required": True},
}
_attribute_map = {
- "early_termination": {"key": "earlyTermination", "type": "EarlyTerminationPolicy"},
- "sampling_algorithm": {"key": "samplingAlgorithm", "type": "str"},
+ "secrets_type": {"key": "secretsType", "type": "str"},
+ "kerberos_password": {"key": "kerberosPassword", "type": "str"},
}
- def __init__(
- self,
- *,
- sampling_algorithm: Union[str, "_models.SamplingAlgorithmType"],
- early_termination: Optional["_models.EarlyTerminationPolicy"] = None,
- **kwargs
- ):
+ def __init__(self, *, kerberos_password: Optional[str] = None, **kwargs: Any) -> None:
"""
- :keyword early_termination: Type of early termination policy.
- :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
- :keyword sampling_algorithm: [Required] Type of the hyperparameter sampling algorithms.
- Required. Known values are: "Grid", "Random", and "Bayesian".
- :paramtype sampling_algorithm: str or
- ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :keyword kerberos_password: Kerberos password secret.
+ :paramtype kerberos_password: str
"""
super().__init__(**kwargs)
- self.early_termination = early_termination
- self.sampling_algorithm = sampling_algorithm
+ self.secrets_type: str = "KerberosPassword"
+ self.kerberos_password = kerberos_password
-class InferenceContainerProperties(_serialization.Model):
- """InferenceContainerProperties.
+class KubernetesSchema(_serialization.Model):
+ """Kubernetes Compute Schema.
- :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
+ :ivar properties: Properties of Kubernetes.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ """
+
+ _attribute_map = {
+ "properties": {"key": "properties", "type": "KubernetesProperties"},
+ }
+
+ def __init__(self, *, properties: Optional["_models.KubernetesProperties"] = None, **kwargs: Any) -> None:
+ """
+ :keyword properties: Properties of Kubernetes.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ """
+ super().__init__(**kwargs)
+ self.properties = properties
+
+
+class Kubernetes(Compute, KubernetesSchema): # pylint: disable=too-many-instance-attributes
+ """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: The type of compute. Required. Known values are: "AKS", "Kubernetes",
+ "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine", "HDInsight", "Databricks",
+ "DataLakeAnalytics", and "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. Known values are: "Unknown", "Updating",
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
+ :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},
+ "provisioning_state": {"readonly": True},
+ "created_on": {"readonly": True},
+ "modified_on": {"readonly": True},
+ "provisioning_errors": {"readonly": True},
+ "is_attached_compute": {"readonly": True},
+ }
+
_attribute_map = {
- "liveness_route": {"key": "livenessRoute", "type": "Route"},
- "readiness_route": {"key": "readinessRoute", "type": "Route"},
- "scoring_route": {"key": "scoringRoute", "type": "Route"},
+ "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,
*,
- liveness_route: Optional["_models.Route"] = None,
- readiness_route: Optional["_models.Route"] = None,
- scoring_route: Optional["_models.Route"] = None,
- **kwargs
- ):
+ properties: Optional["_models.KubernetesProperties"] = None,
+ compute_location: Optional[str] = None,
+ description: Optional[str] = None,
+ resource_id: Optional[str] = None,
+ disable_local_auth: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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
+ :keyword properties: Properties of Kubernetes.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ :keyword compute_location: Location for the underlying compute.
+ :paramtype compute_location: str
+ :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 disable_local_auth: Opt-out of local authentication and ensure customers can use only
+ MSI and AAD exclusively for authentication.
+ :paramtype disable_local_auth: bool
"""
- super().__init__(**kwargs)
- self.liveness_route = liveness_route
- self.readiness_route = readiness_route
- self.scoring_route = scoring_route
-
-
-class InstanceTypeSchema(_serialization.Model):
- """Instance type schema.
+ super().__init__(
+ compute_location=compute_location,
+ description=description,
+ resource_id=resource_id,
+ disable_local_auth=disable_local_auth,
+ properties=properties,
+ **kwargs
+ )
+ self.properties = properties
+ self.compute_type: str = "Kubernetes"
+ self.compute_location = compute_location
+ 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 = disable_local_auth
- :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"},
- }
+class OnlineDeploymentProperties(EndpointDeploymentPropertiesBase): # pylint: disable=too-many-instance-attributes
+ """OnlineDeploymentProperties.
- def __init__(
- self,
- *,
- node_selector: Optional[Dict[str, str]] = None,
- resources: Optional["_models.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().__init__(**kwargs)
- self.node_selector = node_selector
- self.resources = resources
+ 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.
-class InstanceTypeSchemaResources(_serialization.Model):
- """Resource requests/limits for this instance type.
+ All required parameters must be populated in order to send to Azure.
- :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]
+ :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 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. Known values are: "Enabled" and
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: [Required] The compute type of the endpoint. Required. Known
+ values are: "Managed", "Kubernetes", and "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. Known values are:
+ "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", and "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 = {
- "requests": {"key": "requests", "type": "{str}"},
- "limits": {"key": "limits", "type": "{str}"},
+ "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, *, requests: Optional[Dict[str, str]] = None, limits: Optional[Dict[str, str]] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["_models.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: bool = False,
+ egress_public_network_access: Optional[Union[str, "_models.EgressPublicNetworkAccessType"]] = None,
+ instance_type: Optional[str] = None,
+ liveness_probe: Optional["_models.ProbeSettings"] = None,
+ model: Optional[str] = None,
+ model_mount_path: Optional[str] = None,
+ readiness_probe: Optional["_models.ProbeSettings"] = None,
+ request_settings: Optional["_models.OnlineRequestSettings"] = None,
+ scale_settings: Optional["_models.OnlineScaleSettings"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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]
+ :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 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. Known values are: "Enabled" and
+ "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().__init__(**kwargs)
- self.requests = requests
- self.limits = limits
+ super().__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: Optional[str] = None
+ 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 JobBase(Resource):
- """Azure Resource Manager resource envelope.
+class KubernetesOnlineDeployment(OnlineDeploymentProperties): # pylint: disable=too-many-instance-attributes
+ """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 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] Additional attributes of the entity. Required.
- :vartype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ :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 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. Known values are: "Enabled" and
+ "Disabled".
+ :vartype egress_public_network_access: str or
+ ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
+ :ivar endpoint_compute_type: [Required] The compute type of the endpoint. Required. Known
+ values are: "Managed", "Kubernetes", and "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. Known values are:
+ "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", and "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 = {
- "id": {"readonly": True},
- "name": {"readonly": True},
- "type": {"readonly": True},
- "system_data": {"readonly": True},
- "properties": {"required": True},
+ "endpoint_compute_type": {"required": 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"},
- "properties": {"key": "properties", "type": "JobBaseProperties"},
+ "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, *, properties: "_models.JobBaseProperties", **kwargs):
+ def __init__(
+ self,
+ *,
+ code_configuration: Optional["_models.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: bool = False,
+ egress_public_network_access: Optional[Union[str, "_models.EgressPublicNetworkAccessType"]] = None,
+ instance_type: Optional[str] = None,
+ liveness_probe: Optional["_models.ProbeSettings"] = None,
+ model: Optional[str] = None,
+ model_mount_path: Optional[str] = None,
+ readiness_probe: Optional["_models.ProbeSettings"] = None,
+ request_settings: Optional["_models.OnlineRequestSettings"] = None,
+ scale_settings: Optional["_models.OnlineScaleSettings"] = None,
+ container_resource_requirements: Optional["_models.ContainerResourceRequirements"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword properties: [Required] Additional attributes of the entity. Required.
- :paramtype properties: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ :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 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. Known values are: "Enabled" and
+ "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().__init__(**kwargs)
- self.properties = properties
+ super().__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: str = "Kubernetes"
+ self.container_resource_requirements = container_resource_requirements
-class JobBaseResourceArmPaginatedResult(_serialization.Model):
- """A paginated list of JobBase entities.
+class KubernetesProperties(_serialization.Model):
+ """Kubernetes properties.
- :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]
+ :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 = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[JobBase]"},
+ "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, *, next_link: Optional[str] = None, value: Optional[List["_models.JobBase"]] = None, **kwargs):
+ 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: str = "default",
+ default_instance_type: Optional[str] = None,
+ instance_types: Optional[Dict[str, "_models.InstanceTypeSchema"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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]
+ :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().__init__(**kwargs)
- self.next_link = next_link
- self.value = value
+ 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 JobResourceConfiguration(ResourceConfiguration):
- """JobResourceConfiguration.
+class LabelCategory(_serialization.Model):
+ """Label category definition.
- :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, JSON]
- :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
+ :ivar classes: Dictionary of label classes in this category.
+ :vartype classes: dict[str, ~azure.mgmt.machinelearningservices.models.LabelClass]
+ :ivar display_name: Display name of the label category.
+ :vartype display_name: str
+ :ivar multi_select: Indicates whether it is allowed to select multiple classes in this
+ category. Known values are: "Enabled" and "Disabled".
+ :vartype multi_select: str or ~azure.mgmt.machinelearningservices.models.MultiSelect
"""
- _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"},
+ "classes": {"key": "classes", "type": "{LabelClass}"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "multi_select": {"key": "multiSelect", "type": "str"},
}
def __init__(
self,
*,
- instance_count: int = 1,
- instance_type: Optional[str] = None,
- properties: Optional[Dict[str, JSON]] = None,
- docker_args: Optional[str] = None,
- shm_size: str = "2g",
- **kwargs
- ):
+ classes: Optional[Dict[str, "_models.LabelClass"]] = None,
+ display_name: Optional[str] = None,
+ multi_select: Optional[Union[str, "_models.MultiSelect"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :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, JSON]
- :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
+ :keyword classes: Dictionary of label classes in this category.
+ :paramtype classes: dict[str, ~azure.mgmt.machinelearningservices.models.LabelClass]
+ :keyword display_name: Display name of the label category.
+ :paramtype display_name: str
+ :keyword multi_select: Indicates whether it is allowed to select multiple classes in this
+ category. Known values are: "Enabled" and "Disabled".
+ :paramtype multi_select: str or ~azure.mgmt.machinelearningservices.models.MultiSelect
"""
- super().__init__(instance_count=instance_count, instance_type=instance_type, properties=properties, **kwargs)
- self.docker_args = docker_args
- self.shm_size = shm_size
-
+ super().__init__(**kwargs)
+ self.classes = classes
+ self.display_name = display_name
+ self.multi_select = multi_select
-class JobScheduleAction(ScheduleActionBase):
- """JobScheduleAction.
- All required parameters must be populated in order to send to Azure.
+class LabelClass(_serialization.Model):
+ """Label class definition.
- :ivar action_type: [Required] Specifies the action type of the schedule. Required. Known values
- are: "CreateJob" and "InvokeBatchEndpoint".
- :vartype action_type: str or ~azure.mgmt.machinelearningservices.models.ScheduleActionType
- :ivar job_definition: [Required] Defines Schedule action definition details. Required.
- :vartype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ :ivar display_name: Display name of the label class.
+ :vartype display_name: str
+ :ivar subclasses: Dictionary of subclasses of the label class.
+ :vartype subclasses: dict[str, ~azure.mgmt.machinelearningservices.models.LabelClass]
"""
- _validation = {
- "action_type": {"required": True},
- "job_definition": {"required": True},
- }
-
_attribute_map = {
- "action_type": {"key": "actionType", "type": "str"},
- "job_definition": {"key": "jobDefinition", "type": "JobBaseProperties"},
+ "display_name": {"key": "displayName", "type": "str"},
+ "subclasses": {"key": "subclasses", "type": "{LabelClass}"},
}
- def __init__(self, *, job_definition: "_models.JobBaseProperties", **kwargs):
+ def __init__(
+ self,
+ *,
+ display_name: Optional[str] = None,
+ subclasses: Optional[Dict[str, "_models.LabelClass"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword job_definition: [Required] Defines Schedule action definition details. Required.
- :paramtype job_definition: ~azure.mgmt.machinelearningservices.models.JobBaseProperties
+ :keyword display_name: Display name of the label class.
+ :paramtype display_name: str
+ :keyword subclasses: Dictionary of subclasses of the label class.
+ :paramtype subclasses: dict[str, ~azure.mgmt.machinelearningservices.models.LabelClass]
"""
super().__init__(**kwargs)
- self.action_type: str = "CreateJob"
- self.job_definition = job_definition
-
+ self.display_name = display_name
+ self.subclasses = subclasses
-class JobService(_serialization.Model):
- """Job endpoint definition.
- Variables are only populated by the server, and will be ignored when sending a request.
+class LabelingDataConfiguration(_serialization.Model):
+ """Labeling data configuration definition.
- :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
+ :ivar data_id: Resource Id of the data asset to perform labeling.
+ :vartype data_id: str
+ :ivar incremental_data_refresh: Indicates whether to enable incremental data refresh. Known
+ values are: "Enabled" and "Disabled".
+ :vartype incremental_data_refresh: str or
+ ~azure.mgmt.machinelearningservices.models.IncrementalDataRefresh
"""
- _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"},
+ "data_id": {"key": "dataId", "type": "str"},
+ "incremental_data_refresh": {"key": "incrementalDataRefresh", "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]
+ data_id: Optional[str] = None,
+ incremental_data_refresh: Optional[Union[str, "_models.IncrementalDataRefresh"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword data_id: Resource Id of the data asset to perform labeling.
+ :paramtype data_id: str
+ :keyword incremental_data_refresh: Indicates whether to enable incremental data refresh. Known
+ values are: "Enabled" and "Disabled".
+ :paramtype incremental_data_refresh: str or
+ ~azure.mgmt.machinelearningservices.models.IncrementalDataRefresh
"""
super().__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
+ self.data_id = data_id
+ self.incremental_data_refresh = incremental_data_refresh
-class KubernetesSchema(_serialization.Model):
- """Kubernetes Compute Schema.
+class LabelingJob(Resource):
+ """Azure Resource Manager resource envelope.
- :ivar properties: Properties of Kubernetes.
- :vartype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ 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] Additional attributes of the entity. Required.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.LabelingJobProperties
"""
+ _validation = {
+ "id": {"readonly": True},
+ "name": {"readonly": True},
+ "type": {"readonly": True},
+ "system_data": {"readonly": True},
+ "properties": {"required": True},
+ }
+
_attribute_map = {
- "properties": {"key": "properties", "type": "KubernetesProperties"},
+ "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": "LabelingJobProperties"},
}
- def __init__(self, *, properties: Optional["_models.KubernetesProperties"] = None, **kwargs):
+ def __init__(self, *, properties: "_models.LabelingJobProperties", **kwargs: Any) -> None:
"""
- :keyword properties: Properties of Kubernetes.
- :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
+ :keyword properties: [Required] Additional attributes of the entity. Required.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.LabelingJobProperties
"""
super().__init__(**kwargs)
self.properties = properties
-class Kubernetes(Compute, KubernetesSchema): # pylint: disable=too-many-instance-attributes
- """A Machine Learning compute based on Kubernetes Compute.
+class LabelingJobMediaProperties(_serialization.Model):
+ """Properties of a labeling job.
- Variables are only populated by the server, and will be ignored when sending a request.
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ LabelingJobImageProperties, LabelingJobTextProperties
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: The type of compute. Required. Known values are: "AKS", "Kubernetes",
- "AmlCompute", "ComputeInstance", "DataFactory", "VirtualMachine", "HDInsight", "Databricks",
- "DataLakeAnalytics", and "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. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "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 media_type: [Required] Media type of the job. Required. Known values are: "Image" and
+ "Text".
+ :vartype media_type: str or ~azure.mgmt.machinelearningservices.models.MediaType
"""
_validation = {
- "compute_type": {"required": True},
- "provisioning_state": {"readonly": True},
- "created_on": {"readonly": True},
- "modified_on": {"readonly": True},
- "provisioning_errors": {"readonly": True},
- "is_attached_compute": {"readonly": True},
+ "media_type": {"required": 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"},
+ "media_type": {"key": "mediaType", "type": "str"},
}
- def __init__(
- self,
- *,
- properties: Optional["_models.KubernetesProperties"] = None,
- compute_location: Optional[str] = None,
- description: Optional[str] = None,
- resource_id: Optional[str] = None,
- disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
- """
- :keyword properties: Properties of Kubernetes.
- :paramtype properties: ~azure.mgmt.machinelearningservices.models.KubernetesProperties
- :keyword compute_location: Location for the underlying compute.
- :paramtype compute_location: str
- :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 disable_local_auth: Opt-out of local authentication and ensure customers can use only
- MSI and AAD exclusively for authentication.
- :paramtype disable_local_auth: bool
- """
- super().__init__(
- compute_location=compute_location,
- description=description,
- resource_id=resource_id,
- disable_local_auth=disable_local_auth,
- properties=properties,
- **kwargs
- )
- self.properties = properties
- self.compute_type: str = "Kubernetes"
- self.compute_location = compute_location
- 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 = disable_local_auth
-
-
-class OnlineDeploymentProperties(EndpointDeploymentPropertiesBase): # pylint: disable=too-many-instance-attributes
- """OnlineDeploymentProperties.
+ _subtype_map = {"media_type": {"Image": "LabelingJobImageProperties", "Text": "LabelingJobTextProperties"}}
- You probably want to use the sub-classes and not this class directly. Known sub-classes are:
- KubernetesOnlineDeployment, ManagedOnlineDeployment
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.media_type: Optional[str] = None
- Variables are only populated by the server, and will be ignored when sending a request.
+
+class LabelingJobImageProperties(LabelingJobMediaProperties):
+ """Properties of a labeling job for image data.
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. Known values are: "Enabled" and
- "Disabled".
- :vartype egress_public_network_access: str or
- ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
- :ivar endpoint_compute_type: [Required] The compute type of the endpoint. Required. Known
- values are: "Managed", "Kubernetes", and "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. Known values are:
- "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", and "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 media_type: [Required] Media type of the job. Required. Known values are: "Image" and
+ "Text".
+ :vartype media_type: str or ~azure.mgmt.machinelearningservices.models.MediaType
+ :ivar annotation_type: Annotation type of image labeling job. Known values are:
+ "Classification", "BoundingBox", and "InstanceSegmentation".
+ :vartype annotation_type: str or ~azure.mgmt.machinelearningservices.models.ImageAnnotationType
"""
_validation = {
- "endpoint_compute_type": {"required": True},
- "provisioning_state": {"readonly": True},
+ "media_type": {"required": 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"},
+ "media_type": {"key": "mediaType", "type": "str"},
+ "annotation_type": {"key": "annotationType", "type": "str"},
}
- _subtype_map = {
- "endpoint_compute_type": {"Kubernetes": "KubernetesOnlineDeployment", "Managed": "ManagedOnlineDeployment"}
+ def __init__(
+ self, *, annotation_type: Optional[Union[str, "_models.ImageAnnotationType"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword annotation_type: Annotation type of image labeling job. Known values are:
+ "Classification", "BoundingBox", and "InstanceSegmentation".
+ :paramtype annotation_type: str or
+ ~azure.mgmt.machinelearningservices.models.ImageAnnotationType
+ """
+ super().__init__(**kwargs)
+ self.media_type: str = "Image"
+ self.annotation_type = annotation_type
+
+
+class LabelingJobInstructions(_serialization.Model):
+ """Instructions for labeling job.
+
+ :ivar uri: The link to a page with detailed labeling instructions for labelers.
+ :vartype uri: str
+ """
+
+ _attribute_map = {
+ "uri": {"key": "uri", "type": "str"},
}
- def __init__(
- self,
- *,
- code_configuration: Optional["_models.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: bool = False,
- egress_public_network_access: Optional[Union[str, "_models.EgressPublicNetworkAccessType"]] = None,
- instance_type: Optional[str] = None,
- liveness_probe: Optional["_models.ProbeSettings"] = None,
- model: Optional[str] = None,
- model_mount_path: Optional[str] = None,
- readiness_probe: Optional["_models.ProbeSettings"] = None,
- request_settings: Optional["_models.OnlineRequestSettings"] = None,
- scale_settings: Optional["_models.OnlineScaleSettings"] = None,
- **kwargs
- ):
+ def __init__(self, *, uri: Optional[str] = None, **kwargs: Any) -> None:
"""
- :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. Known values are: "Enabled" and
- "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 uri: The link to a page with detailed labeling instructions for labelers.
+ :paramtype uri: str
"""
- super().__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: Optional[str] = None
- 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
+ super().__init__(**kwargs)
+ self.uri = uri
-class KubernetesOnlineDeployment(OnlineDeploymentProperties): # pylint: disable=too-many-instance-attributes
- """Properties specific to a KubernetesOnlineDeployment.
+class LabelingJobProperties(JobBaseProperties): # pylint: disable=too-many-instance-attributes
+ """Labeling 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 code_configuration: Code configuration for the endpoint deployment.
- :vartype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
- :ivar description: Description of the endpoint deployment.
+ :ivar description: The asset description text.
: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.
+ :ivar properties: The asset property dictionary.
: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. Known values are: "Enabled" and
- "Disabled".
- :vartype egress_public_network_access: str or
- ~azure.mgmt.machinelearningservices.models.EgressPublicNetworkAccessType
- :ivar endpoint_compute_type: [Required] The compute type of the endpoint. Required. Known
- values are: "Managed", "Kubernetes", and "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. Known values are:
- "Creating", "Deleting", "Scaling", "Updating", "Succeeded", "Failed", and "Canceled".
+ :ivar 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] Specifies the type of job. Required. Known values are: "AutoML",
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :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. Known values are: "NotStarted", "Starting", "Provisioning",
+ "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar created_date_time: Created time of the job in UTC timezone.
+ :vartype created_date_time: ~datetime.datetime
+ :ivar data_configuration: Configuration of data used in the job.
+ :vartype data_configuration:
+ ~azure.mgmt.machinelearningservices.models.LabelingDataConfiguration
+ :ivar job_instructions: Labeling instructions of the job.
+ :vartype job_instructions: ~azure.mgmt.machinelearningservices.models.LabelingJobInstructions
+ :ivar label_categories: Label categories of the job.
+ :vartype label_categories: dict[str, ~azure.mgmt.machinelearningservices.models.LabelCategory]
+ :ivar labeling_job_media_properties: Media type specific properties in the job.
+ :vartype labeling_job_media_properties:
+ ~azure.mgmt.machinelearningservices.models.LabelingJobMediaProperties
+ :ivar ml_assist_configuration: Configuration of MLAssist feature in the job.
+ :vartype ml_assist_configuration:
+ ~azure.mgmt.machinelearningservices.models.MLAssistConfiguration
+ :ivar progress_metrics: Progress metrics of the job.
+ :vartype progress_metrics: ~azure.mgmt.machinelearningservices.models.ProgressMetrics
+ :ivar project_id: Internal id of the job(Previously called project).
+ :vartype project_id: str
+ :ivar provisioning_state: Specifies the labeling job provisioning state. Known values are:
+ "Succeeded", "Failed", "Canceled", and "InProgress".
: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
+ ~azure.mgmt.machinelearningservices.models.JobProvisioningState
+ :ivar status_messages: Status messages of the job.
+ :vartype status_messages: list[~azure.mgmt.machinelearningservices.models.StatusMessage]
"""
_validation = {
- "endpoint_compute_type": {"required": True},
+ "job_type": {"required": True},
+ "status": {"readonly": True},
+ "created_date_time": {"readonly": True},
+ "progress_metrics": {"readonly": True},
+ "project_id": {"readonly": True},
"provisioning_state": {"readonly": True},
+ "status_messages": {"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"},
+ "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"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
+ "services": {"key": "services", "type": "{JobService}"},
+ "status": {"key": "status", "type": "str"},
+ "created_date_time": {"key": "createdDateTime", "type": "iso-8601"},
+ "data_configuration": {"key": "dataConfiguration", "type": "LabelingDataConfiguration"},
+ "job_instructions": {"key": "jobInstructions", "type": "LabelingJobInstructions"},
+ "label_categories": {"key": "labelCategories", "type": "{LabelCategory}"},
+ "labeling_job_media_properties": {"key": "labelingJobMediaProperties", "type": "LabelingJobMediaProperties"},
+ "ml_assist_configuration": {"key": "mlAssistConfiguration", "type": "MLAssistConfiguration"},
+ "progress_metrics": {"key": "progressMetrics", "type": "ProgressMetrics"},
+ "project_id": {"key": "projectId", "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",
- },
+ "status_messages": {"key": "statusMessages", "type": "[StatusMessage]"},
}
def __init__(
self,
*,
- code_configuration: Optional["_models.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: bool = False,
- egress_public_network_access: Optional[Union[str, "_models.EgressPublicNetworkAccessType"]] = None,
- instance_type: Optional[str] = None,
- liveness_probe: Optional["_models.ProbeSettings"] = None,
- model: Optional[str] = None,
- model_mount_path: Optional[str] = None,
- readiness_probe: Optional["_models.ProbeSettings"] = None,
- request_settings: Optional["_models.OnlineRequestSettings"] = None,
- scale_settings: Optional["_models.OnlineScaleSettings"] = None,
- container_resource_requirements: Optional["_models.ContainerResourceRequirements"] = None,
- **kwargs
- ):
+ tags: Optional[Dict[str, str]] = None,
+ component_id: Optional[str] = None,
+ compute_id: Optional[str] = None,
+ display_name: Optional[str] = None,
+ experiment_name: str = "Default",
+ identity: Optional["_models.IdentityConfiguration"] = None,
+ is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
+ services: Optional[Dict[str, "_models.JobService"]] = None,
+ data_configuration: Optional["_models.LabelingDataConfiguration"] = None,
+ job_instructions: Optional["_models.LabelingJobInstructions"] = None,
+ label_categories: Optional[Dict[str, "_models.LabelCategory"]] = None,
+ labeling_job_media_properties: Optional["_models.LabelingJobMediaProperties"] = None,
+ ml_assist_configuration: Optional["_models.MLAssistConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword code_configuration: Code configuration for the endpoint deployment.
- :paramtype code_configuration: ~azure.mgmt.machinelearningservices.models.CodeConfiguration
- :keyword description: Description of the endpoint deployment.
+ :keyword description: The asset description text.
: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.
+ :keyword properties: The asset property dictionary.
: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. Known values are: "Enabled" and
- "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
+ :keyword 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 notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :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 data_configuration: Configuration of data used in the job.
+ :paramtype data_configuration:
+ ~azure.mgmt.machinelearningservices.models.LabelingDataConfiguration
+ :keyword job_instructions: Labeling instructions of the job.
+ :paramtype job_instructions: ~azure.mgmt.machinelearningservices.models.LabelingJobInstructions
+ :keyword label_categories: Label categories of the job.
+ :paramtype label_categories: dict[str,
+ ~azure.mgmt.machinelearningservices.models.LabelCategory]
+ :keyword labeling_job_media_properties: Media type specific properties in the job.
+ :paramtype labeling_job_media_properties:
+ ~azure.mgmt.machinelearningservices.models.LabelingJobMediaProperties
+ :keyword ml_assist_configuration: Configuration of MLAssist feature in the job.
+ :paramtype ml_assist_configuration:
+ ~azure.mgmt.machinelearningservices.models.MLAssistConfiguration
"""
super().__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,
+ tags=tags,
+ component_id=component_id,
+ compute_id=compute_id,
+ display_name=display_name,
+ experiment_name=experiment_name,
+ identity=identity,
+ is_archived=is_archived,
+ notification_setting=notification_setting,
+ services=services,
**kwargs
)
- self.endpoint_compute_type: str = "Kubernetes"
- self.container_resource_requirements = container_resource_requirements
+ self.job_type: str = "Labeling"
+ self.created_date_time = None
+ self.data_configuration = data_configuration
+ self.job_instructions = job_instructions
+ self.label_categories = label_categories
+ self.labeling_job_media_properties = labeling_job_media_properties
+ self.ml_assist_configuration = ml_assist_configuration
+ self.progress_metrics = None
+ self.project_id = None
+ self.provisioning_state = None
+ self.status_messages = None
-class KubernetesProperties(_serialization.Model):
- """Kubernetes properties.
+class LabelingJobResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of LabelingJob entities.
- :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]
+ :ivar next_link: The link to the next page of LabelingJob objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type LabelingJob.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.LabelingJob]
"""
_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}"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[LabelingJob]"},
}
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: str = "default",
- default_instance_type: Optional[str] = None,
- instance_types: Optional[Dict[str, "_models.InstanceTypeSchema"]] = None,
- **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.LabelingJob"]] = None, **kwargs: Any
+ ) -> None:
"""
- :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]
+ :keyword next_link: The link to the next page of LabelingJob objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type LabelingJob.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.LabelingJob]
"""
super().__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
+ self.next_link = next_link
+ self.value = value
+
+
+class LabelingJobTextProperties(LabelingJobMediaProperties):
+ """Properties of a labeling job for text data.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar media_type: [Required] Media type of the job. Required. Known values are: "Image" and
+ "Text".
+ :vartype media_type: str or ~azure.mgmt.machinelearningservices.models.MediaType
+ :ivar annotation_type: Annotation type of text labeling job. Known values are: "Classification"
+ and "NamedEntityRecognition".
+ :vartype annotation_type: str or ~azure.mgmt.machinelearningservices.models.TextAnnotationType
+ """
+
+ _validation = {
+ "media_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "media_type": {"key": "mediaType", "type": "str"},
+ "annotation_type": {"key": "annotationType", "type": "str"},
+ }
+
+ def __init__(
+ self, *, annotation_type: Optional[Union[str, "_models.TextAnnotationType"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword annotation_type: Annotation type of text labeling job. Known values are:
+ "Classification" and "NamedEntityRecognition".
+ :paramtype annotation_type: str or
+ ~azure.mgmt.machinelearningservices.models.TextAnnotationType
+ """
+ super().__init__(**kwargs)
+ self.media_type: str = "Text"
+ self.annotation_type = annotation_type
class ListAmlUserFeatureResult(_serialization.Model):
@@ -13396,7 +17108,7 @@ class ListAmlUserFeatureResult(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@@ -13424,7 +17136,7 @@ class ListNotebookKeysResult(_serialization.Model):
"secondary_access_key": {"key": "secondaryAccessKey", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.primary_access_key = None
@@ -13448,7 +17160,7 @@ class ListStorageAccountKeysResult(_serialization.Model):
"user_storage_key": {"key": "userStorageKey", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.user_storage_key = None
@@ -13476,7 +17188,7 @@ class ListUsagesResult(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@@ -13521,7 +17233,7 @@ class ListWorkspaceKeysResult(_serialization.Model):
"notebook_access_keys": {"key": "notebookAccessKeys", "type": "ListNotebookKeysResult"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.user_storage_key = None
@@ -13553,7 +17265,7 @@ class ListWorkspaceQuotas(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@@ -13586,7 +17298,7 @@ class LiteralJobInput(JobInput):
"value": {"key": "value", "type": "str"},
}
- def __init__(self, *, value: str, description: Optional[str] = None, **kwargs):
+ def __init__(self, *, value: str, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -13635,8 +17347,8 @@ def __init__(
client_id: Optional[str] = None,
object_id: Optional[str] = None,
resource_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword client_id: Specifies a user-assigned identity by client ID. For system-assigned, do
not set this field.
@@ -13652,81 +17364,7 @@ def __init__(
self.identity_type: str = "Managed"
self.client_id = client_id
self.object_id = object_id
- self.resource_id = resource_id
-
-
-class WorkspaceConnectionPropertiesV2(_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: Authentication type of the connection target. Required. Known values are:
- "PAT", "ManagedIdentity", "UsernamePassword", "None", and "SAS".
- :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
- :ivar category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "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. "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, "_models.ConnectionCategory"]] = None,
- target: Optional[str] = None,
- value: Optional[str] = None,
- value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
- **kwargs
- ):
- """
- :keyword category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "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. "JSON"
- :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
- """
- super().__init__(**kwargs)
- self.auth_type: Optional[str] = None
- self.category = category
- self.target = target
- self.value = value
- self.value_format = value_format
+ self.resource_id = resource_id
class ManagedIdentityAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
@@ -13735,10 +17373,12 @@ class ManagedIdentityAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPr
All required parameters must be populated in order to send to Azure.
:ivar auth_type: Authentication type of the connection target. Required. Known values are:
- "PAT", "ManagedIdentity", "UsernamePassword", "None", and "SAS".
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
:vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
:ivar category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:ivar target:
:vartype target: str
@@ -13772,11 +17412,12 @@ def __init__(
value: Optional[str] = None,
value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
credentials: Optional["_models.WorkspaceConnectionManagedIdentity"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:keyword target:
:paramtype target: str
@@ -13804,8 +17445,8 @@ class ManagedOnlineDeployment(OnlineDeploymentProperties): # pylint: disable=to
: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.
+ :ivar environment_id: ARM resource ID 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]
@@ -13887,15 +17528,15 @@ def __init__(
readiness_probe: Optional["_models.ProbeSettings"] = None,
request_settings: Optional["_models.OnlineRequestSettings"] = None,
scale_settings: Optional["_models.OnlineScaleSettings"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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.
+ :keyword environment_id: ARM resource ID 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]
@@ -13990,8 +17631,8 @@ def __init__(
*,
type: Union[str, "_models.ManagedServiceIdentityType"],
user_assigned_identities: Optional[Dict[str, "_models.UserAssignedIdentity"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword type: Type of managed service identity (where both SystemAssigned and UserAssigned
types are allowed). Required. Known values are: "None", "SystemAssigned", "UserAssigned", and
@@ -14011,8 +17652,85 @@ def __init__(
self.user_assigned_identities = user_assigned_identities
+class MaterializationComputeResource(_serialization.Model):
+ """Dto object representing compute resource.
+
+ :ivar instance_type: Specifies the instance type.
+ :vartype instance_type: str
+ """
+
+ _attribute_map = {
+ "instance_type": {"key": "instanceType", "type": "str"},
+ }
+
+ def __init__(self, *, instance_type: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword instance_type: Specifies the instance type.
+ :paramtype instance_type: str
+ """
+ super().__init__(**kwargs)
+ self.instance_type = instance_type
+
+
+class MaterializationSettings(_serialization.Model):
+ """MaterializationSettings.
+
+ :ivar notification: Specifies the notification details.
+ :vartype notification: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :ivar resource: Specifies the compute resource settings.
+ :vartype resource: ~azure.mgmt.machinelearningservices.models.MaterializationComputeResource
+ :ivar schedule: Specifies the schedule details.
+ :vartype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceTrigger
+ :ivar spark_configuration: Specifies the spark compute settings.
+ :vartype spark_configuration: dict[str, str]
+ :ivar store_type: Specifies the stores to which materialization should happen. Known values
+ are: "None", "Online", "Offline", and "OnlineAndOffline".
+ :vartype store_type: str or ~azure.mgmt.machinelearningservices.models.MaterializationStoreType
+ """
+
+ _attribute_map = {
+ "notification": {"key": "notification", "type": "NotificationSetting"},
+ "resource": {"key": "resource", "type": "MaterializationComputeResource"},
+ "schedule": {"key": "schedule", "type": "RecurrenceTrigger"},
+ "spark_configuration": {"key": "sparkConfiguration", "type": "{str}"},
+ "store_type": {"key": "storeType", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ notification: Optional["_models.NotificationSetting"] = None,
+ resource: Optional["_models.MaterializationComputeResource"] = None,
+ schedule: Optional["_models.RecurrenceTrigger"] = None,
+ spark_configuration: Optional[Dict[str, str]] = None,
+ store_type: Optional[Union[str, "_models.MaterializationStoreType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword notification: Specifies the notification details.
+ :paramtype notification: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :keyword resource: Specifies the compute resource settings.
+ :paramtype resource: ~azure.mgmt.machinelearningservices.models.MaterializationComputeResource
+ :keyword schedule: Specifies the schedule details.
+ :paramtype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceTrigger
+ :keyword spark_configuration: Specifies the spark compute settings.
+ :paramtype spark_configuration: dict[str, str]
+ :keyword store_type: Specifies the stores to which materialization should happen. Known values
+ are: "None", "Online", "Offline", and "OnlineAndOffline".
+ :paramtype store_type: str or
+ ~azure.mgmt.machinelearningservices.models.MaterializationStoreType
+ """
+ super().__init__(**kwargs)
+ self.notification = notification
+ self.resource = resource
+ self.schedule = schedule
+ self.spark_configuration = spark_configuration
+ self.store_type = store_type
+
+
class MedianStoppingPolicy(EarlyTerminationPolicy):
- """Defines an early termination policy based on running averages of the primary metric of all runs.
+ """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.
@@ -14036,7 +17754,7 @@ class MedianStoppingPolicy(EarlyTerminationPolicy):
"policy_type": {"key": "policyType", "type": "str"},
}
- def __init__(self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, **kwargs):
+ def __init__(self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, **kwargs: Any) -> None:
"""
:keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
:paramtype delay_evaluation: int
@@ -14047,6 +17765,102 @@ def __init__(self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, *
self.policy_type: str = "MedianStopping"
+class MLAssistConfiguration(_serialization.Model):
+ """Labeling MLAssist configuration definition.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ MLAssistConfigurationDisabled, MLAssistConfigurationEnabled
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar ml_assist: [Required] Indicates whether MLAssist feature is enabled. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype ml_assist: str or ~azure.mgmt.machinelearningservices.models.MLAssistConfigurationType
+ """
+
+ _validation = {
+ "ml_assist": {"required": True},
+ }
+
+ _attribute_map = {
+ "ml_assist": {"key": "mlAssist", "type": "str"},
+ }
+
+ _subtype_map = {
+ "ml_assist": {"Disabled": "MLAssistConfigurationDisabled", "Enabled": "MLAssistConfigurationEnabled"}
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.ml_assist: Optional[str] = None
+
+
+class MLAssistConfigurationDisabled(MLAssistConfiguration):
+ """Labeling MLAssist configuration definition when MLAssist is disabled.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar ml_assist: [Required] Indicates whether MLAssist feature is enabled. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype ml_assist: str or ~azure.mgmt.machinelearningservices.models.MLAssistConfigurationType
+ """
+
+ _validation = {
+ "ml_assist": {"required": True},
+ }
+
+ _attribute_map = {
+ "ml_assist": {"key": "mlAssist", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.ml_assist: str = "Disabled"
+
+
+class MLAssistConfigurationEnabled(MLAssistConfiguration):
+ """Labeling MLAssist configuration definition when MLAssist is enabled.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar ml_assist: [Required] Indicates whether MLAssist feature is enabled. Required. Known
+ values are: "Enabled" and "Disabled".
+ :vartype ml_assist: str or ~azure.mgmt.machinelearningservices.models.MLAssistConfigurationType
+ :ivar inferencing_compute_binding: [Required] AML compute binding used in inferencing.
+ Required.
+ :vartype inferencing_compute_binding: str
+ :ivar training_compute_binding: [Required] AML compute binding used in training. Required.
+ :vartype training_compute_binding: str
+ """
+
+ _validation = {
+ "ml_assist": {"required": True},
+ "inferencing_compute_binding": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "training_compute_binding": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ }
+
+ _attribute_map = {
+ "ml_assist": {"key": "mlAssist", "type": "str"},
+ "inferencing_compute_binding": {"key": "inferencingComputeBinding", "type": "str"},
+ "training_compute_binding": {"key": "trainingComputeBinding", "type": "str"},
+ }
+
+ def __init__(self, *, inferencing_compute_binding: str, training_compute_binding: str, **kwargs: Any) -> None:
+ """
+ :keyword inferencing_compute_binding: [Required] AML compute binding used in inferencing.
+ Required.
+ :paramtype inferencing_compute_binding: str
+ :keyword training_compute_binding: [Required] AML compute binding used in training. Required.
+ :paramtype training_compute_binding: str
+ """
+ super().__init__(**kwargs)
+ self.ml_assist: str = "Enabled"
+ self.inferencing_compute_binding = inferencing_compute_binding
+ self.training_compute_binding = training_compute_binding
+
+
class MLFlowModelJobInput(AssetJobInput, JobInput):
"""MLFlowModelJobInput.
@@ -14083,8 +17897,8 @@ def __init__(
uri: str,
description: Optional[str] = None,
mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -14111,7 +17925,12 @@ class MLFlowModelJobOutput(AssetJobOutput, JobOutput):
:ivar job_output_type: [Required] Specifies the type of job. Required. Known values are:
"uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and "triton_model".
:vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
@@ -14124,6 +17943,8 @@ class MLFlowModelJobOutput(AssetJobOutput, JobOutput):
_attribute_map = {
"description": {"key": "description", "type": "str"},
"job_output_type": {"key": "jobOutputType", "type": "str"},
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
@@ -14132,21 +17953,32 @@ def __init__(
self,
*,
description: Optional[str] = None,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
- super().__init__(mode=mode, uri=uri, description=description, **kwargs)
+ super().__init__(
+ asset_name=asset_name, asset_version=asset_version, mode=mode, uri=uri, description=description, **kwargs
+ )
self.description = description
self.job_output_type: str = "mlflow_model"
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
@@ -14169,9 +18001,8 @@ class MLTableData(DataVersionBaseProperties):
:ivar data_type: [Required] Specifies the type of data. Required. Known values are: "uri_file",
"uri_folder", and "mltable".
:vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
- :ivar data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :ivar data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:vartype data_uri: str
:ivar referenced_uris: Uris referenced in the MLTable definition (required for lineage).
:vartype referenced_uris: list[str]
@@ -14203,8 +18034,8 @@ def __init__(
is_anonymous: bool = False,
is_archived: bool = False,
referenced_uris: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -14216,9 +18047,8 @@ def __init__(
:paramtype is_anonymous: bool
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
- :keyword data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :keyword data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:paramtype data_uri: str
:keyword referenced_uris: Uris referenced in the MLTable definition (required for lineage).
:paramtype referenced_uris: list[str]
@@ -14272,8 +18102,8 @@ def __init__(
uri: str,
description: Optional[str] = None,
mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -14300,7 +18130,12 @@ class MLTableJobOutput(AssetJobOutput, JobOutput):
:ivar job_output_type: [Required] Specifies the type of job. Required. Known values are:
"uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and "triton_model".
:vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
@@ -14313,6 +18148,8 @@ class MLTableJobOutput(AssetJobOutput, JobOutput):
_attribute_map = {
"description": {"key": "description", "type": "str"},
"job_output_type": {"key": "jobOutputType", "type": "str"},
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
@@ -14321,25 +18158,70 @@ def __init__(
self,
*,
description: Optional[str] = None,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
- super().__init__(mode=mode, uri=uri, description=description, **kwargs)
+ super().__init__(
+ asset_name=asset_name, asset_version=asset_version, mode=mode, uri=uri, description=description, **kwargs
+ )
self.description = description
self.job_output_type: str = "mltable"
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
+class ModelConfiguration(_serialization.Model):
+ """Model configuration options.
+
+ :ivar mode: Input delivery mode for the model. Known values are: "ReadOnlyMount" and
+ "Download".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.PackageInputDeliveryMode
+ :ivar mount_path: Relative mounting path of the model in the target image.
+ :vartype mount_path: str
+ """
+
+ _attribute_map = {
+ "mode": {"key": "mode", "type": "str"},
+ "mount_path": {"key": "mountPath", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ mode: Optional[Union[str, "_models.PackageInputDeliveryMode"]] = None,
+ mount_path: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword mode: Input delivery mode for the model. Known values are: "ReadOnlyMount" and
+ "Download".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.PackageInputDeliveryMode
+ :keyword mount_path: Relative mounting path of the model in the target image.
+ :paramtype mount_path: str
+ """
+ super().__init__(**kwargs)
+ self.mode = mode
+ self.mount_path = mount_path
+
+
class ModelContainer(Resource):
"""Azure Resource Manager resource envelope.
@@ -14378,7 +18260,7 @@ class ModelContainer(Resource):
"properties": {"key": "properties", "type": "ModelContainerProperties"},
}
- def __init__(self, *, properties: "_models.ModelContainerProperties", **kwargs):
+ def __init__(self, *, properties: "_models.ModelContainerProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ModelContainerProperties
@@ -14404,11 +18286,16 @@ class ModelContainerProperties(AssetContainer):
:vartype latest_version: str
:ivar next_version: The next auto incremental version.
:vartype next_version: str
+ :ivar provisioning_state: Provisioning state for the model container. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
_validation = {
"latest_version": {"readonly": True},
"next_version": {"readonly": True},
+ "provisioning_state": {"readonly": True},
}
_attribute_map = {
@@ -14418,6 +18305,7 @@ class ModelContainerProperties(AssetContainer):
"is_archived": {"key": "isArchived", "type": "bool"},
"latest_version": {"key": "latestVersion", "type": "str"},
"next_version": {"key": "nextVersion", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -14427,8 +18315,8 @@ def __init__(
properties: Optional[Dict[str, str]] = None,
tags: Optional[Dict[str, str]] = None,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -14440,6 +18328,7 @@ def __init__(
:paramtype is_archived: bool
"""
super().__init__(description=description, properties=properties, tags=tags, is_archived=is_archived, **kwargs)
+ self.provisioning_state = None
class ModelContainerResourceArmPaginatedResult(_serialization.Model):
@@ -14458,8 +18347,8 @@ class ModelContainerResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.ModelContainer"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.ModelContainer"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of ModelContainer objects. If null, there are no
additional pages.
@@ -14472,6 +18361,62 @@ def __init__(
self.value = value
+class ModelPackageInput(_serialization.Model):
+ """Model package input options.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar input_type: [Required] Type of the input included in the target image. Required. Known
+ values are: "UriFile" and "UriFolder".
+ :vartype input_type: str or ~azure.mgmt.machinelearningservices.models.PackageInputType
+ :ivar mode: Input delivery mode of the input. Known values are: "ReadOnlyMount" and "Download".
+ :vartype mode: str or ~azure.mgmt.machinelearningservices.models.PackageInputDeliveryMode
+ :ivar mount_path: Relative mount path of the input in the target image.
+ :vartype mount_path: str
+ :ivar path: [Required] Location of the input. Required.
+ :vartype path: ~azure.mgmt.machinelearningservices.models.PackageInputPathBase
+ """
+
+ _validation = {
+ "input_type": {"required": True},
+ "path": {"required": True},
+ }
+
+ _attribute_map = {
+ "input_type": {"key": "inputType", "type": "str"},
+ "mode": {"key": "mode", "type": "str"},
+ "mount_path": {"key": "mountPath", "type": "str"},
+ "path": {"key": "path", "type": "PackageInputPathBase"},
+ }
+
+ def __init__(
+ self,
+ *,
+ input_type: Union[str, "_models.PackageInputType"],
+ path: "_models.PackageInputPathBase",
+ mode: Optional[Union[str, "_models.PackageInputDeliveryMode"]] = None,
+ mount_path: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword input_type: [Required] Type of the input included in the target image. Required. Known
+ values are: "UriFile" and "UriFolder".
+ :paramtype input_type: str or ~azure.mgmt.machinelearningservices.models.PackageInputType
+ :keyword mode: Input delivery mode of the input. Known values are: "ReadOnlyMount" and
+ "Download".
+ :paramtype mode: str or ~azure.mgmt.machinelearningservices.models.PackageInputDeliveryMode
+ :keyword mount_path: Relative mount path of the input in the target image.
+ :paramtype mount_path: str
+ :keyword path: [Required] Location of the input. Required.
+ :paramtype path: ~azure.mgmt.machinelearningservices.models.PackageInputPathBase
+ """
+ super().__init__(**kwargs)
+ self.input_type = input_type
+ self.mode = mode
+ self.mount_path = mount_path
+ self.path = path
+
+
class ModelVersion(Resource):
"""Azure Resource Manager resource envelope.
@@ -14510,7 +18455,7 @@ class ModelVersion(Resource):
"properties": {"key": "properties", "type": "ModelVersionProperties"},
}
- def __init__(self, *, properties: "_models.ModelVersionProperties", **kwargs):
+ def __init__(self, *, properties: "_models.ModelVersionProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ModelVersionProperties
@@ -14522,6 +18467,8 @@ def __init__(self, *, properties: "_models.ModelVersionProperties", **kwargs):
class ModelVersionProperties(AssetBase):
"""Model asset 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.
@@ -14540,8 +18487,16 @@ class ModelVersionProperties(AssetBase):
:vartype model_type: str
:ivar model_uri: The URI path to the model contents.
:vartype model_uri: str
+ :ivar provisioning_state: Provisioning state for the model version. Known values are:
+ "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting".
+ :vartype provisioning_state: str or
+ ~azure.mgmt.machinelearningservices.models.AssetProvisioningState
"""
+ _validation = {
+ "provisioning_state": {"readonly": True},
+ }
+
_attribute_map = {
"description": {"key": "description", "type": "str"},
"properties": {"key": "properties", "type": "{str}"},
@@ -14552,6 +18507,7 @@ class ModelVersionProperties(AssetBase):
"job_name": {"key": "jobName", "type": "str"},
"model_type": {"key": "modelType", "type": "str"},
"model_uri": {"key": "modelUri", "type": "str"},
+ "provisioning_state": {"key": "provisioningState", "type": "str"},
}
def __init__(
@@ -14566,8 +18522,8 @@ def __init__(
job_name: Optional[str] = None,
model_type: Optional[str] = None,
model_uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -14600,6 +18556,7 @@ def __init__(
self.job_name = job_name
self.model_type = model_type
self.model_uri = model_uri
+ self.provisioning_state = None
class ModelVersionResourceArmPaginatedResult(_serialization.Model):
@@ -14618,8 +18575,8 @@ class ModelVersionResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.ModelVersion"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.ModelVersion"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of ModelVersion objects. If null, there are no
additional pages.
@@ -14637,48 +18594,275 @@ class Mpi(DistributionConfiguration):
All required parameters must be populated in order to send to Azure.
- :ivar distribution_type: [Required] Specifies the type of distribution framework. Required.
- Known values are: "PyTorch", "TensorFlow", and "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
+ :ivar distribution_type: [Required] Specifies the type of distribution framework. Required.
+ Known values are: "PyTorch", "TensorFlow", and "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: Any) -> None:
+ """
+ :keyword process_count_per_instance: Number of processes per MPI node.
+ :paramtype process_count_per_instance: int
+ """
+ super().__init__(**kwargs)
+ self.distribution_type: str = "Mpi"
+ self.process_count_per_instance = process_count_per_instance
+
+
+class NlpFixedParameters(_serialization.Model):
+ """Fixed training parameters that won't be swept over during AutoML NLP training.
+
+ :ivar gradient_accumulation_steps: Number of steps to accumulate gradients over before running
+ a backward pass.
+ :vartype gradient_accumulation_steps: int
+ :ivar learning_rate: The learning rate for the training procedure.
+ :vartype learning_rate: float
+ :ivar learning_rate_scheduler: The type of learning rate schedule to use during the training
+ procedure. Known values are: "None", "Linear", "Cosine", "CosineWithRestarts", "Polynomial",
+ "Constant", and "ConstantWithWarmup".
+ :vartype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.NlpLearningRateScheduler
+ :ivar model_name: The name of the model to train.
+ :vartype model_name: str
+ :ivar number_of_epochs: Number of training epochs.
+ :vartype number_of_epochs: int
+ :ivar training_batch_size: The batch size for the training procedure.
+ :vartype training_batch_size: int
+ :ivar validation_batch_size: The batch size to be used during evaluation.
+ :vartype validation_batch_size: int
+ :ivar warmup_ratio: The warmup ratio, used alongside LrSchedulerType.
+ :vartype warmup_ratio: float
+ :ivar weight_decay: The weight decay for the training procedure.
+ :vartype weight_decay: float
+ """
+
+ _attribute_map = {
+ "gradient_accumulation_steps": {"key": "gradientAccumulationSteps", "type": "int"},
+ "learning_rate": {"key": "learningRate", "type": "float"},
+ "learning_rate_scheduler": {"key": "learningRateScheduler", "type": "str"},
+ "model_name": {"key": "modelName", "type": "str"},
+ "number_of_epochs": {"key": "numberOfEpochs", "type": "int"},
+ "training_batch_size": {"key": "trainingBatchSize", "type": "int"},
+ "validation_batch_size": {"key": "validationBatchSize", "type": "int"},
+ "warmup_ratio": {"key": "warmupRatio", "type": "float"},
+ "weight_decay": {"key": "weightDecay", "type": "float"},
+ }
+
+ def __init__(
+ self,
+ *,
+ gradient_accumulation_steps: Optional[int] = None,
+ learning_rate: Optional[float] = None,
+ learning_rate_scheduler: Optional[Union[str, "_models.NlpLearningRateScheduler"]] = None,
+ model_name: Optional[str] = None,
+ number_of_epochs: Optional[int] = None,
+ training_batch_size: Optional[int] = None,
+ validation_batch_size: Optional[int] = None,
+ warmup_ratio: Optional[float] = None,
+ weight_decay: Optional[float] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword gradient_accumulation_steps: Number of steps to accumulate gradients over before
+ running a backward pass.
+ :paramtype gradient_accumulation_steps: int
+ :keyword learning_rate: The learning rate for the training procedure.
+ :paramtype learning_rate: float
+ :keyword learning_rate_scheduler: The type of learning rate schedule to use during the training
+ procedure. Known values are: "None", "Linear", "Cosine", "CosineWithRestarts", "Polynomial",
+ "Constant", and "ConstantWithWarmup".
+ :paramtype learning_rate_scheduler: str or
+ ~azure.mgmt.machinelearningservices.models.NlpLearningRateScheduler
+ :keyword model_name: The name of the model to train.
+ :paramtype model_name: str
+ :keyword number_of_epochs: Number of training epochs.
+ :paramtype number_of_epochs: int
+ :keyword training_batch_size: The batch size for the training procedure.
+ :paramtype training_batch_size: int
+ :keyword validation_batch_size: The batch size to be used during evaluation.
+ :paramtype validation_batch_size: int
+ :keyword warmup_ratio: The warmup ratio, used alongside LrSchedulerType.
+ :paramtype warmup_ratio: float
+ :keyword weight_decay: The weight decay for the training procedure.
+ :paramtype weight_decay: float
+ """
+ super().__init__(**kwargs)
+ self.gradient_accumulation_steps = gradient_accumulation_steps
+ self.learning_rate = learning_rate
+ self.learning_rate_scheduler = learning_rate_scheduler
+ self.model_name = model_name
+ self.number_of_epochs = number_of_epochs
+ self.training_batch_size = training_batch_size
+ self.validation_batch_size = validation_batch_size
+ self.warmup_ratio = warmup_ratio
+ self.weight_decay = weight_decay
+
+
+class NlpParameterSubspace(_serialization.Model):
+ """Stringified search spaces for each parameter. See below examples.
+
+ :ivar gradient_accumulation_steps: Number of steps to accumulate gradients over before running
+ a backward pass.
+ :vartype gradient_accumulation_steps: str
+ :ivar learning_rate: The learning rate for the training procedure.
+ :vartype learning_rate: str
+ :ivar learning_rate_scheduler: The type of learning rate schedule to use during the training
+ procedure.
+ :vartype learning_rate_scheduler: str
+ :ivar model_name: The name of the model to train.
+ :vartype model_name: str
+ :ivar number_of_epochs: Number of training epochs.
+ :vartype number_of_epochs: str
+ :ivar training_batch_size: The batch size for the training procedure.
+ :vartype training_batch_size: str
+ :ivar validation_batch_size: The batch size to be used during evaluation.
+ :vartype validation_batch_size: str
+ :ivar warmup_ratio: The warmup ratio, used alongside LrSchedulerType.
+ :vartype warmup_ratio: str
+ :ivar weight_decay: The weight decay for the training procedure.
+ :vartype weight_decay: str
+ """
+
+ _attribute_map = {
+ "gradient_accumulation_steps": {"key": "gradientAccumulationSteps", "type": "str"},
+ "learning_rate": {"key": "learningRate", "type": "str"},
+ "learning_rate_scheduler": {"key": "learningRateScheduler", "type": "str"},
+ "model_name": {"key": "modelName", "type": "str"},
+ "number_of_epochs": {"key": "numberOfEpochs", "type": "str"},
+ "training_batch_size": {"key": "trainingBatchSize", "type": "str"},
+ "validation_batch_size": {"key": "validationBatchSize", "type": "str"},
+ "warmup_ratio": {"key": "warmupRatio", "type": "str"},
+ "weight_decay": {"key": "weightDecay", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ gradient_accumulation_steps: Optional[str] = None,
+ learning_rate: Optional[str] = None,
+ learning_rate_scheduler: Optional[str] = None,
+ model_name: Optional[str] = None,
+ number_of_epochs: Optional[str] = None,
+ training_batch_size: Optional[str] = None,
+ validation_batch_size: Optional[str] = None,
+ warmup_ratio: Optional[str] = None,
+ weight_decay: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword gradient_accumulation_steps: Number of steps to accumulate gradients over before
+ running a backward pass.
+ :paramtype gradient_accumulation_steps: str
+ :keyword learning_rate: The learning rate for the training procedure.
+ :paramtype learning_rate: str
+ :keyword learning_rate_scheduler: The type of learning rate schedule to use during the training
+ procedure.
+ :paramtype learning_rate_scheduler: str
+ :keyword model_name: The name of the model to train.
+ :paramtype model_name: str
+ :keyword number_of_epochs: Number of training epochs.
+ :paramtype number_of_epochs: str
+ :keyword training_batch_size: The batch size for the training procedure.
+ :paramtype training_batch_size: str
+ :keyword validation_batch_size: The batch size to be used during evaluation.
+ :paramtype validation_batch_size: str
+ :keyword warmup_ratio: The warmup ratio, used alongside LrSchedulerType.
+ :paramtype warmup_ratio: str
+ :keyword weight_decay: The weight decay for the training procedure.
+ :paramtype weight_decay: str
+ """
+ super().__init__(**kwargs)
+ self.gradient_accumulation_steps = gradient_accumulation_steps
+ self.learning_rate = learning_rate
+ self.learning_rate_scheduler = learning_rate_scheduler
+ self.model_name = model_name
+ self.number_of_epochs = number_of_epochs
+ self.training_batch_size = training_batch_size
+ self.validation_batch_size = validation_batch_size
+ self.warmup_ratio = warmup_ratio
+ self.weight_decay = weight_decay
+
+
+class NlpSweepSettings(_serialization.Model):
+ """Model sweeping and hyperparameter tuning related settings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar early_termination: Type of early termination policy for the sweeping job.
+ :vartype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :ivar sampling_algorithm: [Required] Type of sampling algorithm. Required. Known values are:
+ "Grid", "Random", and "Bayesian".
+ :vartype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
"""
_validation = {
- "distribution_type": {"required": True},
+ "sampling_algorithm": {"required": True},
}
_attribute_map = {
- "distribution_type": {"key": "distributionType", "type": "str"},
- "process_count_per_instance": {"key": "processCountPerInstance", "type": "int"},
+ "early_termination": {"key": "earlyTermination", "type": "EarlyTerminationPolicy"},
+ "sampling_algorithm": {"key": "samplingAlgorithm", "type": "str"},
}
- def __init__(self, *, process_count_per_instance: Optional[int] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ sampling_algorithm: Union[str, "_models.SamplingAlgorithmType"],
+ early_termination: Optional["_models.EarlyTerminationPolicy"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword process_count_per_instance: Number of processes per MPI node.
- :paramtype process_count_per_instance: int
+ :keyword early_termination: Type of early termination policy for the sweeping job.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword sampling_algorithm: [Required] Type of sampling algorithm. Required. Known values are:
+ "Grid", "Random", and "Bayesian".
+ :paramtype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
"""
super().__init__(**kwargs)
- self.distribution_type: str = "Mpi"
- self.process_count_per_instance = process_count_per_instance
+ self.early_termination = early_termination
+ self.sampling_algorithm = sampling_algorithm
class NlpVertical(_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
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
"""
_attribute_map = {
"featurization_settings": {"key": "featurizationSettings", "type": "NlpVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "NlpFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "NlpVerticalLimitSettings"},
+ "search_space": {"key": "searchSpace", "type": "[NlpParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "NlpSweepSettings"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
}
@@ -14686,22 +18870,36 @@ def __init__(
self,
*,
featurization_settings: Optional["_models.NlpVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.NlpFixedParameters"] = None,
limit_settings: Optional["_models.NlpVerticalLimitSettings"] = None,
+ search_space: Optional[List["_models.NlpParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.NlpSweepSettings"] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword featurization_settings: Featurization inputs needed for AutoML job.
:paramtype featurization_settings:
~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
:keyword validation_data: Validation data inputs.
:paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
"""
super().__init__(**kwargs)
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.validation_data = validation_data
@@ -14716,7 +18914,7 @@ class NlpVerticalFeaturizationSettings(FeaturizationSettings):
"dataset_language": {"key": "datasetLanguage", "type": "str"},
}
- def __init__(self, *, dataset_language: Optional[str] = None, **kwargs):
+ def __init__(self, *, dataset_language: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword dataset_language: Dataset language, useful for the text data.
:paramtype dataset_language: str
@@ -14729,38 +18927,52 @@ class NlpVerticalLimitSettings(_serialization.Model):
:ivar max_concurrent_trials: Maximum Concurrent AutoML iterations.
:vartype max_concurrent_trials: int
+ :ivar max_nodes: Maximum nodes to use for the experiment.
+ :vartype max_nodes: int
:ivar max_trials: Number of AutoML iterations.
:vartype max_trials: int
:ivar timeout: AutoML job timeout.
:vartype timeout: ~datetime.timedelta
+ :ivar trial_timeout: Timeout for individual HD trials.
+ :vartype trial_timeout: ~datetime.timedelta
"""
_attribute_map = {
"max_concurrent_trials": {"key": "maxConcurrentTrials", "type": "int"},
+ "max_nodes": {"key": "maxNodes", "type": "int"},
"max_trials": {"key": "maxTrials", "type": "int"},
"timeout": {"key": "timeout", "type": "duration"},
+ "trial_timeout": {"key": "trialTimeout", "type": "duration"},
}
def __init__(
self,
*,
max_concurrent_trials: int = 1,
+ max_nodes: int = 1,
max_trials: int = 1,
- timeout: Optional[datetime.timedelta] = None,
- **kwargs
- ):
+ timeout: datetime.timedelta = "P7D",
+ trial_timeout: Optional[datetime.timedelta] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword max_concurrent_trials: Maximum Concurrent AutoML iterations.
:paramtype max_concurrent_trials: int
+ :keyword max_nodes: Maximum nodes to use for the experiment.
+ :paramtype max_nodes: int
:keyword max_trials: Number of AutoML iterations.
:paramtype max_trials: int
:keyword timeout: AutoML job timeout.
:paramtype timeout: ~datetime.timedelta
+ :keyword trial_timeout: Timeout for individual HD trials.
+ :paramtype trial_timeout: ~datetime.timedelta
"""
super().__init__(**kwargs)
self.max_concurrent_trials = max_concurrent_trials
+ self.max_nodes = max_nodes
self.max_trials = max_trials
self.timeout = timeout
+ self.trial_timeout = trial_timeout
class NodeStateCounts(_serialization.Model):
@@ -14800,7 +19012,7 @@ class NodeStateCounts(_serialization.Model):
"preempted_node_count": {"key": "preemptedNodeCount", "type": "int"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.idle_node_count = None
@@ -14817,10 +19029,12 @@ class NoneAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2)
All required parameters must be populated in order to send to Azure.
:ivar auth_type: Authentication type of the connection target. Required. Known values are:
- "PAT", "ManagedIdentity", "UsernamePassword", "None", and "SAS".
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
:vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
:ivar category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:ivar target:
:vartype target: str
@@ -14849,11 +19063,12 @@ def __init__(
target: Optional[str] = None,
value: Optional[str] = None,
value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:keyword target:
:paramtype target: str
@@ -14872,7 +19087,8 @@ class NoneDatastoreCredentials(DatastoreCredentials):
All required parameters must be populated in order to send to Azure.
:ivar credentials_type: [Required] Credential type used to authentication with storage.
- Required. Known values are: "AccountKey", "Certificate", "None", "Sas", and "ServicePrincipal".
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
:vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
"""
@@ -14884,7 +19100,7 @@ class NoneDatastoreCredentials(DatastoreCredentials):
"credentials_type": {"key": "credentialsType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.credentials_type: str = "None"
@@ -14935,7 +19151,7 @@ class NotebookAccessTokenResult(_serialization.Model):
"scope": {"key": "scope", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.notebook_resource_id = None
@@ -14962,7 +19178,9 @@ class NotebookPreparationError(_serialization.Model):
"status_code": {"key": "statusCode", "type": "int"},
}
- def __init__(self, *, error_message: Optional[str] = None, status_code: Optional[int] = None, **kwargs):
+ def __init__(
+ self, *, error_message: Optional[str] = None, status_code: Optional[int] = None, **kwargs: Any
+ ) -> None:
"""
:keyword error_message:
:paramtype error_message: str
@@ -14998,8 +19216,8 @@ def __init__(
fqdn: Optional[str] = None,
resource_id: Optional[str] = None,
notebook_preparation_error: Optional["_models.NotebookPreparationError"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword fqdn:
:paramtype fqdn: str
@@ -15015,6 +19233,42 @@ def __init__(
self.notebook_preparation_error = notebook_preparation_error
+class NotificationSetting(_serialization.Model):
+ """Configuration for notification.
+
+ :ivar email_on: Send email notification to user on specified notification type.
+ :vartype email_on: list[str or
+ ~azure.mgmt.machinelearningservices.models.EmailNotificationEnableType]
+ :ivar emails: This is the email recipient list which has a limitation of 499 characters in
+ total concat with comma separator.
+ :vartype emails: list[str]
+ """
+
+ _attribute_map = {
+ "email_on": {"key": "emailOn", "type": "[str]"},
+ "emails": {"key": "emails", "type": "[str]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ email_on: Optional[List[Union[str, "_models.EmailNotificationEnableType"]]] = None,
+ emails: Optional[List[str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword email_on: Send email notification to user on specified notification type.
+ :paramtype email_on: list[str or
+ ~azure.mgmt.machinelearningservices.models.EmailNotificationEnableType]
+ :keyword emails: This is the email recipient list which has a limitation of 499 characters in
+ total concat with comma separator.
+ :paramtype emails: list[str]
+ """
+ super().__init__(**kwargs)
+ self.email_on = email_on
+ self.emails = emails
+
+
class Objective(_serialization.Model):
"""Optimization objective.
@@ -15037,7 +19291,7 @@ class Objective(_serialization.Model):
"primary_metric": {"key": "primaryMetric", "type": "str"},
}
- def __init__(self, *, goal: Union[str, "_models.Goal"], primary_metric: str, **kwargs):
+ def __init__(self, *, goal: Union[str, "_models.Goal"], primary_metric: str, **kwargs: Any) -> None:
"""
:keyword goal: [Required] Defines supported metric goals for hyperparameter tuning. Required.
Known values are: "Minimize" and "Maximize".
@@ -15114,8 +19368,8 @@ def __init__(
identity: Optional["_models.ManagedServiceIdentity"] = None,
kind: Optional[str] = None,
sku: Optional["_models.Sku"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -15154,8 +19408,12 @@ class OnlineDeploymentTrackedResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.OnlineDeployment"]] = None, **kwargs
- ):
+ self,
+ *,
+ next_link: Optional[str] = None,
+ value: Optional[List["_models.OnlineDeployment"]] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of OnlineDeployment objects. If null, there are
no additional pages.
@@ -15232,8 +19490,8 @@ def __init__(
identity: Optional["_models.ManagedServiceIdentity"] = None,
kind: Optional[str] = None,
sku: Optional["_models.Sku"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -15256,7 +19514,7 @@ def __init__(
self.sku = sku
-class OnlineEndpointProperties(EndpointPropertiesBase):
+class OnlineEndpointProperties(EndpointPropertiesBase): # pylint: disable=too-many-instance-attributes
"""Online endpoint configuration.
Variables are only populated by the server, and will be ignored when sending a request.
@@ -15282,6 +19540,9 @@ class OnlineEndpointProperties(EndpointPropertiesBase):
:ivar compute: ARM resource ID of the compute if it exists.
optional.
:vartype compute: str
+ :ivar mirror_traffic: Percentage of traffic to be mirrored to each deployment without using
+ returned scoring. Traffic values need to sum to utmost 50.
+ :vartype mirror_traffic: dict[str, int]
:ivar provisioning_state: Provisioning state for the endpoint. Known values are: "Creating",
"Deleting", "Succeeded", "Failed", "Updating", and "Canceled".
:vartype provisioning_state: str or
@@ -15310,6 +19571,7 @@ class OnlineEndpointProperties(EndpointPropertiesBase):
"scoring_uri": {"key": "scoringUri", "type": "str"},
"swagger_uri": {"key": "swaggerUri", "type": "str"},
"compute": {"key": "compute", "type": "str"},
+ "mirror_traffic": {"key": "mirrorTraffic", "type": "{int}"},
"provisioning_state": {"key": "provisioningState", "type": "str"},
"public_network_access": {"key": "publicNetworkAccess", "type": "str"},
"traffic": {"key": "traffic", "type": "{int}"},
@@ -15323,10 +19585,11 @@ def __init__(
keys: Optional["_models.EndpointAuthKeys"] = None,
properties: Optional[Dict[str, str]] = None,
compute: Optional[str] = None,
+ mirror_traffic: Optional[Dict[str, int]] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccessType"]] = None,
traffic: Optional[Dict[str, int]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword auth_mode: [Required] Use 'Key' for key based authentication and 'AMLToken' for Azure
Machine Learning token-based authentication. 'Key' doesn't expire but 'AMLToken' does.
@@ -15343,6 +19606,9 @@ def __init__(
:keyword compute: ARM resource ID of the compute if it exists.
optional.
:paramtype compute: str
+ :keyword mirror_traffic: Percentage of traffic to be mirrored to each deployment without using
+ returned scoring. Traffic values need to sum to utmost 50.
+ :paramtype mirror_traffic: dict[str, int]
:keyword public_network_access: Set to "Enabled" for endpoints that should allow public access
when Private Link is enabled. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or
@@ -15353,6 +19619,7 @@ def __init__(
"""
super().__init__(auth_mode=auth_mode, description=description, keys=keys, properties=properties, **kwargs)
self.compute = compute
+ self.mirror_traffic = mirror_traffic
self.provisioning_state = None
self.public_network_access = public_network_access
self.traffic = traffic
@@ -15374,8 +19641,8 @@ class OnlineEndpointTrackedResourceArmPaginatedResult(_serialization.Model):
}
def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.OnlineEndpoint"]] = None, **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.OnlineEndpoint"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of OnlineEndpoint objects. If null, there are no
additional pages.
@@ -15388,6 +19655,61 @@ def __init__(
self.value = value
+class OnlineInferenceConfiguration(_serialization.Model):
+ """Online inference configuration options.
+
+ :ivar configurations: Additional configurations.
+ :vartype configurations: dict[str, str]
+ :ivar entry_script: Entry script or command to invoke.
+ :vartype entry_script: str
+ :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 = {
+ "configurations": {"key": "configurations", "type": "{str}"},
+ "entry_script": {"key": "entryScript", "type": "str"},
+ "liveness_route": {"key": "livenessRoute", "type": "Route"},
+ "readiness_route": {"key": "readinessRoute", "type": "Route"},
+ "scoring_route": {"key": "scoringRoute", "type": "Route"},
+ }
+
+ def __init__(
+ self,
+ *,
+ configurations: Optional[Dict[str, str]] = None,
+ entry_script: Optional[str] = None,
+ liveness_route: Optional["_models.Route"] = None,
+ readiness_route: Optional["_models.Route"] = None,
+ scoring_route: Optional["_models.Route"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword configurations: Additional configurations.
+ :paramtype configurations: dict[str, str]
+ :keyword entry_script: Entry script or command to invoke.
+ :paramtype entry_script: str
+ :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().__init__(**kwargs)
+ self.configurations = configurations
+ self.entry_script = entry_script
+ self.liveness_route = liveness_route
+ self.readiness_route = readiness_route
+ self.scoring_route = scoring_route
+
+
class OnlineRequestSettings(_serialization.Model):
"""Online deployment scoring requests configuration.
@@ -15415,8 +19737,8 @@ def __init__(
max_concurrent_requests_per_instance: int = 1,
max_queue_wait: datetime.timedelta = "PT0.5S",
request_timeout: datetime.timedelta = "PT5S",
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword max_concurrent_requests_per_instance: The number of maximum concurrent requests per
node allowed per deployment. Defaults to 1.
@@ -15459,7 +19781,7 @@ class OutputPathAssetReference(AssetReferenceBase):
"path": {"key": "path", "type": "str"},
}
- def __init__(self, *, job_id: Optional[str] = None, path: Optional[str] = None, **kwargs):
+ def __init__(self, *, job_id: Optional[str] = None, path: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword job_id: ARM resource ID of the job.
:paramtype job_id: str
@@ -15472,6 +19794,307 @@ def __init__(self, *, job_id: Optional[str] = None, path: Optional[str] = None,
self.path = path
+class PackageInputPathBase(_serialization.Model):
+ """PackageInputPathBase.
+
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ PackageInputPathId, PackageInputPathVersion, PackageInputPathUrl
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar input_path_type: [Required] Input path type for package inputs. Required. Known values
+ are: "Url", "PathId", and "PathVersion".
+ :vartype input_path_type: str or ~azure.mgmt.machinelearningservices.models.InputPathType
+ """
+
+ _validation = {
+ "input_path_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "input_path_type": {"key": "inputPathType", "type": "str"},
+ }
+
+ _subtype_map = {
+ "input_path_type": {
+ "PathId": "PackageInputPathId",
+ "PathVersion": "PackageInputPathVersion",
+ "Url": "PackageInputPathUrl",
+ }
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.input_path_type: Optional[str] = None
+
+
+class PackageInputPathId(PackageInputPathBase):
+ """Package input path specified with a resource id.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar input_path_type: [Required] Input path type for package inputs. Required. Known values
+ are: "Url", "PathId", and "PathVersion".
+ :vartype input_path_type: str or ~azure.mgmt.machinelearningservices.models.InputPathType
+ :ivar resource_id: Input resource id.
+ :vartype resource_id: str
+ """
+
+ _validation = {
+ "input_path_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "input_path_type": {"key": "inputPathType", "type": "str"},
+ "resource_id": {"key": "resourceId", "type": "str"},
+ }
+
+ def __init__(self, *, resource_id: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword resource_id: Input resource id.
+ :paramtype resource_id: str
+ """
+ super().__init__(**kwargs)
+ self.input_path_type: str = "PathId"
+ self.resource_id = resource_id
+
+
+class PackageInputPathUrl(PackageInputPathBase):
+ """Package input path specified as an url.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar input_path_type: [Required] Input path type for package inputs. Required. Known values
+ are: "Url", "PathId", and "PathVersion".
+ :vartype input_path_type: str or ~azure.mgmt.machinelearningservices.models.InputPathType
+ :ivar url: Input path url.
+ :vartype url: str
+ """
+
+ _validation = {
+ "input_path_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "input_path_type": {"key": "inputPathType", "type": "str"},
+ "url": {"key": "url", "type": "str"},
+ }
+
+ def __init__(self, *, url: Optional[str] = None, **kwargs: Any) -> None:
+ """
+ :keyword url: Input path url.
+ :paramtype url: str
+ """
+ super().__init__(**kwargs)
+ self.input_path_type: str = "Url"
+ self.url = url
+
+
+class PackageInputPathVersion(PackageInputPathBase):
+ """Package input path specified with name and version.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar input_path_type: [Required] Input path type for package inputs. Required. Known values
+ are: "Url", "PathId", and "PathVersion".
+ :vartype input_path_type: str or ~azure.mgmt.machinelearningservices.models.InputPathType
+ :ivar resource_name: Input resource name.
+ :vartype resource_name: str
+ :ivar resource_version: Input resource version.
+ :vartype resource_version: str
+ """
+
+ _validation = {
+ "input_path_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "input_path_type": {"key": "inputPathType", "type": "str"},
+ "resource_name": {"key": "resourceName", "type": "str"},
+ "resource_version": {"key": "resourceVersion", "type": "str"},
+ }
+
+ def __init__(
+ self, *, resource_name: Optional[str] = None, resource_version: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword resource_name: Input resource name.
+ :paramtype resource_name: str
+ :keyword resource_version: Input resource version.
+ :paramtype resource_version: str
+ """
+ super().__init__(**kwargs)
+ self.input_path_type: str = "PathVersion"
+ self.resource_name = resource_name
+ self.resource_version = resource_version
+
+
+class PackageRequest(_serialization.Model):
+ """Model package operation request properties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar base_environment_source: Base environment to start with.
+ :vartype base_environment_source:
+ ~azure.mgmt.machinelearningservices.models.BaseEnvironmentSource
+ :ivar environment_variables: Collection of environment variables.
+ :vartype environment_variables: dict[str, str]
+ :ivar inferencing_server: [Required] Inferencing server configurations. Required.
+ :vartype inferencing_server: ~azure.mgmt.machinelearningservices.models.InferencingServer
+ :ivar inputs: Collection of inputs.
+ :vartype inputs: list[~azure.mgmt.machinelearningservices.models.ModelPackageInput]
+ :ivar model_configuration: Model configuration including the mount mode.
+ :vartype model_configuration: ~azure.mgmt.machinelearningservices.models.ModelConfiguration
+ :ivar tags: Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar target_environment_name: [Required] Target environment name to be generated by package.
+ Required.
+ :vartype target_environment_name: str
+ :ivar target_environment_version: Target environment version to be generated by package.
+ :vartype target_environment_version: str
+ """
+
+ _validation = {
+ "inferencing_server": {"required": True},
+ "target_environment_name": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ }
+
+ _attribute_map = {
+ "base_environment_source": {"key": "baseEnvironmentSource", "type": "BaseEnvironmentSource"},
+ "environment_variables": {"key": "environmentVariables", "type": "{str}"},
+ "inferencing_server": {"key": "inferencingServer", "type": "InferencingServer"},
+ "inputs": {"key": "inputs", "type": "[ModelPackageInput]"},
+ "model_configuration": {"key": "modelConfiguration", "type": "ModelConfiguration"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "target_environment_name": {"key": "targetEnvironmentName", "type": "str"},
+ "target_environment_version": {"key": "targetEnvironmentVersion", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ inferencing_server: "_models.InferencingServer",
+ target_environment_name: str,
+ base_environment_source: Optional["_models.BaseEnvironmentSource"] = None,
+ environment_variables: Optional[Dict[str, str]] = None,
+ inputs: Optional[List["_models.ModelPackageInput"]] = None,
+ model_configuration: Optional["_models.ModelConfiguration"] = None,
+ tags: Optional[Dict[str, str]] = None,
+ target_environment_version: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword base_environment_source: Base environment to start with.
+ :paramtype base_environment_source:
+ ~azure.mgmt.machinelearningservices.models.BaseEnvironmentSource
+ :keyword environment_variables: Collection of environment variables.
+ :paramtype environment_variables: dict[str, str]
+ :keyword inferencing_server: [Required] Inferencing server configurations. Required.
+ :paramtype inferencing_server: ~azure.mgmt.machinelearningservices.models.InferencingServer
+ :keyword inputs: Collection of inputs.
+ :paramtype inputs: list[~azure.mgmt.machinelearningservices.models.ModelPackageInput]
+ :keyword model_configuration: Model configuration including the mount mode.
+ :paramtype model_configuration: ~azure.mgmt.machinelearningservices.models.ModelConfiguration
+ :keyword tags: Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword target_environment_name: [Required] Target environment name to be generated by
+ package. Required.
+ :paramtype target_environment_name: str
+ :keyword target_environment_version: Target environment version to be generated by package.
+ :paramtype target_environment_version: str
+ """
+ super().__init__(**kwargs)
+ self.base_environment_source = base_environment_source
+ self.environment_variables = environment_variables
+ self.inferencing_server = inferencing_server
+ self.inputs = inputs
+ self.model_configuration = model_configuration
+ self.tags = tags
+ self.target_environment_name = target_environment_name
+ self.target_environment_version = target_environment_version
+
+
+class PackageResponse(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """Package response returned after async package operation completes successfully.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar base_environment_source: Base environment to start with.
+ :vartype base_environment_source:
+ ~azure.mgmt.machinelearningservices.models.BaseEnvironmentSource
+ :ivar build_id: Build id of the image build operation.
+ :vartype build_id: str
+ :ivar build_state: Build state of the image build operation. Known values are: "NotStarted",
+ "Running", "Succeeded", and "Failed".
+ :vartype build_state: str or ~azure.mgmt.machinelearningservices.models.PackageBuildState
+ :ivar environment_variables: Collection of environment variables.
+ :vartype environment_variables: dict[str, str]
+ :ivar inferencing_server: Inferencing server configurations.
+ :vartype inferencing_server: ~azure.mgmt.machinelearningservices.models.InferencingServer
+ :ivar inputs: Collection of inputs.
+ :vartype inputs: list[~azure.mgmt.machinelearningservices.models.ModelPackageInput]
+ :ivar log_url: Log url of the image build operation.
+ :vartype log_url: str
+ :ivar model_configuration: Model configuration including the mount mode.
+ :vartype model_configuration: ~azure.mgmt.machinelearningservices.models.ModelConfiguration
+ :ivar tags: Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar target_environment_id: Asset ID of the target environment created by package operation.
+ :vartype target_environment_id: str
+ :ivar target_environment_name: Target environment name to be generated by package.
+ :vartype target_environment_name: str
+ :ivar target_environment_version: Target environment version to be generated by package.
+ :vartype target_environment_version: str
+ """
+
+ _validation = {
+ "base_environment_source": {"readonly": True},
+ "build_id": {"readonly": True},
+ "build_state": {"readonly": True},
+ "environment_variables": {"readonly": True},
+ "inferencing_server": {"readonly": True},
+ "inputs": {"readonly": True},
+ "log_url": {"readonly": True},
+ "model_configuration": {"readonly": True},
+ "tags": {"readonly": True},
+ "target_environment_id": {"readonly": True},
+ "target_environment_name": {"readonly": True},
+ "target_environment_version": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "base_environment_source": {"key": "baseEnvironmentSource", "type": "BaseEnvironmentSource"},
+ "build_id": {"key": "buildId", "type": "str"},
+ "build_state": {"key": "buildState", "type": "str"},
+ "environment_variables": {"key": "environmentVariables", "type": "{str}"},
+ "inferencing_server": {"key": "inferencingServer", "type": "InferencingServer"},
+ "inputs": {"key": "inputs", "type": "[ModelPackageInput]"},
+ "log_url": {"key": "logUrl", "type": "str"},
+ "model_configuration": {"key": "modelConfiguration", "type": "ModelConfiguration"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "target_environment_id": {"key": "targetEnvironmentId", "type": "str"},
+ "target_environment_name": {"key": "targetEnvironmentName", "type": "str"},
+ "target_environment_version": {"key": "targetEnvironmentVersion", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.base_environment_source = None
+ self.build_id = None
+ self.build_state = None
+ self.environment_variables = None
+ self.inferencing_server = None
+ self.inputs = None
+ self.log_url = None
+ self.model_configuration = None
+ self.tags = None
+ self.target_environment_id = None
+ self.target_environment_name = None
+ self.target_environment_version = None
+
+
class PaginatedComputeResourcesList(_serialization.Model):
"""Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.
@@ -15487,8 +20110,8 @@ class PaginatedComputeResourcesList(_serialization.Model):
}
def __init__(
- self, *, value: Optional[List["_models.ComputeResource"]] = None, next_link: Optional[str] = None, **kwargs
- ):
+ self, *, value: Optional[List["_models.ComputeResource"]] = None, next_link: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword value: An array of Machine Learning compute objects wrapped in ARM resource envelope.
:paramtype value: list[~azure.mgmt.machinelearningservices.models.ComputeResource]
@@ -15511,7 +20134,7 @@ class PartialBatchDeployment(_serialization.Model):
"description": {"key": "description", "type": "str"},
}
- def __init__(self, *, description: Optional[str] = None, **kwargs):
+ def __init__(self, *, description: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword description: Description of the endpoint deployment.
:paramtype description: str
@@ -15539,8 +20162,8 @@ def __init__(
*,
properties: Optional["_models.PartialBatchDeployment"] = None,
tags: Optional[Dict[str, str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties: Additional attributes of the entity.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.PartialBatchDeployment
@@ -15575,8 +20198,8 @@ def __init__(
*,
type: Optional[Union[str, "_models.ManagedServiceIdentityType"]] = None,
user_assigned_identities: Optional[Dict[str, JSON]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword type: Managed service identity (system assigned and/or user assigned identities).
Known values are: "None", "SystemAssigned", "UserAssigned", and "SystemAssigned,UserAssigned".
@@ -15603,7 +20226,7 @@ class PartialMinimalTrackedResource(_serialization.Model):
"tags": {"key": "tags", "type": "{str}"},
}
- def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs):
+ def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -15631,8 +20254,8 @@ def __init__(
*,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.PartialManagedServiceIdentity"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword tags: Resource tags.
:paramtype tags: dict[str, str]
@@ -15657,15 +20280,72 @@ class PartialMinimalTrackedResourceWithSku(PartialMinimalTrackedResource):
"sku": {"key": "sku", "type": "PartialSku"},
}
- def __init__(self, *, tags: Optional[Dict[str, str]] = None, sku: Optional["_models.PartialSku"] = None, **kwargs):
+ def __init__(
+ self, *, tags: Optional[Dict[str, str]] = None, sku: Optional["_models.PartialSku"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword 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().__init__(tags=tags, **kwargs)
+ self.sku = sku
+
+
+class PartialRegistryPartialTrackedResource(_serialization.Model):
+ """Strictly used in update requests.
+
+ :ivar identity: Managed service identity (system assigned and/or user assigned identities).
+ :vartype identity: ~azure.mgmt.machinelearningservices.models.PartialManagedServiceIdentity
+ :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :vartype kind: str
+ :ivar properties: Additional attributes of the entity.
+ :vartype properties: JSON
+ :ivar sku: Sku details required for ARM contract for Autoscaling.
+ :vartype sku: ~azure.mgmt.machinelearningservices.models.PartialSku
+ :ivar tags: Resource tags.
+ :vartype tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ "identity": {"key": "identity", "type": "PartialManagedServiceIdentity"},
+ "kind": {"key": "kind", "type": "str"},
+ "properties": {"key": "properties", "type": "object"},
+ "sku": {"key": "sku", "type": "PartialSku"},
+ "tags": {"key": "tags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ identity: Optional["_models.PartialManagedServiceIdentity"] = None,
+ kind: Optional[str] = None,
+ properties: Optional[JSON] = None,
+ sku: Optional["_models.PartialSku"] = None,
+ tags: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword 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
+ :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for
+ resources of the same type.
+ :paramtype kind: str
+ :keyword properties: Additional attributes of the entity.
+ :paramtype properties: JSON
:keyword sku: Sku details required for ARM contract for Autoscaling.
:paramtype sku: ~azure.mgmt.machinelearningservices.models.PartialSku
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
"""
- super().__init__(tags=tags, **kwargs)
+ super().__init__(**kwargs)
+ self.identity = identity
+ self.kind = kind
+ self.properties = properties
self.sku = sku
+ self.tags = tags
class PartialSku(_serialization.Model):
@@ -15704,8 +20384,8 @@ def __init__(
name: Optional[str] = None,
size: Optional[str] = None,
tier: Optional[Union[str, "_models.SkuTier"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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.
@@ -15752,7 +20432,7 @@ class Password(_serialization.Model):
"value": {"key": "value", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.name = None
@@ -15765,10 +20445,12 @@ class PATAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
All required parameters must be populated in order to send to Azure.
:ivar auth_type: Authentication type of the connection target. Required. Known values are:
- "PAT", "ManagedIdentity", "UsernamePassword", "None", and "SAS".
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
:vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
:ivar category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:ivar target:
:vartype target: str
@@ -15802,11 +20484,12 @@ def __init__(
value: Optional[str] = None,
value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
credentials: Optional["_models.WorkspaceConnectionPersonalAccessToken"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:keyword target:
:paramtype target: str
@@ -15834,7 +20517,7 @@ class PersonalComputeInstanceSettings(_serialization.Model):
"assigned_user": {"key": "assignedUser", "type": "AssignedUser"},
}
- def __init__(self, *, assigned_user: Optional["_models.AssignedUser"] = None, **kwargs):
+ def __init__(self, *, assigned_user: Optional["_models.AssignedUser"] = None, **kwargs: Any) -> None:
"""
:keyword assigned_user: A user explicitly assigned to a personal compute instance.
:paramtype assigned_user: ~azure.mgmt.machinelearningservices.models.AssignedUser
@@ -15872,14 +20555,16 @@ class PipelineJob(JobBaseProperties): # pylint: disable=too-many-instance-attri
:ivar is_archived: Is the asset archived?.
:vartype is_archived: bool
:ivar job_type: [Required] Specifies the type of job. Required. Known values are: "AutoML",
- "Command", "Sweep", and "Pipeline".
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
:vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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. Known values are: "NotStarted", "Starting", "Provisioning",
"Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
- "Canceled", "NotResponding", "Paused", and "Unknown".
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
: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]
@@ -15909,6 +20594,7 @@ class PipelineJob(JobBaseProperties): # pylint: disable=too-many-instance-attri
"identity": {"key": "identity", "type": "IdentityConfiguration"},
"is_archived": {"key": "isArchived", "type": "bool"},
"job_type": {"key": "jobType", "type": "str"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
"services": {"key": "services", "type": "{JobService}"},
"status": {"key": "status", "type": "str"},
"inputs": {"key": "inputs", "type": "{JobInput}"},
@@ -15930,14 +20616,15 @@ def __init__(
experiment_name: str = "Default",
identity: Optional["_models.IdentityConfiguration"] = None,
is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
services: Optional[Dict[str, "_models.JobService"]] = None,
inputs: Optional[Dict[str, "_models.JobInput"]] = None,
jobs: Optional[Dict[str, JSON]] = None,
outputs: Optional[Dict[str, "_models.JobOutput"]] = None,
settings: Optional[JSON] = None,
source_job_id: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -15960,6 +20647,8 @@ def __init__(
:paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
+ :keyword notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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]
@@ -15984,6 +20673,7 @@ def __init__(
experiment_name=experiment_name,
identity=identity,
is_archived=is_archived,
+ notification_setting=notification_setting,
services=services,
**kwargs
)
@@ -16016,7 +20706,7 @@ class PrivateEndpoint(_serialization.Model):
"subnet_arm_id": {"key": "subnetArmId", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
@@ -16093,8 +20783,8 @@ def __init__(
sku: Optional["_models.Sku"] = None,
private_endpoint: Optional["_models.PrivateEndpoint"] = None,
private_link_service_connection_state: Optional["_models.PrivateLinkServiceConnectionState"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword identity: The identity of the resource.
:paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
@@ -16132,7 +20822,7 @@ class PrivateEndpointConnectionListResult(_serialization.Model):
"value": {"key": "value", "type": "[PrivateEndpointConnection]"},
}
- def __init__(self, *, value: Optional[List["_models.PrivateEndpointConnection"]] = None, **kwargs):
+ def __init__(self, *, value: Optional[List["_models.PrivateEndpointConnection"]] = None, **kwargs: Any) -> None:
"""
:keyword value: Array of private endpoint connections.
:paramtype value: list[~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection]
@@ -16204,8 +20894,8 @@ def __init__(
tags: Optional[Dict[str, str]] = None,
sku: Optional["_models.Sku"] = None,
required_zone_names: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword identity: The identity of the resource.
:paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
@@ -16239,7 +20929,7 @@ class PrivateLinkResourceListResult(_serialization.Model):
"value": {"key": "value", "type": "[PrivateLinkResource]"},
}
- def __init__(self, *, value: Optional[List["_models.PrivateLinkResource"]] = None, **kwargs):
+ def __init__(self, *, value: Optional[List["_models.PrivateLinkResource"]] = None, **kwargs: Any) -> None:
"""
:keyword value: Array of private link resources.
:paramtype value: list[~azure.mgmt.machinelearningservices.models.PrivateLinkResource]
@@ -16249,7 +20939,8 @@ def __init__(self, *, value: Optional[List["_models.PrivateLinkResource"]] = Non
class PrivateLinkServiceConnectionState(_serialization.Model):
- """A collection of information about the state of the connection between service consumer and provider.
+ """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. Known values are: "Pending", "Approved", "Rejected", "Disconnected", and
@@ -16275,8 +20966,8 @@ def __init__(
status: Optional[Union[str, "_models.PrivateEndpointServiceConnectionStatus"]] = None,
description: Optional[str] = None,
actions_required: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the
owner of the service. Known values are: "Pending", "Approved", "Rejected", "Disconnected", and
@@ -16326,8 +21017,8 @@ def __init__(
period: datetime.timedelta = "PT10S",
success_threshold: int = 1,
timeout: datetime.timedelta = "PT2S",
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword failure_threshold: The number of failures to allow before returning an unhealthy
status.
@@ -16349,6 +21040,45 @@ def __init__(
self.timeout = timeout
+class ProgressMetrics(_serialization.Model):
+ """Progress metrics definition.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar completed_datapoint_count: The completed datapoint count.
+ :vartype completed_datapoint_count: int
+ :ivar incremental_data_last_refresh_date_time: The time of last successful incremental data
+ refresh in UTC.
+ :vartype incremental_data_last_refresh_date_time: ~datetime.datetime
+ :ivar skipped_datapoint_count: The skipped datapoint count.
+ :vartype skipped_datapoint_count: int
+ :ivar total_datapoint_count: The total datapoint count.
+ :vartype total_datapoint_count: int
+ """
+
+ _validation = {
+ "completed_datapoint_count": {"readonly": True},
+ "incremental_data_last_refresh_date_time": {"readonly": True},
+ "skipped_datapoint_count": {"readonly": True},
+ "total_datapoint_count": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "completed_datapoint_count": {"key": "completedDatapointCount", "type": "int"},
+ "incremental_data_last_refresh_date_time": {"key": "incrementalDataLastRefreshDateTime", "type": "iso-8601"},
+ "skipped_datapoint_count": {"key": "skippedDatapointCount", "type": "int"},
+ "total_datapoint_count": {"key": "totalDatapointCount", "type": "int"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.completed_datapoint_count = None
+ self.incremental_data_last_refresh_date_time = None
+ self.skipped_datapoint_count = None
+ self.total_datapoint_count = None
+
+
class PyTorch(DistributionConfiguration):
"""PyTorch distribution configuration.
@@ -16370,7 +21100,7 @@ class PyTorch(DistributionConfiguration):
"process_count_per_instance": {"key": "processCountPerInstance", "type": "int"},
}
- def __init__(self, *, process_count_per_instance: Optional[int] = None, **kwargs):
+ def __init__(self, *, process_count_per_instance: Optional[int] = None, **kwargs: Any) -> None:
"""
:keyword process_count_per_instance: Number of processes per node.
:paramtype process_count_per_instance: int
@@ -16380,6 +21110,36 @@ def __init__(self, *, process_count_per_instance: Optional[int] = None, **kwargs
self.process_count_per_instance = process_count_per_instance
+class QueueSettings(_serialization.Model):
+ """QueueSettings.
+
+ :ivar job_tier: Enum to determine the job tier. Known values are: "Spot", "Basic", "Standard",
+ and "Premium".
+ :vartype job_tier: str or ~azure.mgmt.machinelearningservices.models.JobTier
+ :ivar priority: Controls the priority of the job on a compute.
+ :vartype priority: int
+ """
+
+ _attribute_map = {
+ "job_tier": {"key": "jobTier", "type": "str"},
+ "priority": {"key": "priority", "type": "int"},
+ }
+
+ def __init__(
+ self, *, job_tier: Optional[Union[str, "_models.JobTier"]] = None, priority: Optional[int] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword job_tier: Enum to determine the job tier. Known values are: "Spot", "Basic",
+ "Standard", and "Premium".
+ :paramtype job_tier: str or ~azure.mgmt.machinelearningservices.models.JobTier
+ :keyword priority: Controls the priority of the job on a compute.
+ :paramtype priority: int
+ """
+ super().__init__(**kwargs)
+ self.job_tier = job_tier
+ self.priority = priority
+
+
class QuotaBaseProperties(_serialization.Model):
"""The properties for Quota update or retrieval.
@@ -16407,8 +21167,8 @@ def __init__(
type: Optional[str] = None,
limit: Optional[int] = None,
unit: Optional[Union[str, "_models.QuotaUnit"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword id: Specifies the resource ID.
:paramtype id: str
@@ -16441,8 +21201,12 @@ class QuotaUpdateParameters(_serialization.Model):
}
def __init__(
- self, *, value: Optional[List["_models.QuotaBaseProperties"]] = None, location: Optional[str] = None, **kwargs
- ):
+ self,
+ *,
+ value: Optional[List["_models.QuotaBaseProperties"]] = None,
+ location: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword value: The list for update quota.
:paramtype value: list[~azure.mgmt.machinelearningservices.models.QuotaBaseProperties]
@@ -16464,6 +21228,9 @@ class RandomSamplingAlgorithm(SamplingAlgorithm):
"Bayesian".
:vartype sampling_algorithm_type: str or
~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ :ivar logbase: An optional positive number or e in string format to be used as base for log
+ based random sampling.
+ :vartype logbase: str
:ivar rule: The specific type of random algorithm. Known values are: "Random" and "Sobol".
:vartype rule: str or ~azure.mgmt.machinelearningservices.models.RandomSamplingAlgorithmRule
:ivar seed: An optional integer to use as the seed for random number generation.
@@ -16476,6 +21243,7 @@ class RandomSamplingAlgorithm(SamplingAlgorithm):
_attribute_map = {
"sampling_algorithm_type": {"key": "samplingAlgorithmType", "type": "str"},
+ "logbase": {"key": "logbase", "type": "str"},
"rule": {"key": "rule", "type": "str"},
"seed": {"key": "seed", "type": "int"},
}
@@ -16483,11 +21251,15 @@ class RandomSamplingAlgorithm(SamplingAlgorithm):
def __init__(
self,
*,
+ logbase: Optional[str] = None,
rule: Optional[Union[str, "_models.RandomSamplingAlgorithmRule"]] = None,
seed: Optional[int] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
+ :keyword logbase: An optional positive number or e in string format to be used as base for log
+ based random sampling.
+ :paramtype logbase: str
:keyword rule: The specific type of random algorithm. Known values are: "Random" and "Sobol".
:paramtype rule: str or ~azure.mgmt.machinelearningservices.models.RandomSamplingAlgorithmRule
:keyword seed: An optional integer to use as the seed for random number generation.
@@ -16495,10 +21267,70 @@ def __init__(
"""
super().__init__(**kwargs)
self.sampling_algorithm_type: str = "Random"
+ self.logbase = logbase
self.rule = rule
self.seed = seed
+class Recurrence(_serialization.Model):
+ """The workflow trigger recurrence for ComputeStartStop schedule type.
+
+ :ivar frequency: [Required] The frequency to trigger schedule. Known values are: "Minute",
+ "Hour", "Day", "Week", and "Month".
+ :vartype frequency: str or ~azure.mgmt.machinelearningservices.models.RecurrenceFrequency
+ :ivar interval: [Required] Specifies schedule interval in conjunction with frequency.
+ :vartype interval: int
+ :ivar start_time: The start time in yyyy-MM-ddTHH:mm:ss format.
+ :vartype start_time: str
+ :ivar time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :vartype time_zone: str
+ :ivar schedule: [Required] The recurrence schedule.
+ :vartype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceSchedule
+ """
+
+ _attribute_map = {
+ "frequency": {"key": "frequency", "type": "str"},
+ "interval": {"key": "interval", "type": "int"},
+ "start_time": {"key": "startTime", "type": "str"},
+ "time_zone": {"key": "timeZone", "type": "str"},
+ "schedule": {"key": "schedule", "type": "RecurrenceSchedule"},
+ }
+
+ def __init__(
+ self,
+ *,
+ frequency: Optional[Union[str, "_models.RecurrenceFrequency"]] = None,
+ interval: Optional[int] = None,
+ start_time: Optional[str] = None,
+ time_zone: str = "UTC",
+ schedule: Optional["_models.RecurrenceSchedule"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword frequency: [Required] The frequency to trigger schedule. Known values are: "Minute",
+ "Hour", "Day", "Week", and "Month".
+ :paramtype frequency: str or ~azure.mgmt.machinelearningservices.models.RecurrenceFrequency
+ :keyword interval: [Required] Specifies schedule interval in conjunction with frequency.
+ :paramtype interval: int
+ :keyword start_time: The start time in yyyy-MM-ddTHH:mm:ss format.
+ :paramtype start_time: str
+ :keyword time_zone: Specifies time zone in which the schedule runs.
+ TimeZone should follow Windows time zone format. Refer:
+ https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones?view=windows-11.
+ :paramtype time_zone: str
+ :keyword schedule: [Required] The recurrence schedule.
+ :paramtype schedule: ~azure.mgmt.machinelearningservices.models.RecurrenceSchedule
+ """
+ super().__init__(**kwargs)
+ self.frequency = frequency
+ self.interval = interval
+ self.start_time = start_time
+ self.time_zone = time_zone
+ self.schedule = schedule
+
+
class RecurrenceSchedule(_serialization.Model):
"""RecurrenceSchedule.
@@ -16533,8 +21365,8 @@ def __init__(
minutes: List[int],
month_days: Optional[List[int]] = None,
week_days: Optional[List[Union[str, "_models.WeekDay"]]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword hours: [Required] List of hours for the schedule. Required.
:paramtype hours: list[int]
@@ -16605,8 +21437,8 @@ def __init__(
start_time: Optional[str] = None,
time_zone: str = "UTC",
schedule: Optional["_models.RecurrenceSchedule"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword end_time: Specifies end time of schedule in ISO 8601, but without a UTC offset. Refer
https://en.wikipedia.org/wiki/ISO_8601.
@@ -16657,7 +21489,9 @@ class RegenerateEndpointKeysRequest(_serialization.Model):
"key_value": {"key": "keyValue", "type": "str"},
}
- def __init__(self, *, key_type: Union[str, "_models.KeyType"], key_value: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, key_type: Union[str, "_models.KeyType"], key_value: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
:keyword key_type: [Required] Specification for which type of key to generate. Primary or
Secondary. Required. Known values are: "Primary" and "Secondary".
@@ -16670,6 +21504,94 @@ def __init__(self, *, key_type: Union[str, "_models.KeyType"], key_value: Option
self.key_value = key_value
+class Registry(TrackedResource):
+ """Registry.
+
+ 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: Resource tags.
+ :vartype tags: dict[str, str]
+ :ivar location: The geo-location where the resource lives. Required.
+ :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] Additional attributes of the entity. Required.
+ :vartype properties: ~azure.mgmt.machinelearningservices.models.RegistryProperties
+ :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": "RegistryProperties"},
+ "sku": {"key": "sku", "type": "Sku"},
+ }
+
+ def __init__(
+ self,
+ *,
+ location: str,
+ properties: "_models.RegistryProperties",
+ tags: Optional[Dict[str, str]] = None,
+ identity: Optional["_models.ManagedServiceIdentity"] = None,
+ kind: Optional[str] = None,
+ sku: Optional["_models.Sku"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword tags: Resource tags.
+ :paramtype tags: dict[str, str]
+ :keyword location: The geo-location where the resource lives. Required.
+ :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] Additional attributes of the entity. Required.
+ :paramtype properties: ~azure.mgmt.machinelearningservices.models.RegistryProperties
+ :keyword sku: Sku details required for ARM contract for Autoscaling.
+ :paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ """
+ super().__init__(tags=tags, location=location, **kwargs)
+ self.identity = identity
+ self.kind = kind
+ self.properties = properties
+ self.sku = sku
+
+
class RegistryListCredentialsResult(_serialization.Model):
"""RegistryListCredentialsResult.
@@ -16694,7 +21616,7 @@ class RegistryListCredentialsResult(_serialization.Model):
"passwords": {"key": "passwords", "type": "[Password]"},
}
- def __init__(self, *, passwords: Optional[List["_models.Password"]] = None, **kwargs):
+ def __init__(self, *, passwords: Optional[List["_models.Password"]] = None, **kwargs: Any) -> None:
"""
:keyword passwords:
:paramtype passwords: list[~azure.mgmt.machinelearningservices.models.Password]
@@ -16705,6 +21627,173 @@ def __init__(self, *, passwords: Optional[List["_models.Password"]] = None, **kw
self.passwords = passwords
+class RegistryProperties(ResourceBase): # pylint: disable=too-many-instance-attributes
+ """Details of the Registry.
+
+ :ivar description: The asset description text.
+ :vartype description: str
+ :ivar properties: The asset property dictionary.
+ :vartype properties: dict[str, str]
+ :ivar tags: Tag dictionary. Tags can be added, removed, and updated.
+ :vartype tags: dict[str, str]
+ :ivar public_network_access:
+ :vartype public_network_access: str
+ :ivar discovery_url:
+ :vartype discovery_url: str
+ :ivar intellectual_property_publisher:
+ :vartype intellectual_property_publisher: str
+ :ivar managed_resource_group: Managed resource group created for the registry.
+ :vartype managed_resource_group: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ :ivar ml_flow_registry_uri:
+ :vartype ml_flow_registry_uri: str
+ :ivar private_link_count:
+ :vartype private_link_count: int
+ :ivar region_details: Details of each region the registry is in.
+ :vartype region_details:
+ list[~azure.mgmt.machinelearningservices.models.RegistryRegionArmDetails]
+ :ivar managed_resource_group_tags: Tags to be applied to the managed resource group associated
+ with this registry.
+ :vartype managed_resource_group_tags: dict[str, str]
+ """
+
+ _attribute_map = {
+ "description": {"key": "description", "type": "str"},
+ "properties": {"key": "properties", "type": "{str}"},
+ "tags": {"key": "tags", "type": "{str}"},
+ "public_network_access": {"key": "publicNetworkAccess", "type": "str"},
+ "discovery_url": {"key": "discoveryUrl", "type": "str"},
+ "intellectual_property_publisher": {"key": "intellectualPropertyPublisher", "type": "str"},
+ "managed_resource_group": {"key": "managedResourceGroup", "type": "ArmResourceId"},
+ "ml_flow_registry_uri": {"key": "mlFlowRegistryUri", "type": "str"},
+ "private_link_count": {"key": "privateLinkCount", "type": "int"},
+ "region_details": {"key": "regionDetails", "type": "[RegistryRegionArmDetails]"},
+ "managed_resource_group_tags": {"key": "managedResourceGroupTags", "type": "{str}"},
+ }
+
+ def __init__(
+ self,
+ *,
+ description: Optional[str] = None,
+ properties: Optional[Dict[str, str]] = None,
+ tags: Optional[Dict[str, str]] = None,
+ public_network_access: Optional[str] = None,
+ discovery_url: Optional[str] = None,
+ intellectual_property_publisher: Optional[str] = None,
+ managed_resource_group: Optional["_models.ArmResourceId"] = None,
+ ml_flow_registry_uri: Optional[str] = None,
+ private_link_count: Optional[int] = None,
+ region_details: Optional[List["_models.RegistryRegionArmDetails"]] = None,
+ managed_resource_group_tags: Optional[Dict[str, str]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword tags: Tag dictionary. Tags can be added, removed, and updated.
+ :paramtype tags: dict[str, str]
+ :keyword public_network_access:
+ :paramtype public_network_access: str
+ :keyword discovery_url:
+ :paramtype discovery_url: str
+ :keyword intellectual_property_publisher:
+ :paramtype intellectual_property_publisher: str
+ :keyword managed_resource_group: Managed resource group created for the registry.
+ :paramtype managed_resource_group: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ :keyword ml_flow_registry_uri:
+ :paramtype ml_flow_registry_uri: str
+ :keyword private_link_count:
+ :paramtype private_link_count: int
+ :keyword region_details: Details of each region the registry is in.
+ :paramtype region_details:
+ list[~azure.mgmt.machinelearningservices.models.RegistryRegionArmDetails]
+ :keyword managed_resource_group_tags: Tags to be applied to the managed resource group
+ associated with this registry.
+ :paramtype managed_resource_group_tags: dict[str, str]
+ """
+ super().__init__(description=description, properties=properties, tags=tags, **kwargs)
+ self.public_network_access = public_network_access
+ self.discovery_url = discovery_url
+ self.intellectual_property_publisher = intellectual_property_publisher
+ self.managed_resource_group = managed_resource_group
+ self.ml_flow_registry_uri = ml_flow_registry_uri
+ self.private_link_count = private_link_count
+ self.region_details = region_details
+ self.managed_resource_group_tags = managed_resource_group_tags
+
+
+class RegistryRegionArmDetails(_serialization.Model):
+ """Details for each region the registry is in.
+
+ :ivar acr_details: List of ACR accounts.
+ :vartype acr_details: list[~azure.mgmt.machinelearningservices.models.AcrDetails]
+ :ivar location: The location where the registry exists.
+ :vartype location: str
+ :ivar storage_account_details: List of storage accounts.
+ :vartype storage_account_details:
+ list[~azure.mgmt.machinelearningservices.models.StorageAccountDetails]
+ """
+
+ _attribute_map = {
+ "acr_details": {"key": "acrDetails", "type": "[AcrDetails]"},
+ "location": {"key": "location", "type": "str"},
+ "storage_account_details": {"key": "storageAccountDetails", "type": "[StorageAccountDetails]"},
+ }
+
+ def __init__(
+ self,
+ *,
+ acr_details: Optional[List["_models.AcrDetails"]] = None,
+ location: Optional[str] = None,
+ storage_account_details: Optional[List["_models.StorageAccountDetails"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword acr_details: List of ACR accounts.
+ :paramtype acr_details: list[~azure.mgmt.machinelearningservices.models.AcrDetails]
+ :keyword location: The location where the registry exists.
+ :paramtype location: str
+ :keyword storage_account_details: List of storage accounts.
+ :paramtype storage_account_details:
+ list[~azure.mgmt.machinelearningservices.models.StorageAccountDetails]
+ """
+ super().__init__(**kwargs)
+ self.acr_details = acr_details
+ self.location = location
+ self.storage_account_details = storage_account_details
+
+
+class RegistryTrackedResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of Registry entities.
+
+ :ivar next_link: The link to the next page of Registry objects. If null, there are no
+ additional pages.
+ :vartype next_link: str
+ :ivar value: An array of objects of type Registry.
+ :vartype value: list[~azure.mgmt.machinelearningservices.models.Registry]
+ """
+
+ _attribute_map = {
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[Registry]"},
+ }
+
+ def __init__(
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.Registry"]] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword next_link: The link to the next page of Registry objects. If null, there are no
+ additional pages.
+ :paramtype next_link: str
+ :keyword value: An array of objects of type Registry.
+ :paramtype value: list[~azure.mgmt.machinelearningservices.models.Registry]
+ """
+ super().__init__(**kwargs)
+ self.next_link = next_link
+ self.value = value
+
+
class Regression(TableVertical, AutoMLVertical): # pylint: disable=too-many-instance-attributes
"""Regression task in AutoML Table vertical.
@@ -16728,11 +21817,19 @@ class Regression(TableVertical, AutoMLVertical): # pylint: disable=too-many-ins
:ivar featurization_settings: Featurization inputs needed for AutoML job.
:vartype featurization_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :ivar fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
: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 search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
: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
@@ -16772,8 +21869,11 @@ class Regression(TableVertical, AutoMLVertical): # pylint: disable=too-many-ins
"training_data": {"key": "trainingData", "type": "MLTableJobInput"},
"cv_split_column_names": {"key": "cvSplitColumnNames", "type": "[str]"},
"featurization_settings": {"key": "featurizationSettings", "type": "TableVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "TableFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "TableVerticalLimitSettings"},
"n_cross_validations": {"key": "nCrossValidations", "type": "NCrossValidations"},
+ "search_space": {"key": "searchSpace", "type": "[TableParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "TableSweepSettings"},
"test_data": {"key": "testData", "type": "MLTableJobInput"},
"test_data_size": {"key": "testDataSize", "type": "float"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
@@ -16791,8 +21891,11 @@ def __init__(
target_column_name: Optional[str] = None,
cv_split_column_names: Optional[List[str]] = None,
featurization_settings: Optional["_models.TableVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.TableFixedParameters"] = None,
limit_settings: Optional["_models.TableVerticalLimitSettings"] = None,
n_cross_validations: Optional["_models.NCrossValidations"] = None,
+ search_space: Optional[List["_models.TableParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.TableSweepSettings"] = None,
test_data: Optional["_models.MLTableJobInput"] = None,
test_data_size: Optional[float] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
@@ -16800,8 +21903,8 @@ def __init__(
weight_column_name: Optional[str] = None,
primary_metric: Optional[Union[str, "_models.RegressionPrimaryMetrics"]] = None,
training_settings: Optional["_models.RegressionTrainingSettings"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -16816,6 +21919,9 @@ def __init__(
:keyword featurization_settings: Featurization inputs needed for AutoML job.
:paramtype featurization_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalFeaturizationSettings
+ :keyword fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.TableFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings:
~azure.mgmt.machinelearningservices.models.TableVerticalLimitSettings
@@ -16823,6 +21929,12 @@ def __init__(
dataset
when validation dataset is not provided.
:paramtype n_cross_validations: ~azure.mgmt.machinelearningservices.models.NCrossValidations
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space:
+ list[~azure.mgmt.machinelearningservices.models.TableParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.TableSweepSettings
: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
@@ -16852,8 +21964,11 @@ def __init__(
super().__init__(
cv_split_column_names=cv_split_column_names,
featurization_settings=featurization_settings,
+ fixed_parameters=fixed_parameters,
limit_settings=limit_settings,
n_cross_validations=n_cross_validations,
+ search_space=search_space,
+ sweep_settings=sweep_settings,
test_data=test_data,
test_data_size=test_data_size,
validation_data=validation_data,
@@ -16872,8 +21987,11 @@ def __init__(
self.training_settings = training_settings
self.cv_split_column_names = cv_split_column_names
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
self.n_cross_validations = n_cross_validations
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.test_data = test_data
self.test_data_size = test_data_size
self.validation_data = validation_data
@@ -16901,6 +22019,14 @@ class RegressionTrainingSettings(TrainingSettings):
:ivar stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
:vartype stack_ensemble_settings:
~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :ivar training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :vartype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
:ivar allowed_training_algorithms: Allowed models for regression task.
:vartype allowed_training_algorithms: list[str or
~azure.mgmt.machinelearningservices.models.RegressionModels]
@@ -16917,6 +22043,7 @@ class RegressionTrainingSettings(TrainingSettings):
"enable_vote_ensemble": {"key": "enableVoteEnsemble", "type": "bool"},
"ensemble_model_download_timeout": {"key": "ensembleModelDownloadTimeout", "type": "duration"},
"stack_ensemble_settings": {"key": "stackEnsembleSettings", "type": "StackEnsembleSettings"},
+ "training_mode": {"key": "trainingMode", "type": "str"},
"allowed_training_algorithms": {"key": "allowedTrainingAlgorithms", "type": "[str]"},
"blocked_training_algorithms": {"key": "blockedTrainingAlgorithms", "type": "[str]"},
}
@@ -16931,10 +22058,11 @@ def __init__(
enable_vote_ensemble: bool = True,
ensemble_model_download_timeout: datetime.timedelta = "PT5M",
stack_ensemble_settings: Optional["_models.StackEnsembleSettings"] = None,
+ training_mode: Optional[Union[str, "_models.TrainingMode"]] = None,
allowed_training_algorithms: Optional[List[Union[str, "_models.RegressionModels"]]] = None,
blocked_training_algorithms: Optional[List[Union[str, "_models.RegressionModels"]]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword enable_dnn_training: Enable recommendation of DNN models.
:paramtype enable_dnn_training: bool
@@ -16953,6 +22081,14 @@ def __init__(
:keyword stack_ensemble_settings: Stack ensemble settings for stack ensemble run.
:paramtype stack_ensemble_settings:
~azure.mgmt.machinelearningservices.models.StackEnsembleSettings
+ :keyword training_mode: TrainingMode mode - Setting to 'auto' is same as setting it to
+ 'non-distributed' for now, however in the future may result in mixed mode or heuristics based
+ mode selection. Default is 'auto'.
+ If 'Distributed' then only distributed featurization is used and distributed algorithms are
+ chosen.
+ If 'NonDistributed' then only non distributed algorithms are chosen. Known values are: "Auto",
+ "Distributed", and "NonDistributed".
+ :paramtype training_mode: str or ~azure.mgmt.machinelearningservices.models.TrainingMode
:keyword allowed_training_algorithms: Allowed models for regression task.
:paramtype allowed_training_algorithms: list[str or
~azure.mgmt.machinelearningservices.models.RegressionModels]
@@ -16968,6 +22104,7 @@ def __init__(
enable_vote_ensemble=enable_vote_ensemble,
ensemble_model_download_timeout=ensemble_model_download_timeout,
stack_ensemble_settings=stack_ensemble_settings,
+ training_mode=training_mode,
**kwargs
)
self.allowed_training_algorithms = allowed_training_algorithms
@@ -16991,7 +22128,7 @@ class ResourceId(_serialization.Model):
"id": {"key": "id", "type": "str"},
}
- def __init__(self, *, id: str, **kwargs): # pylint: disable=redefined-builtin
+ def __init__(self, *, id: str, **kwargs: Any) -> None: # pylint: disable=redefined-builtin
"""
:keyword id: The ID of the resource. Required.
:paramtype id: str
@@ -17021,7 +22158,7 @@ class ResourceName(_serialization.Model):
"localized_value": {"key": "localizedValue", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@@ -17065,7 +22202,7 @@ class ResourceQuota(_serialization.Model):
"unit": {"key": "unit", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
@@ -17097,7 +22234,7 @@ class Route(_serialization.Model):
"port": {"key": "port", "type": "int"},
}
- def __init__(self, *, path: str, port: int, **kwargs):
+ def __init__(self, *, path: str, port: int, **kwargs: Any) -> None:
"""
:keyword path: [Required] The path for the route. Required.
:paramtype path: str
@@ -17115,10 +22252,12 @@ class SASAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
All required parameters must be populated in order to send to Azure.
:ivar auth_type: Authentication type of the connection target. Required. Known values are:
- "PAT", "ManagedIdentity", "UsernamePassword", "None", and "SAS".
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
:vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
:ivar category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:ivar target:
:vartype target: str
@@ -17152,11 +22291,12 @@ def __init__(
value: Optional[str] = None,
value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
credentials: Optional["_models.WorkspaceConnectionSharedAccessSignature"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:keyword target:
:paramtype target: str
@@ -17179,7 +22319,8 @@ class SasDatastoreCredentials(DatastoreCredentials):
All required parameters must be populated in order to send to Azure.
:ivar credentials_type: [Required] Credential type used to authentication with storage.
- Required. Known values are: "AccountKey", "Certificate", "None", "Sas", and "ServicePrincipal".
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
:vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
:ivar secrets: [Required] Storage container secrets. Required.
:vartype secrets: ~azure.mgmt.machinelearningservices.models.SasDatastoreSecrets
@@ -17195,7 +22336,7 @@ class SasDatastoreCredentials(DatastoreCredentials):
"secrets": {"key": "secrets", "type": "SasDatastoreSecrets"},
}
- def __init__(self, *, secrets: "_models.SasDatastoreSecrets", **kwargs):
+ def __init__(self, *, secrets: "_models.SasDatastoreSecrets", **kwargs: Any) -> None:
"""
:keyword secrets: [Required] Storage container secrets. Required.
:paramtype secrets: ~azure.mgmt.machinelearningservices.models.SasDatastoreSecrets
@@ -17211,7 +22352,8 @@ class SasDatastoreSecrets(DatastoreSecrets):
All required parameters must be populated in order to send to Azure.
:ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
- Known values are: "AccountKey", "Certificate", "Sas", and "ServicePrincipal".
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
:vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
:ivar sas_token: Storage container SAS token.
:vartype sas_token: str
@@ -17226,7 +22368,7 @@ class SasDatastoreSecrets(DatastoreSecrets):
"sas_token": {"key": "sasToken", "type": "str"},
}
- def __init__(self, *, sas_token: Optional[str] = None, **kwargs):
+ def __init__(self, *, sas_token: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword sas_token: Storage container SAS token.
:paramtype sas_token: str
@@ -17266,8 +22408,8 @@ def __init__(
max_node_count: int,
min_node_count: int = 0,
node_idle_time_before_scale_down: Optional[datetime.timedelta] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword max_node_count: Max number of nodes to use. Required.
:paramtype max_node_count: int
@@ -17294,7 +22436,7 @@ class ScaleSettingsInformation(_serialization.Model):
"scale_settings": {"key": "scaleSettings", "type": "ScaleSettings"},
}
- def __init__(self, *, scale_settings: Optional["_models.ScaleSettings"] = None, **kwargs):
+ def __init__(self, *, scale_settings: Optional["_models.ScaleSettings"] = None, **kwargs: Any) -> None:
"""
:keyword scale_settings: scale settings for AML Compute.
:paramtype scale_settings: ~azure.mgmt.machinelearningservices.models.ScaleSettings
@@ -17341,7 +22483,7 @@ class Schedule(Resource):
"properties": {"key": "properties", "type": "ScheduleProperties"},
}
- def __init__(self, *, properties: "_models.ScheduleProperties", **kwargs):
+ def __init__(self, *, properties: "_models.ScheduleProperties", **kwargs: Any) -> None:
"""
:keyword properties: [Required] Additional attributes of the entity. Required.
:paramtype properties: ~azure.mgmt.machinelearningservices.models.ScheduleProperties
@@ -17375,8 +22517,8 @@ def __init__(
id: Optional[str] = None, # pylint: disable=redefined-builtin
provisioning_status: Optional[Union[str, "_models.ScheduleProvisioningState"]] = None,
status: Optional[Union[str, "_models.ScheduleStatus"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword id: A system assigned id for the schedule.
:paramtype id: str
@@ -17448,8 +22590,8 @@ def __init__(
tags: Optional[Dict[str, str]] = None,
display_name: Optional[str] = None,
is_enabled: bool = True,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -17489,7 +22631,9 @@ class ScheduleResourceArmPaginatedResult(_serialization.Model):
"value": {"key": "value", "type": "[Schedule]"},
}
- def __init__(self, *, next_link: Optional[str] = None, value: Optional[List["_models.Schedule"]] = None, **kwargs):
+ def __init__(
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.Schedule"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword next_link: The link to the next page of Schedule objects. If null, there are no
additional pages.
@@ -17505,7 +22649,7 @@ def __init__(self, *, next_link: Optional[str] = None, value: Optional[List["_mo
class ScriptReference(_serialization.Model):
"""Script reference.
- :ivar script_source: The storage source of the script: workspace.
+ :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
@@ -17529,10 +22673,10 @@ def __init__(
script_data: Optional[str] = None,
script_arguments: Optional[str] = None,
timeout: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
- :keyword script_source: The storage source of the script: workspace.
+ :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
@@ -17567,8 +22711,8 @@ def __init__(
*,
startup_script: Optional["_models.ScriptReference"] = None,
creation_script: Optional["_models.ScriptReference"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword startup_script: Script that's run every time the machine starts.
:paramtype startup_script: ~azure.mgmt.machinelearningservices.models.ScriptReference
@@ -17591,7 +22735,7 @@ class ServiceManagedResourcesSettings(_serialization.Model):
"cosmos_db": {"key": "cosmosDb", "type": "CosmosDbSettings"},
}
- def __init__(self, *, cosmos_db: Optional["_models.CosmosDbSettings"] = None, **kwargs):
+ def __init__(self, *, cosmos_db: Optional["_models.CosmosDbSettings"] = None, **kwargs: Any) -> None:
"""
:keyword cosmos_db: The settings for the service managed cosmosdb account.
:paramtype cosmos_db: ~azure.mgmt.machinelearningservices.models.CosmosDbSettings
@@ -17600,13 +22744,81 @@ def __init__(self, *, cosmos_db: Optional["_models.CosmosDbSettings"] = None, **
self.cosmos_db = cosmos_db
+class ServicePrincipalAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionPropertiesV2):
+ """ServicePrincipalAuthTypeWorkspaceConnectionProperties.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar auth_type: Authentication type of the connection target. Required. Known values are:
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
+ :vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
+ :ivar category: Category of the connection. Known values are: "PythonFeed",
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
+ :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. "JSON"
+ :vartype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :ivar credentials:
+ :vartype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionServicePrincipal
+ """
+
+ _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": "WorkspaceConnectionServicePrincipal"},
+ }
+
+ def __init__(
+ self,
+ *,
+ category: Optional[Union[str, "_models.ConnectionCategory"]] = None,
+ target: Optional[str] = None,
+ value: Optional[str] = None,
+ value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
+ credentials: Optional["_models.WorkspaceConnectionServicePrincipal"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword category: Category of the connection. Known values are: "PythonFeed",
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
+ :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. "JSON"
+ :paramtype value_format: str or ~azure.mgmt.machinelearningservices.models.ValueFormat
+ :keyword credentials:
+ :paramtype credentials:
+ ~azure.mgmt.machinelearningservices.models.WorkspaceConnectionServicePrincipal
+ """
+ super().__init__(category=category, target=target, value=value, value_format=value_format, **kwargs)
+ self.auth_type: str = "ServicePrincipal"
+ self.credentials = credentials
+
+
class ServicePrincipalDatastoreCredentials(DatastoreCredentials):
"""Service Principal datastore credentials configuration.
All required parameters must be populated in order to send to Azure.
:ivar credentials_type: [Required] Credential type used to authentication with storage.
- Required. Known values are: "AccountKey", "Certificate", "None", "Sas", and "ServicePrincipal".
+ Required. Known values are: "AccountKey", "Certificate", "None", "Sas", "ServicePrincipal",
+ "KerberosKeytab", and "KerberosPassword".
:vartype credentials_type: str or ~azure.mgmt.machinelearningservices.models.CredentialsType
:ivar authority_url: Authority URL used for authentication.
:vartype authority_url: str
@@ -17644,8 +22856,8 @@ def __init__(
tenant_id: str,
authority_url: Optional[str] = None,
resource_url: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword authority_url: Authority URL used for authentication.
:paramtype authority_url: str
@@ -17674,7 +22886,8 @@ class ServicePrincipalDatastoreSecrets(DatastoreSecrets):
All required parameters must be populated in order to send to Azure.
:ivar secrets_type: [Required] Credential type used to authentication with storage. Required.
- Known values are: "AccountKey", "Certificate", "Sas", and "ServicePrincipal".
+ Known values are: "AccountKey", "Certificate", "Sas", "ServicePrincipal", "KerberosPassword",
+ and "KerberosKeytab".
:vartype secrets_type: str or ~azure.mgmt.machinelearningservices.models.SecretsType
:ivar client_secret: Service principal secret.
:vartype client_secret: str
@@ -17689,7 +22902,7 @@ class ServicePrincipalDatastoreSecrets(DatastoreSecrets):
"client_secret": {"key": "clientSecret", "type": "str"},
}
- def __init__(self, *, client_secret: Optional[str] = None, **kwargs):
+ def __init__(self, *, client_secret: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword client_secret: Service principal secret.
:paramtype client_secret: str
@@ -17707,298 +22920,646 @@ class SetupScripts(_serialization.Model):
"""
_attribute_map = {
- "scripts": {"key": "scripts", "type": "ScriptsToExecute"},
+ "scripts": {"key": "scripts", "type": "ScriptsToExecute"},
+ }
+
+ def __init__(self, *, scripts: Optional["_models.ScriptsToExecute"] = None, **kwargs: Any) -> None:
+ """
+ :keyword scripts: Customized setup scripts.
+ :paramtype scripts: ~azure.mgmt.machinelearningservices.models.ScriptsToExecute
+ """
+ super().__init__(**kwargs)
+ self.scripts = scripts
+
+
+class SharedPrivateLinkResource(_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. Known values are: "Pending", "Approved", "Rejected", "Disconnected", and
+ "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, "_models.PrivateEndpointServiceConnectionStatus"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :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. Known values are: "Pending", "Approved", "Rejected", "Disconnected", and
+ "Timeout".
+ :paramtype status: str or
+ ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ """
+ super().__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(_serialization.Model):
+ """The resource model definition representing SKU.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar name: The name of the SKU. Ex - P3. It is typically a letter+number code. Required.
+ :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. Known values are: "Free", "Basic",
+ "Standard", and "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, "_models.SkuTier"]] = None,
+ size: Optional[str] = None,
+ family: Optional[str] = None,
+ capacity: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword name: The name of the SKU. Ex - P3. It is typically a letter+number code. Required.
+ :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. Known values are: "Free", "Basic",
+ "Standard", and "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().__init__(**kwargs)
+ self.name = name
+ self.tier = tier
+ self.size = size
+ self.family = family
+ self.capacity = capacity
+
+
+class SkuCapacity(_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. Known values are: "Automatic", "Manual",
+ and "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: int = 0,
+ maximum: int = 0,
+ minimum: int = 0,
+ scale_type: Optional[Union[str, "_models.SkuScaleType"]] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :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. Known values are: "Automatic",
+ "Manual", and "None".
+ :paramtype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
+ """
+ super().__init__(**kwargs)
+ self.default = default
+ self.maximum = maximum
+ self.minimum = minimum
+ self.scale_type = scale_type
+
+
+class SkuResource(_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, *, scripts: Optional["_models.ScriptsToExecute"] = None, **kwargs):
+ def __init__(
+ self,
+ *,
+ capacity: Optional["_models.SkuCapacity"] = None,
+ sku: Optional["_models.SkuSetting"] = None,
+ **kwargs: Any
+ ) -> None:
"""
- :keyword scripts: Customized setup scripts.
- :paramtype scripts: ~azure.mgmt.machinelearningservices.models.ScriptsToExecute
+ :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().__init__(**kwargs)
- self.scripts = scripts
+ self.capacity = capacity
+ self.resource_type = None
+ self.sku = sku
-class SharedPrivateLinkResource(_serialization.Model):
- """SharedPrivateLinkResource.
+class SkuResourceArmPaginatedResult(_serialization.Model):
+ """A paginated list of SkuResource entities.
- :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. Known values are: "Pending", "Approved", "Rejected", "Disconnected", and
- "Timeout".
- :vartype status: str or
- ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ :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 = {
- "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"},
+ "next_link": {"key": "nextLink", "type": "str"},
+ "value": {"key": "value", "type": "[SkuResource]"},
}
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, "_models.PrivateEndpointServiceConnectionStatus"]] = None,
- **kwargs
- ):
+ self, *, next_link: Optional[str] = None, value: Optional[List["_models.SkuResource"]] = None, **kwargs: Any
+ ) -> None:
"""
- :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. Known values are: "Pending", "Approved", "Rejected", "Disconnected", and
- "Timeout".
- :paramtype status: str or
- ~azure.mgmt.machinelearningservices.models.PrivateEndpointServiceConnectionStatus
+ :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().__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
+ self.next_link = next_link
+ self.value = value
-class Sku(_serialization.Model):
- """The resource model definition representing SKU.
+class SkuSetting(_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: The name of the SKU. Ex - P3. It is typically a letter+number code. Required.
+ :ivar name: [Required] The name of the SKU. Ex - P3. It is typically a letter+number code.
+ Required.
: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. Known values are: "Free", "Basic",
"Standard", and "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},
+ "name": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
}
_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, "_models.SkuTier"]] = None,
- size: Optional[str] = None,
- family: Optional[str] = None,
- capacity: Optional[int] = None,
- **kwargs
- ):
+ def __init__(self, *, name: str, tier: Optional[Union[str, "_models.SkuTier"]] = None, **kwargs: Any) -> None:
"""
- :keyword name: The name of the SKU. Ex - P3. It is typically a letter+number code. Required.
+ :keyword name: [Required] The name of the SKU. Ex - P3. It is typically a letter+number code.
+ Required.
: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. Known values are: "Free", "Basic",
"Standard", and "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().__init__(**kwargs)
self.name = name
self.tier = tier
- self.size = size
- self.family = family
- self.capacity = capacity
-class SkuCapacity(_serialization.Model):
- """SKU capacity information.
+class SparkJob(JobBaseProperties): # pylint: disable=too-many-instance-attributes
+ """Spark 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: 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] Specifies the type of job. Required. Known values are: "AutoML",
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
+ :vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :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. Known values are: "NotStarted", "Starting", "Provisioning",
+ "Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
+ :vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
+ :ivar archives: Archive files used in the job.
+ :vartype archives: list[str]
+ :ivar args: Arguments for the job.
+ :vartype args: str
+ :ivar code_id: [Required] ARM resource ID of the code asset. Required.
+ :vartype code_id: str
+ :ivar conf: Spark configured properties.
+ :vartype conf: dict[str, str]
+ :ivar entry: [Required] The entry to execute on startup of the job. Required.
+ :vartype entry: ~azure.mgmt.machinelearningservices.models.SparkJobEntry
+ :ivar environment_id: The ARM resource ID of the Environment specification for the job.
+ :vartype environment_id: str
+ :ivar files: Files used in the job.
+ :vartype files: list[str]
+ :ivar inputs: Mapping of input data bindings used in the job.
+ :vartype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :ivar jars: Jar files used in the job.
+ :vartype jars: list[str]
+ :ivar outputs: Mapping of output data bindings used in the job.
+ :vartype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :ivar py_files: Python files used in the job.
+ :vartype py_files: list[str]
+ :ivar queue_settings: Queue settings for the job.
+ :vartype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
+ :ivar resources: Compute Resource configuration for the job.
+ :vartype resources: ~azure.mgmt.machinelearningservices.models.SparkResourceConfiguration
+ """
+
+ _validation = {
+ "job_type": {"required": True},
+ "status": {"readonly": True},
+ "code_id": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
+ "entry": {"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"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
+ "services": {"key": "services", "type": "{JobService}"},
+ "status": {"key": "status", "type": "str"},
+ "archives": {"key": "archives", "type": "[str]"},
+ "args": {"key": "args", "type": "str"},
+ "code_id": {"key": "codeId", "type": "str"},
+ "conf": {"key": "conf", "type": "{str}"},
+ "entry": {"key": "entry", "type": "SparkJobEntry"},
+ "environment_id": {"key": "environmentId", "type": "str"},
+ "files": {"key": "files", "type": "[str]"},
+ "inputs": {"key": "inputs", "type": "{JobInput}"},
+ "jars": {"key": "jars", "type": "[str]"},
+ "outputs": {"key": "outputs", "type": "{JobOutput}"},
+ "py_files": {"key": "pyFiles", "type": "[str]"},
+ "queue_settings": {"key": "queueSettings", "type": "QueueSettings"},
+ "resources": {"key": "resources", "type": "SparkResourceConfiguration"},
+ }
+
+ def __init__( # pylint: disable=too-many-locals
+ self,
+ *,
+ code_id: str,
+ entry: "_models.SparkJobEntry",
+ 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: str = "Default",
+ identity: Optional["_models.IdentityConfiguration"] = None,
+ is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
+ services: Optional[Dict[str, "_models.JobService"]] = None,
+ archives: Optional[List[str]] = None,
+ args: Optional[str] = None,
+ conf: Optional[Dict[str, str]] = None,
+ environment_id: Optional[str] = None,
+ files: Optional[List[str]] = None,
+ inputs: Optional[Dict[str, "_models.JobInput"]] = None,
+ jars: Optional[List[str]] = None,
+ outputs: Optional[Dict[str, "_models.JobOutput"]] = None,
+ py_files: Optional[List[str]] = None,
+ queue_settings: Optional["_models.QueueSettings"] = None,
+ resources: Optional["_models.SparkResourceConfiguration"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword description: The asset description text.
+ :paramtype description: str
+ :keyword properties: The asset property dictionary.
+ :paramtype properties: dict[str, str]
+ :keyword 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 notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
+ :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 archives: Archive files used in the job.
+ :paramtype archives: list[str]
+ :keyword args: Arguments for the job.
+ :paramtype args: str
+ :keyword code_id: [Required] ARM resource ID of the code asset. Required.
+ :paramtype code_id: str
+ :keyword conf: Spark configured properties.
+ :paramtype conf: dict[str, str]
+ :keyword entry: [Required] The entry to execute on startup of the job. Required.
+ :paramtype entry: ~azure.mgmt.machinelearningservices.models.SparkJobEntry
+ :keyword environment_id: The ARM resource ID of the Environment specification for the job.
+ :paramtype environment_id: str
+ :keyword files: Files used in the job.
+ :paramtype files: list[str]
+ :keyword inputs: Mapping of input data bindings used in the job.
+ :paramtype inputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobInput]
+ :keyword jars: Jar files used in the job.
+ :paramtype jars: list[str]
+ :keyword outputs: Mapping of output data bindings used in the job.
+ :paramtype outputs: dict[str, ~azure.mgmt.machinelearningservices.models.JobOutput]
+ :keyword py_files: Python files used in the job.
+ :paramtype py_files: list[str]
+ :keyword queue_settings: Queue settings for the job.
+ :paramtype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
+ :keyword resources: Compute Resource configuration for the job.
+ :paramtype resources: ~azure.mgmt.machinelearningservices.models.SparkResourceConfiguration
+ """
+ super().__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,
+ notification_setting=notification_setting,
+ services=services,
+ **kwargs
+ )
+ self.job_type: str = "Spark"
+ self.archives = archives
+ self.args = args
+ self.code_id = code_id
+ self.conf = conf
+ self.entry = entry
+ self.environment_id = environment_id
+ self.files = files
+ self.inputs = inputs
+ self.jars = jars
+ self.outputs = outputs
+ self.py_files = py_files
+ self.queue_settings = queue_settings
+ self.resources = resources
+
+
+class SparkJobEntry(_serialization.Model):
+ """Spark job entry point definition.
- :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. Known values are: "Automatic", "Manual",
- and "None".
- :vartype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
+ You probably want to use the sub-classes and not this class directly. Known sub-classes are:
+ SparkJobPythonEntry, SparkJobScalaEntry
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar spark_job_entry_type: [Required] Type of the job's entry point. Required. Known values
+ are: "SparkJobPythonEntry" and "SparkJobScalaEntry".
+ :vartype spark_job_entry_type: str or
+ ~azure.mgmt.machinelearningservices.models.SparkJobEntryType
"""
+ _validation = {
+ "spark_job_entry_type": {"required": True},
+ }
+
_attribute_map = {
- "default": {"key": "default", "type": "int"},
- "maximum": {"key": "maximum", "type": "int"},
- "minimum": {"key": "minimum", "type": "int"},
- "scale_type": {"key": "scaleType", "type": "str"},
+ "spark_job_entry_type": {"key": "sparkJobEntryType", "type": "str"},
}
- def __init__(
- self,
- *,
- default: int = 0,
- maximum: int = 0,
- minimum: int = 0,
- scale_type: Optional[Union[str, "_models.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. Known values are: "Automatic",
- "Manual", and "None".
- :paramtype scale_type: str or ~azure.mgmt.machinelearningservices.models.SkuScaleType
- """
+ _subtype_map = {
+ "spark_job_entry_type": {
+ "SparkJobPythonEntry": "SparkJobPythonEntry",
+ "SparkJobScalaEntry": "SparkJobScalaEntry",
+ }
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
super().__init__(**kwargs)
- self.default = default
- self.maximum = maximum
- self.minimum = minimum
- self.scale_type = scale_type
+ self.spark_job_entry_type: Optional[str] = None
-class SkuResource(_serialization.Model):
- """Fulfills ARM Contract requirement to list all available SKUS for a resource.
+class SparkJobPythonEntry(SparkJobEntry):
+ """SparkJobPythonEntry.
- 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 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
+ :ivar spark_job_entry_type: [Required] Type of the job's entry point. Required. Known values
+ are: "SparkJobPythonEntry" and "SparkJobScalaEntry".
+ :vartype spark_job_entry_type: str or
+ ~azure.mgmt.machinelearningservices.models.SparkJobEntryType
+ :ivar file: [Required] Relative python file path for job entry point. Required.
+ :vartype file: str
"""
_validation = {
- "resource_type": {"readonly": True},
+ "spark_job_entry_type": {"required": True},
+ "file": {"required": True, "min_length": 1, "pattern": r"[a-zA-Z0-9_]"},
}
_attribute_map = {
- "capacity": {"key": "capacity", "type": "SkuCapacity"},
- "resource_type": {"key": "resourceType", "type": "str"},
- "sku": {"key": "sku", "type": "SkuSetting"},
+ "spark_job_entry_type": {"key": "sparkJobEntryType", "type": "str"},
+ "file": {"key": "file", "type": "str"},
}
- def __init__(
- self, *, capacity: Optional["_models.SkuCapacity"] = None, sku: Optional["_models.SkuSetting"] = None, **kwargs
- ):
+ def __init__(self, *, file: str, **kwargs: Any) -> None:
"""
- :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
+ :keyword file: [Required] Relative python file path for job entry point. Required.
+ :paramtype file: str
"""
super().__init__(**kwargs)
- self.capacity = capacity
- self.resource_type = None
- self.sku = sku
+ self.spark_job_entry_type: str = "SparkJobPythonEntry"
+ self.file = file
-class SkuResourceArmPaginatedResult(_serialization.Model):
- """A paginated list of SkuResource entities.
+class SparkJobScalaEntry(SparkJobEntry):
+ """SparkJobScalaEntry.
- :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]
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar spark_job_entry_type: [Required] Type of the job's entry point. Required. Known values
+ are: "SparkJobPythonEntry" and "SparkJobScalaEntry".
+ :vartype spark_job_entry_type: str or
+ ~azure.mgmt.machinelearningservices.models.SparkJobEntryType
+ :ivar class_name: [Required] Scala class name used as entry point. Required.
+ :vartype class_name: str
"""
+ _validation = {
+ "spark_job_entry_type": {"required": True},
+ "class_name": {"required": True, "min_length": 1, "pattern": r"[a-zA-Z0-9_]"},
+ }
+
_attribute_map = {
- "next_link": {"key": "nextLink", "type": "str"},
- "value": {"key": "value", "type": "[SkuResource]"},
+ "spark_job_entry_type": {"key": "sparkJobEntryType", "type": "str"},
+ "class_name": {"key": "className", "type": "str"},
}
- def __init__(
- self, *, next_link: Optional[str] = None, value: Optional[List["_models.SkuResource"]] = None, **kwargs
- ):
+ def __init__(self, *, class_name: str, **kwargs: Any) -> None:
"""
- :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]
+ :keyword class_name: [Required] Scala class name used as entry point. Required.
+ :paramtype class_name: str
"""
super().__init__(**kwargs)
- self.next_link = next_link
- self.value = value
-
+ self.spark_job_entry_type: str = "SparkJobScalaEntry"
+ self.class_name = class_name
-class SkuSetting(_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.
+class SparkResourceConfiguration(_serialization.Model):
+ """SparkResourceConfiguration.
- :ivar name: [Required] The name of the SKU. Ex - P3. It is typically a letter+number code.
- Required.
- :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. Known values are: "Free", "Basic",
- "Standard", and "Premium".
- :vartype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ :ivar instance_type: Optional type of VM used as supported by the compute target.
+ :vartype instance_type: str
+ :ivar runtime_version: Version of spark runtime used for the job.
+ :vartype runtime_version: str
"""
- _validation = {
- "name": {"required": True, "pattern": r"[a-zA-Z0-9_]"},
- }
-
_attribute_map = {
- "name": {"key": "name", "type": "str"},
- "tier": {"key": "tier", "type": "str"},
+ "instance_type": {"key": "instanceType", "type": "str"},
+ "runtime_version": {"key": "runtimeVersion", "type": "str"},
}
- def __init__(self, *, name: str, tier: Optional[Union[str, "_models.SkuTier"]] = None, **kwargs):
+ def __init__(self, *, instance_type: Optional[str] = None, runtime_version: str = "3.1", **kwargs: Any) -> None:
"""
- :keyword name: [Required] The name of the SKU. Ex - P3. It is typically a letter+number code.
- Required.
- :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. Known values are: "Free", "Basic",
- "Standard", and "Premium".
- :paramtype tier: str or ~azure.mgmt.machinelearningservices.models.SkuTier
+ :keyword instance_type: Optional type of VM used as supported by the compute target.
+ :paramtype instance_type: str
+ :keyword runtime_version: Version of spark runtime used for the job.
+ :paramtype runtime_version: str
"""
super().__init__(**kwargs)
- self.name = name
- self.tier = tier
+ self.instance_type = instance_type
+ self.runtime_version = runtime_version
class SslConfiguration(_serialization.Model):
@@ -18037,8 +23598,8 @@ def __init__(
cname: Optional[str] = None,
leaf_domain_label: Optional[str] = None,
overwrite_existing_domain: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword status: Enable or disable ssl for scoring. Known values are: "Disabled", "Enabled",
and "Auto".
@@ -18093,8 +23654,8 @@ def __init__(
stack_meta_learner_k_wargs: Optional[JSON] = None,
stack_meta_learner_train_percentage: float = 0.2,
stack_meta_learner_type: Optional[Union[str, "_models.StackMetaLearnerType"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword stack_meta_learner_k_wargs: Optional parameters to pass to the initializer of the
meta-learner.
@@ -18116,6 +23677,81 @@ def __init__(
self.stack_meta_learner_type = stack_meta_learner_type
+class StatusMessage(_serialization.Model):
+ """Active message associated with project.
+
+ Variables are only populated by the server, and will be ignored when sending a request.
+
+ :ivar code: Service-defined message code.
+ :vartype code: str
+ :ivar created_date_time: Time in UTC at which the message was created.
+ :vartype created_date_time: ~datetime.datetime
+ :ivar level: Severity level of message. Known values are: "Error", "Information", and
+ "Warning".
+ :vartype level: str or ~azure.mgmt.machinelearningservices.models.StatusMessageLevel
+ :ivar message: A human-readable representation of the message code.
+ :vartype message: str
+ """
+
+ _validation = {
+ "code": {"readonly": True},
+ "created_date_time": {"readonly": True},
+ "level": {"readonly": True},
+ "message": {"readonly": True},
+ }
+
+ _attribute_map = {
+ "code": {"key": "code", "type": "str"},
+ "created_date_time": {"key": "createdDateTime", "type": "iso-8601"},
+ "level": {"key": "level", "type": "str"},
+ "message": {"key": "message", "type": "str"},
+ }
+
+ def __init__(self, **kwargs: Any) -> None:
+ """ """
+ super().__init__(**kwargs)
+ self.code = None
+ self.created_date_time = None
+ self.level = None
+ self.message = None
+
+
+class StorageAccountDetails(_serialization.Model):
+ """Details of storage account to be used for the Registry.
+
+ :ivar system_created_storage_account:
+ :vartype system_created_storage_account:
+ ~azure.mgmt.machinelearningservices.models.SystemCreatedStorageAccount
+ :ivar user_created_storage_account:
+ :vartype user_created_storage_account:
+ ~azure.mgmt.machinelearningservices.models.UserCreatedStorageAccount
+ """
+
+ _attribute_map = {
+ "system_created_storage_account": {"key": "systemCreatedStorageAccount", "type": "SystemCreatedStorageAccount"},
+ "user_created_storage_account": {"key": "userCreatedStorageAccount", "type": "UserCreatedStorageAccount"},
+ }
+
+ def __init__(
+ self,
+ *,
+ system_created_storage_account: Optional["_models.SystemCreatedStorageAccount"] = None,
+ user_created_storage_account: Optional["_models.UserCreatedStorageAccount"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword system_created_storage_account:
+ :paramtype system_created_storage_account:
+ ~azure.mgmt.machinelearningservices.models.SystemCreatedStorageAccount
+ :keyword user_created_storage_account:
+ :paramtype user_created_storage_account:
+ ~azure.mgmt.machinelearningservices.models.UserCreatedStorageAccount
+ """
+ super().__init__(**kwargs)
+ self.system_created_storage_account = system_created_storage_account
+ self.user_created_storage_account = user_created_storage_account
+
+
class SweepJob(JobBaseProperties): # pylint: disable=too-many-instance-attributes
"""Sweep job definition.
@@ -18145,14 +23781,16 @@ class SweepJob(JobBaseProperties): # pylint: disable=too-many-instance-attribut
:ivar is_archived: Is the asset archived?.
:vartype is_archived: bool
:ivar job_type: [Required] Specifies the type of job. Required. Known values are: "AutoML",
- "Command", "Sweep", and "Pipeline".
+ "Command", "Labeling", "Sweep", "Pipeline", and "Spark".
:vartype job_type: str or ~azure.mgmt.machinelearningservices.models.JobType
+ :ivar notification_setting: Notification setting for the job.
+ :vartype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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. Known values are: "NotStarted", "Starting", "Provisioning",
"Preparing", "Queued", "Running", "Finalizing", "CancelRequested", "Completed", "Failed",
- "Canceled", "NotResponding", "Paused", and "Unknown".
+ "Canceled", "NotResponding", "Paused", "Unknown", and "Scheduled".
:vartype status: str or ~azure.mgmt.machinelearningservices.models.JobStatus
:ivar early_termination: Early termination policies enable canceling poor-performing runs
before they complete.
@@ -18165,6 +23803,8 @@ class SweepJob(JobBaseProperties): # pylint: disable=too-many-instance-attribut
: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 queue_settings: Queue settings for the job.
+ :vartype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
:ivar sampling_algorithm: [Required] The hyperparameter sampling algorithm. Required.
:vartype sampling_algorithm: ~azure.mgmt.machinelearningservices.models.SamplingAlgorithm
:ivar search_space: [Required] A dictionary containing each parameter and its distribution. The
@@ -18194,6 +23834,7 @@ class SweepJob(JobBaseProperties): # pylint: disable=too-many-instance-attribut
"identity": {"key": "identity", "type": "IdentityConfiguration"},
"is_archived": {"key": "isArchived", "type": "bool"},
"job_type": {"key": "jobType", "type": "str"},
+ "notification_setting": {"key": "notificationSetting", "type": "NotificationSetting"},
"services": {"key": "services", "type": "{JobService}"},
"status": {"key": "status", "type": "str"},
"early_termination": {"key": "earlyTermination", "type": "EarlyTerminationPolicy"},
@@ -18201,6 +23842,7 @@ class SweepJob(JobBaseProperties): # pylint: disable=too-many-instance-attribut
"limits": {"key": "limits", "type": "SweepJobLimits"},
"objective": {"key": "objective", "type": "Objective"},
"outputs": {"key": "outputs", "type": "{JobOutput}"},
+ "queue_settings": {"key": "queueSettings", "type": "QueueSettings"},
"sampling_algorithm": {"key": "samplingAlgorithm", "type": "SamplingAlgorithm"},
"search_space": {"key": "searchSpace", "type": "object"},
"trial": {"key": "trial", "type": "TrialComponent"},
@@ -18222,13 +23864,15 @@ def __init__(
experiment_name: str = "Default",
identity: Optional["_models.IdentityConfiguration"] = None,
is_archived: bool = False,
+ notification_setting: Optional["_models.NotificationSetting"] = None,
services: Optional[Dict[str, "_models.JobService"]] = None,
early_termination: Optional["_models.EarlyTerminationPolicy"] = None,
inputs: Optional[Dict[str, "_models.JobInput"]] = None,
limits: Optional["_models.SweepJobLimits"] = None,
outputs: Optional[Dict[str, "_models.JobOutput"]] = None,
- **kwargs
- ):
+ queue_settings: Optional["_models.QueueSettings"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -18251,6 +23895,8 @@ def __init__(
:paramtype identity: ~azure.mgmt.machinelearningservices.models.IdentityConfiguration
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
+ :keyword notification_setting: Notification setting for the job.
+ :paramtype notification_setting: ~azure.mgmt.machinelearningservices.models.NotificationSetting
: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]
@@ -18265,6 +23911,8 @@ def __init__(
: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 queue_settings: Queue settings for the job.
+ :paramtype queue_settings: ~azure.mgmt.machinelearningservices.models.QueueSettings
:keyword sampling_algorithm: [Required] The hyperparameter sampling algorithm. Required.
:paramtype sampling_algorithm: ~azure.mgmt.machinelearningservices.models.SamplingAlgorithm
:keyword search_space: [Required] A dictionary containing each parameter and its distribution.
@@ -18283,6 +23931,7 @@ def __init__(
experiment_name=experiment_name,
identity=identity,
is_archived=is_archived,
+ notification_setting=notification_setting,
services=services,
**kwargs
)
@@ -18292,6 +23941,7 @@ def __init__(
self.limits = limits
self.objective = objective
self.outputs = outputs
+ self.queue_settings = queue_settings
self.sampling_algorithm = sampling_algorithm
self.search_space = search_space
self.trial = trial
@@ -18335,8 +23985,8 @@ def __init__(
max_concurrent_trials: Optional[int] = None,
max_total_trials: Optional[int] = None,
trial_timeout: Optional[datetime.timedelta] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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.
@@ -18370,7 +24020,7 @@ class SynapseSpark(Compute): # pylint: disable=too-many-instance-attributes
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -18424,8 +24074,8 @@ def __init__(
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
properties: Optional["_models.SynapseSparkProperties"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword compute_location: Location for the underlying compute.
:paramtype compute_location: str
@@ -18501,8 +24151,8 @@ def __init__(
resource_group: Optional[str] = None,
workspace_name: Optional[str] = None,
pool_name: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword auto_scale_properties: Auto scale properties.
:paramtype auto_scale_properties:
@@ -18540,6 +24190,100 @@ def __init__(
self.pool_name = pool_name
+class SystemCreatedAcrAccount(_serialization.Model):
+ """SystemCreatedAcrAccount.
+
+ :ivar acr_account_sku:
+ :vartype acr_account_sku: str
+ :ivar arm_resource_id: ARM ResourceId of a resource.
+ :vartype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ """
+
+ _attribute_map = {
+ "acr_account_sku": {"key": "acrAccountSku", "type": "str"},
+ "arm_resource_id": {"key": "armResourceId", "type": "ArmResourceId"},
+ }
+
+ def __init__(
+ self,
+ *,
+ acr_account_sku: Optional[str] = None,
+ arm_resource_id: Optional["_models.ArmResourceId"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword acr_account_sku:
+ :paramtype acr_account_sku: str
+ :keyword arm_resource_id: ARM ResourceId of a resource.
+ :paramtype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ """
+ super().__init__(**kwargs)
+ self.acr_account_sku = acr_account_sku
+ self.arm_resource_id = arm_resource_id
+
+
+class SystemCreatedStorageAccount(_serialization.Model):
+ """SystemCreatedStorageAccount.
+
+ :ivar arm_resource_id: ARM ResourceId of a resource.
+ :vartype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ :ivar storage_account_hns_enabled:
+ :vartype storage_account_hns_enabled: bool
+ :ivar storage_account_type: Allowed values:
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_RAGRS",
+ "Standard_ZRS",
+ "Standard_GZRS",
+ "Standard_RAGZRS",
+ "Premium_LRS",
+ "Premium_ZRS".
+ :vartype storage_account_type: str
+ :ivar allow_blob_public_access:
+ :vartype allow_blob_public_access: bool
+ """
+
+ _attribute_map = {
+ "arm_resource_id": {"key": "armResourceId", "type": "ArmResourceId"},
+ "storage_account_hns_enabled": {"key": "storageAccountHnsEnabled", "type": "bool"},
+ "storage_account_type": {"key": "storageAccountType", "type": "str"},
+ "allow_blob_public_access": {"key": "allowBlobPublicAccess", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ arm_resource_id: Optional["_models.ArmResourceId"] = None,
+ storage_account_hns_enabled: Optional[bool] = None,
+ storage_account_type: Optional[str] = None,
+ allow_blob_public_access: Optional[bool] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword arm_resource_id: ARM ResourceId of a resource.
+ :paramtype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ :keyword storage_account_hns_enabled:
+ :paramtype storage_account_hns_enabled: bool
+ :keyword storage_account_type: Allowed values:
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_RAGRS",
+ "Standard_ZRS",
+ "Standard_GZRS",
+ "Standard_RAGZRS",
+ "Premium_LRS",
+ "Premium_ZRS".
+ :paramtype storage_account_type: str
+ :keyword allow_blob_public_access:
+ :paramtype allow_blob_public_access: bool
+ """
+ super().__init__(**kwargs)
+ self.arm_resource_id = arm_resource_id
+ self.storage_account_hns_enabled = storage_account_hns_enabled
+ self.storage_account_type = storage_account_type
+ self.allow_blob_public_access = allow_blob_public_access
+
+
class SystemData(_serialization.Model):
"""Metadata pertaining to creation and last modification of the resource.
@@ -18577,8 +24321,8 @@ def __init__(
last_modified_by: Optional[str] = None,
last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
last_modified_at: Optional[datetime.datetime] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword created_by: The identity that created the resource.
:paramtype created_by: str
@@ -18630,7 +24374,7 @@ class SystemService(_serialization.Model):
"version": {"key": "version", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.system_service_type = None
@@ -18638,6 +24382,372 @@ def __init__(self, **kwargs):
self.version = None
+class TableFixedParameters(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """Fixed training parameters that won't be swept over during AutoML Table training.
+
+ :ivar booster: Specify the boosting type, e.g gbdt for XGBoost.
+ :vartype booster: str
+ :ivar boosting_type: Specify the boosting type, e.g gbdt for LightGBM.
+ :vartype boosting_type: str
+ :ivar grow_policy: Specify the grow policy, which controls the way new nodes are added to the
+ tree.
+ :vartype grow_policy: str
+ :ivar learning_rate: The learning rate for the training procedure.
+ :vartype learning_rate: float
+ :ivar max_bin: Specify the Maximum number of discrete bins to bucket continuous features .
+ :vartype max_bin: int
+ :ivar max_depth: Specify the max depth to limit the tree depth explicitly.
+ :vartype max_depth: int
+ :ivar max_leaves: Specify the max leaves to limit the tree leaves explicitly.
+ :vartype max_leaves: int
+ :ivar min_data_in_leaf: The minimum number of data per leaf.
+ :vartype min_data_in_leaf: int
+ :ivar min_split_gain: Minimum loss reduction required to make a further partition on a leaf
+ node of the tree.
+ :vartype min_split_gain: float
+ :ivar model_name: The name of the model to train.
+ :vartype model_name: str
+ :ivar n_estimators: Specify the number of trees (or rounds) in an model.
+ :vartype n_estimators: int
+ :ivar num_leaves: Specify the number of leaves.
+ :vartype num_leaves: int
+ :ivar preprocessor_name: The name of the preprocessor to use.
+ :vartype preprocessor_name: str
+ :ivar reg_alpha: L1 regularization term on weights.
+ :vartype reg_alpha: float
+ :ivar reg_lambda: L2 regularization term on weights.
+ :vartype reg_lambda: float
+ :ivar subsample: Subsample ratio of the training instance.
+ :vartype subsample: float
+ :ivar subsample_freq: Frequency of subsample.
+ :vartype subsample_freq: float
+ :ivar tree_method: Specify the tree method.
+ :vartype tree_method: str
+ :ivar with_mean: If true, center before scaling the data with StandardScalar.
+ :vartype with_mean: bool
+ :ivar with_std: If true, scaling the data with Unit Variance with StandardScalar.
+ :vartype with_std: bool
+ """
+
+ _attribute_map = {
+ "booster": {"key": "booster", "type": "str"},
+ "boosting_type": {"key": "boostingType", "type": "str"},
+ "grow_policy": {"key": "growPolicy", "type": "str"},
+ "learning_rate": {"key": "learningRate", "type": "float"},
+ "max_bin": {"key": "maxBin", "type": "int"},
+ "max_depth": {"key": "maxDepth", "type": "int"},
+ "max_leaves": {"key": "maxLeaves", "type": "int"},
+ "min_data_in_leaf": {"key": "minDataInLeaf", "type": "int"},
+ "min_split_gain": {"key": "minSplitGain", "type": "float"},
+ "model_name": {"key": "modelName", "type": "str"},
+ "n_estimators": {"key": "nEstimators", "type": "int"},
+ "num_leaves": {"key": "numLeaves", "type": "int"},
+ "preprocessor_name": {"key": "preprocessorName", "type": "str"},
+ "reg_alpha": {"key": "regAlpha", "type": "float"},
+ "reg_lambda": {"key": "regLambda", "type": "float"},
+ "subsample": {"key": "subsample", "type": "float"},
+ "subsample_freq": {"key": "subsampleFreq", "type": "float"},
+ "tree_method": {"key": "treeMethod", "type": "str"},
+ "with_mean": {"key": "withMean", "type": "bool"},
+ "with_std": {"key": "withStd", "type": "bool"},
+ }
+
+ def __init__(
+ self,
+ *,
+ booster: Optional[str] = None,
+ boosting_type: Optional[str] = None,
+ grow_policy: Optional[str] = None,
+ learning_rate: Optional[float] = None,
+ max_bin: Optional[int] = None,
+ max_depth: Optional[int] = None,
+ max_leaves: Optional[int] = None,
+ min_data_in_leaf: Optional[int] = None,
+ min_split_gain: Optional[float] = None,
+ model_name: Optional[str] = None,
+ n_estimators: Optional[int] = None,
+ num_leaves: Optional[int] = None,
+ preprocessor_name: Optional[str] = None,
+ reg_alpha: Optional[float] = None,
+ reg_lambda: Optional[float] = None,
+ subsample: Optional[float] = None,
+ subsample_freq: Optional[float] = None,
+ tree_method: Optional[str] = None,
+ with_mean: bool = False,
+ with_std: bool = False,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword booster: Specify the boosting type, e.g gbdt for XGBoost.
+ :paramtype booster: str
+ :keyword boosting_type: Specify the boosting type, e.g gbdt for LightGBM.
+ :paramtype boosting_type: str
+ :keyword grow_policy: Specify the grow policy, which controls the way new nodes are added to
+ the tree.
+ :paramtype grow_policy: str
+ :keyword learning_rate: The learning rate for the training procedure.
+ :paramtype learning_rate: float
+ :keyword max_bin: Specify the Maximum number of discrete bins to bucket continuous features .
+ :paramtype max_bin: int
+ :keyword max_depth: Specify the max depth to limit the tree depth explicitly.
+ :paramtype max_depth: int
+ :keyword max_leaves: Specify the max leaves to limit the tree leaves explicitly.
+ :paramtype max_leaves: int
+ :keyword min_data_in_leaf: The minimum number of data per leaf.
+ :paramtype min_data_in_leaf: int
+ :keyword min_split_gain: Minimum loss reduction required to make a further partition on a leaf
+ node of the tree.
+ :paramtype min_split_gain: float
+ :keyword model_name: The name of the model to train.
+ :paramtype model_name: str
+ :keyword n_estimators: Specify the number of trees (or rounds) in an model.
+ :paramtype n_estimators: int
+ :keyword num_leaves: Specify the number of leaves.
+ :paramtype num_leaves: int
+ :keyword preprocessor_name: The name of the preprocessor to use.
+ :paramtype preprocessor_name: str
+ :keyword reg_alpha: L1 regularization term on weights.
+ :paramtype reg_alpha: float
+ :keyword reg_lambda: L2 regularization term on weights.
+ :paramtype reg_lambda: float
+ :keyword subsample: Subsample ratio of the training instance.
+ :paramtype subsample: float
+ :keyword subsample_freq: Frequency of subsample.
+ :paramtype subsample_freq: float
+ :keyword tree_method: Specify the tree method.
+ :paramtype tree_method: str
+ :keyword with_mean: If true, center before scaling the data with StandardScalar.
+ :paramtype with_mean: bool
+ :keyword with_std: If true, scaling the data with Unit Variance with StandardScalar.
+ :paramtype with_std: bool
+ """
+ super().__init__(**kwargs)
+ self.booster = booster
+ self.boosting_type = boosting_type
+ self.grow_policy = grow_policy
+ self.learning_rate = learning_rate
+ self.max_bin = max_bin
+ self.max_depth = max_depth
+ self.max_leaves = max_leaves
+ self.min_data_in_leaf = min_data_in_leaf
+ self.min_split_gain = min_split_gain
+ self.model_name = model_name
+ self.n_estimators = n_estimators
+ self.num_leaves = num_leaves
+ self.preprocessor_name = preprocessor_name
+ self.reg_alpha = reg_alpha
+ self.reg_lambda = reg_lambda
+ self.subsample = subsample
+ self.subsample_freq = subsample_freq
+ self.tree_method = tree_method
+ self.with_mean = with_mean
+ self.with_std = with_std
+
+
+class TableParameterSubspace(_serialization.Model): # pylint: disable=too-many-instance-attributes
+ """TableParameterSubspace.
+
+ :ivar booster: Specify the boosting type, e.g gbdt for XGBoost.
+ :vartype booster: str
+ :ivar boosting_type: Specify the boosting type, e.g gbdt for LightGBM.
+ :vartype boosting_type: str
+ :ivar grow_policy: Specify the grow policy, which controls the way new nodes are added to the
+ tree.
+ :vartype grow_policy: str
+ :ivar learning_rate: The learning rate for the training procedure.
+ :vartype learning_rate: str
+ :ivar max_bin: Specify the Maximum number of discrete bins to bucket continuous features .
+ :vartype max_bin: str
+ :ivar max_depth: Specify the max depth to limit the tree depth explicitly.
+ :vartype max_depth: str
+ :ivar max_leaves: Specify the max leaves to limit the tree leaves explicitly.
+ :vartype max_leaves: str
+ :ivar min_data_in_leaf: The minimum number of data per leaf.
+ :vartype min_data_in_leaf: str
+ :ivar min_split_gain: Minimum loss reduction required to make a further partition on a leaf
+ node of the tree.
+ :vartype min_split_gain: str
+ :ivar model_name: The name of the model to train.
+ :vartype model_name: str
+ :ivar n_estimators: Specify the number of trees (or rounds) in an model.
+ :vartype n_estimators: str
+ :ivar num_leaves: Specify the number of leaves.
+ :vartype num_leaves: str
+ :ivar preprocessor_name: The name of the preprocessor to use.
+ :vartype preprocessor_name: str
+ :ivar reg_alpha: L1 regularization term on weights.
+ :vartype reg_alpha: str
+ :ivar reg_lambda: L2 regularization term on weights.
+ :vartype reg_lambda: str
+ :ivar subsample: Subsample ratio of the training instance.
+ :vartype subsample: str
+ :ivar subsample_freq: Frequency of subsample.
+ :vartype subsample_freq: str
+ :ivar tree_method: Specify the tree method.
+ :vartype tree_method: str
+ :ivar with_mean: If true, center before scaling the data with StandardScalar.
+ :vartype with_mean: str
+ :ivar with_std: If true, scaling the data with Unit Variance with StandardScalar.
+ :vartype with_std: str
+ """
+
+ _attribute_map = {
+ "booster": {"key": "booster", "type": "str"},
+ "boosting_type": {"key": "boostingType", "type": "str"},
+ "grow_policy": {"key": "growPolicy", "type": "str"},
+ "learning_rate": {"key": "learningRate", "type": "str"},
+ "max_bin": {"key": "maxBin", "type": "str"},
+ "max_depth": {"key": "maxDepth", "type": "str"},
+ "max_leaves": {"key": "maxLeaves", "type": "str"},
+ "min_data_in_leaf": {"key": "minDataInLeaf", "type": "str"},
+ "min_split_gain": {"key": "minSplitGain", "type": "str"},
+ "model_name": {"key": "modelName", "type": "str"},
+ "n_estimators": {"key": "nEstimators", "type": "str"},
+ "num_leaves": {"key": "numLeaves", "type": "str"},
+ "preprocessor_name": {"key": "preprocessorName", "type": "str"},
+ "reg_alpha": {"key": "regAlpha", "type": "str"},
+ "reg_lambda": {"key": "regLambda", "type": "str"},
+ "subsample": {"key": "subsample", "type": "str"},
+ "subsample_freq": {"key": "subsampleFreq", "type": "str"},
+ "tree_method": {"key": "treeMethod", "type": "str"},
+ "with_mean": {"key": "withMean", "type": "str"},
+ "with_std": {"key": "withStd", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ booster: Optional[str] = None,
+ boosting_type: Optional[str] = None,
+ grow_policy: Optional[str] = None,
+ learning_rate: Optional[str] = None,
+ max_bin: Optional[str] = None,
+ max_depth: Optional[str] = None,
+ max_leaves: Optional[str] = None,
+ min_data_in_leaf: Optional[str] = None,
+ min_split_gain: Optional[str] = None,
+ model_name: Optional[str] = None,
+ n_estimators: Optional[str] = None,
+ num_leaves: Optional[str] = None,
+ preprocessor_name: Optional[str] = None,
+ reg_alpha: Optional[str] = None,
+ reg_lambda: Optional[str] = None,
+ subsample: Optional[str] = None,
+ subsample_freq: Optional[str] = None,
+ tree_method: Optional[str] = None,
+ with_mean: Optional[str] = None,
+ with_std: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword booster: Specify the boosting type, e.g gbdt for XGBoost.
+ :paramtype booster: str
+ :keyword boosting_type: Specify the boosting type, e.g gbdt for LightGBM.
+ :paramtype boosting_type: str
+ :keyword grow_policy: Specify the grow policy, which controls the way new nodes are added to
+ the tree.
+ :paramtype grow_policy: str
+ :keyword learning_rate: The learning rate for the training procedure.
+ :paramtype learning_rate: str
+ :keyword max_bin: Specify the Maximum number of discrete bins to bucket continuous features .
+ :paramtype max_bin: str
+ :keyword max_depth: Specify the max depth to limit the tree depth explicitly.
+ :paramtype max_depth: str
+ :keyword max_leaves: Specify the max leaves to limit the tree leaves explicitly.
+ :paramtype max_leaves: str
+ :keyword min_data_in_leaf: The minimum number of data per leaf.
+ :paramtype min_data_in_leaf: str
+ :keyword min_split_gain: Minimum loss reduction required to make a further partition on a leaf
+ node of the tree.
+ :paramtype min_split_gain: str
+ :keyword model_name: The name of the model to train.
+ :paramtype model_name: str
+ :keyword n_estimators: Specify the number of trees (or rounds) in an model.
+ :paramtype n_estimators: str
+ :keyword num_leaves: Specify the number of leaves.
+ :paramtype num_leaves: str
+ :keyword preprocessor_name: The name of the preprocessor to use.
+ :paramtype preprocessor_name: str
+ :keyword reg_alpha: L1 regularization term on weights.
+ :paramtype reg_alpha: str
+ :keyword reg_lambda: L2 regularization term on weights.
+ :paramtype reg_lambda: str
+ :keyword subsample: Subsample ratio of the training instance.
+ :paramtype subsample: str
+ :keyword subsample_freq: Frequency of subsample.
+ :paramtype subsample_freq: str
+ :keyword tree_method: Specify the tree method.
+ :paramtype tree_method: str
+ :keyword with_mean: If true, center before scaling the data with StandardScalar.
+ :paramtype with_mean: str
+ :keyword with_std: If true, scaling the data with Unit Variance with StandardScalar.
+ :paramtype with_std: str
+ """
+ super().__init__(**kwargs)
+ self.booster = booster
+ self.boosting_type = boosting_type
+ self.grow_policy = grow_policy
+ self.learning_rate = learning_rate
+ self.max_bin = max_bin
+ self.max_depth = max_depth
+ self.max_leaves = max_leaves
+ self.min_data_in_leaf = min_data_in_leaf
+ self.min_split_gain = min_split_gain
+ self.model_name = model_name
+ self.n_estimators = n_estimators
+ self.num_leaves = num_leaves
+ self.preprocessor_name = preprocessor_name
+ self.reg_alpha = reg_alpha
+ self.reg_lambda = reg_lambda
+ self.subsample = subsample
+ self.subsample_freq = subsample_freq
+ self.tree_method = tree_method
+ self.with_mean = with_mean
+ self.with_std = with_std
+
+
+class TableSweepSettings(_serialization.Model):
+ """TableSweepSettings.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar early_termination: Type of early termination policy for the sweeping job.
+ :vartype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :ivar sampling_algorithm: [Required] Type of sampling algorithm. Required. Known values are:
+ "Grid", "Random", and "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, "_models.SamplingAlgorithmType"],
+ early_termination: Optional["_models.EarlyTerminationPolicy"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword early_termination: Type of early termination policy for the sweeping job.
+ :paramtype early_termination: ~azure.mgmt.machinelearningservices.models.EarlyTerminationPolicy
+ :keyword sampling_algorithm: [Required] Type of sampling algorithm. Required. Known values are:
+ "Grid", "Random", and "Bayesian".
+ :paramtype sampling_algorithm: str or
+ ~azure.mgmt.machinelearningservices.models.SamplingAlgorithmType
+ """
+ super().__init__(**kwargs)
+ self.early_termination = early_termination
+ self.sampling_algorithm = sampling_algorithm
+
+
class TableVerticalFeaturizationSettings(FeaturizationSettings):
"""Featurization Configuration.
@@ -18682,8 +24792,8 @@ def __init__(
enable_dnn_featurization: bool = False,
mode: Optional[Union[str, "_models.FeaturizationMode"]] = None,
transformer_params: Optional[Dict[str, List["_models.ColumnTransformer"]]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword dataset_language: Dataset language, useful for the text data.
:paramtype dataset_language: str
@@ -18727,8 +24837,14 @@ class TableVerticalLimitSettings(_serialization.Model):
:vartype max_concurrent_trials: int
:ivar max_cores_per_trial: Max cores per iteration.
:vartype max_cores_per_trial: int
+ :ivar max_nodes: Maximum nodes to use for the experiment.
+ :vartype max_nodes: int
:ivar max_trials: Number of iterations.
:vartype max_trials: int
+ :ivar sweep_concurrent_trials: Number of concurrent sweeping runs that user wants to trigger.
+ :vartype sweep_concurrent_trials: int
+ :ivar sweep_trials: Number of sweeping runs that user wants to trigger.
+ :vartype sweep_trials: int
:ivar timeout: AutoML job timeout.
:vartype timeout: ~datetime.timedelta
:ivar trial_timeout: Iteration timeout.
@@ -18740,7 +24856,10 @@ class TableVerticalLimitSettings(_serialization.Model):
"exit_score": {"key": "exitScore", "type": "float"},
"max_concurrent_trials": {"key": "maxConcurrentTrials", "type": "int"},
"max_cores_per_trial": {"key": "maxCoresPerTrial", "type": "int"},
+ "max_nodes": {"key": "maxNodes", "type": "int"},
"max_trials": {"key": "maxTrials", "type": "int"},
+ "sweep_concurrent_trials": {"key": "sweepConcurrentTrials", "type": "int"},
+ "sweep_trials": {"key": "sweepTrials", "type": "int"},
"timeout": {"key": "timeout", "type": "duration"},
"trial_timeout": {"key": "trialTimeout", "type": "duration"},
}
@@ -18752,11 +24871,14 @@ def __init__(
exit_score: Optional[float] = None,
max_concurrent_trials: int = 1,
max_cores_per_trial: int = -1,
+ max_nodes: int = 1,
max_trials: int = 1000,
+ sweep_concurrent_trials: int = 0,
+ sweep_trials: int = 0,
timeout: datetime.timedelta = "PT6H",
trial_timeout: datetime.timedelta = "PT30M",
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
: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.
@@ -18767,8 +24889,15 @@ def __init__(
:paramtype max_concurrent_trials: int
:keyword max_cores_per_trial: Max cores per iteration.
:paramtype max_cores_per_trial: int
+ :keyword max_nodes: Maximum nodes to use for the experiment.
+ :paramtype max_nodes: int
:keyword max_trials: Number of iterations.
:paramtype max_trials: int
+ :keyword sweep_concurrent_trials: Number of concurrent sweeping runs that user wants to
+ trigger.
+ :paramtype sweep_concurrent_trials: int
+ :keyword sweep_trials: Number of sweeping runs that user wants to trigger.
+ :paramtype sweep_trials: int
:keyword timeout: AutoML job timeout.
:paramtype timeout: ~datetime.timedelta
:keyword trial_timeout: Iteration timeout.
@@ -18779,7 +24908,10 @@ def __init__(
self.exit_score = exit_score
self.max_concurrent_trials = max_concurrent_trials
self.max_cores_per_trial = max_cores_per_trial
+ self.max_nodes = max_nodes
self.max_trials = max_trials
+ self.sweep_concurrent_trials = sweep_concurrent_trials
+ self.sweep_trials = sweep_trials
self.timeout = timeout
self.trial_timeout = trial_timeout
@@ -18823,8 +24955,8 @@ def __init__(
min_instances: int = 1,
polling_interval: datetime.timedelta = "PT1S",
target_utilization_percentage: int = 70,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword max_instances: The maximum number of instances that the deployment can scale to. The
quota will be reserved for max_instances.
@@ -18869,7 +25001,7 @@ class TensorFlow(DistributionConfiguration):
"worker_count": {"key": "workerCount", "type": "int"},
}
- def __init__(self, *, parameter_server_count: int = 0, worker_count: Optional[int] = None, **kwargs):
+ def __init__(self, *, parameter_server_count: int = 0, worker_count: Optional[int] = None, **kwargs: Any) -> None:
"""
:keyword parameter_server_count: Number of parameter server tasks.
:paramtype parameter_server_count: int
@@ -18882,37 +25014,45 @@ def __init__(self, *, parameter_server_count: int = 0, worker_count: Optional[in
self.worker_count = worker_count
-class TextClassification(NlpVertical, AutoMLVertical):
+class TextClassification(NlpVertical, AutoMLVertical): # pylint: disable=too-many-instance-attributes
"""Text Classification task in AutoML NLP vertical.
NLP - Natural Language Processing.
- All required parameters must be populated in order to send to Azure.
+ All required parameters must be populated in order to send to Azure.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :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 primary_metric: Primary metric for Text-Classification task. Known values are:
- "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
- "PrecisionScoreWeighted".
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar primary_metric: Primary metric for Text-Classification task. Known values are:
+ "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
"""
_validation = {
@@ -18926,7 +25066,10 @@ class TextClassification(NlpVertical, AutoMLVertical):
"task_type": {"key": "taskType", "type": "str"},
"training_data": {"key": "trainingData", "type": "MLTableJobInput"},
"featurization_settings": {"key": "featurizationSettings", "type": "NlpVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "NlpFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "NlpVerticalLimitSettings"},
+ "search_space": {"key": "searchSpace", "type": "[NlpParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "NlpSweepSettings"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
"primary_metric": {"key": "primaryMetric", "type": "str"},
}
@@ -18938,11 +25081,14 @@ def __init__(
log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
target_column_name: Optional[str] = None,
featurization_settings: Optional["_models.NlpVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.NlpFixedParameters"] = None,
limit_settings: Optional["_models.NlpVerticalLimitSettings"] = None,
+ search_space: Optional[List["_models.NlpParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.NlpSweepSettings"] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
primary_metric: Optional[Union[str, "_models.ClassificationPrimaryMetrics"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -18955,8 +25101,16 @@ def __init__(
:keyword featurization_settings: Featurization inputs needed for AutoML job.
:paramtype featurization_settings:
~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
:keyword validation_data: Validation data inputs.
:paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
:keyword primary_metric: Primary metric for Text-Classification task. Known values are:
@@ -18967,7 +25121,10 @@ def __init__(
"""
super().__init__(
featurization_settings=featurization_settings,
+ fixed_parameters=fixed_parameters,
limit_settings=limit_settings,
+ search_space=search_space,
+ sweep_settings=sweep_settings,
validation_data=validation_data,
log_verbosity=log_verbosity,
target_column_name=target_column_name,
@@ -18980,44 +25137,55 @@ def __init__(
self.training_data = training_data
self.primary_metric = primary_metric
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.validation_data = validation_data
-class TextClassificationMultilabel(NlpVertical, AutoMLVertical):
+class TextClassificationMultilabel(NlpVertical, AutoMLVertical): # pylint: disable=too-many-instance-attributes
"""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.
+ 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.
+ All required parameters must be populated in order to send to Azure.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :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 primary_metric: Primary metric for Text-Classification-Multilabel task.
- Currently only Accuracy is supported as primary metric, hence user need not set it explicitly.
- Known values are: "AUCWeighted", "Accuracy", "NormMacroRecall",
- "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted", and "IOU".
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
+ :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_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.
+ Known values are: "AUCWeighted", "Accuracy", "NormMacroRecall",
+ "AveragePrecisionScoreWeighted", "PrecisionScoreWeighted", and "IOU".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationMultilabelPrimaryMetrics
"""
_validation = {
@@ -19032,7 +25200,10 @@ class TextClassificationMultilabel(NlpVertical, AutoMLVertical):
"task_type": {"key": "taskType", "type": "str"},
"training_data": {"key": "trainingData", "type": "MLTableJobInput"},
"featurization_settings": {"key": "featurizationSettings", "type": "NlpVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "NlpFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "NlpVerticalLimitSettings"},
+ "search_space": {"key": "searchSpace", "type": "[NlpParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "NlpSweepSettings"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
"primary_metric": {"key": "primaryMetric", "type": "str"},
}
@@ -19044,10 +25215,13 @@ def __init__(
log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
target_column_name: Optional[str] = None,
featurization_settings: Optional["_models.NlpVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.NlpFixedParameters"] = None,
limit_settings: Optional["_models.NlpVerticalLimitSettings"] = None,
+ search_space: Optional[List["_models.NlpParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.NlpSweepSettings"] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -19060,14 +25234,25 @@ def __init__(
:keyword featurization_settings: Featurization inputs needed for AutoML job.
:paramtype featurization_settings:
~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
:keyword validation_data: Validation data inputs.
:paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
"""
super().__init__(
featurization_settings=featurization_settings,
+ fixed_parameters=fixed_parameters,
limit_settings=limit_settings,
+ search_space=search_space,
+ sweep_settings=sweep_settings,
validation_data=validation_data,
log_verbosity=log_verbosity,
target_column_name=target_column_name,
@@ -19080,45 +25265,56 @@ def __init__(
self.training_data = training_data
self.primary_metric = None
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.validation_data = validation_data
-class TextNer(NlpVertical, AutoMLVertical):
+class TextNer(NlpVertical, AutoMLVertical): # pylint: disable=too-many-instance-attributes
"""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.
+ 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.
+ All required parameters must be populated in order to send to Azure.
- :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
- "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
- "Classification", "Regression", "Forecasting", "ImageClassification",
- "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
- "TextClassification", "TextClassificationMultilabel", and "TextNER".
- :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
- :ivar training_data: [Required] Training data input. Required.
- :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
- :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 primary_metric: Primary metric for Text-NER task.
- Only 'Accuracy' is supported for Text-NER, so user need not set this explicitly. Known values
- are: "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
- "PrecisionScoreWeighted".
- :vartype primary_metric: str or
- ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
+ :ivar log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
+ "Warning", "Error", and "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] Task type for AutoMLJob. Required. Known values are:
+ "Classification", "Regression", "Forecasting", "ImageClassification",
+ "ImageClassificationMultilabel", "ImageObjectDetection", "ImageInstanceSegmentation",
+ "TextClassification", "TextClassificationMultilabel", and "TextNER".
+ :vartype task_type: str or ~azure.mgmt.machinelearningservices.models.TaskType
+ :ivar training_data: [Required] Training data input. Required.
+ :vartype training_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
+ :ivar featurization_settings: Featurization inputs needed for AutoML job.
+ :vartype featurization_settings:
+ ~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :ivar fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :vartype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
+ :ivar limit_settings: Execution constraints for AutoMLJob.
+ :vartype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :ivar search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :vartype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :ivar sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :vartype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
+ :ivar validation_data: Validation data inputs.
+ :vartype validation_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. Known values
+ are: "AUCWeighted", "Accuracy", "NormMacroRecall", "AveragePrecisionScoreWeighted", and
+ "PrecisionScoreWeighted".
+ :vartype primary_metric: str or
+ ~azure.mgmt.machinelearningservices.models.ClassificationPrimaryMetrics
"""
_validation = {
@@ -19133,7 +25329,10 @@ class TextNer(NlpVertical, AutoMLVertical):
"task_type": {"key": "taskType", "type": "str"},
"training_data": {"key": "trainingData", "type": "MLTableJobInput"},
"featurization_settings": {"key": "featurizationSettings", "type": "NlpVerticalFeaturizationSettings"},
+ "fixed_parameters": {"key": "fixedParameters", "type": "NlpFixedParameters"},
"limit_settings": {"key": "limitSettings", "type": "NlpVerticalLimitSettings"},
+ "search_space": {"key": "searchSpace", "type": "[NlpParameterSubspace]"},
+ "sweep_settings": {"key": "sweepSettings", "type": "NlpSweepSettings"},
"validation_data": {"key": "validationData", "type": "MLTableJobInput"},
"primary_metric": {"key": "primaryMetric", "type": "str"},
}
@@ -19145,10 +25344,13 @@ def __init__(
log_verbosity: Optional[Union[str, "_models.LogVerbosity"]] = None,
target_column_name: Optional[str] = None,
featurization_settings: Optional["_models.NlpVerticalFeaturizationSettings"] = None,
+ fixed_parameters: Optional["_models.NlpFixedParameters"] = None,
limit_settings: Optional["_models.NlpVerticalLimitSettings"] = None,
+ search_space: Optional[List["_models.NlpParameterSubspace"]] = None,
+ sweep_settings: Optional["_models.NlpSweepSettings"] = None,
validation_data: Optional["_models.MLTableJobInput"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword log_verbosity: Log verbosity for the job. Known values are: "NotSet", "Debug", "Info",
"Warning", "Error", and "Critical".
@@ -19161,14 +25363,25 @@ def __init__(
:keyword featurization_settings: Featurization inputs needed for AutoML job.
:paramtype featurization_settings:
~azure.mgmt.machinelearningservices.models.NlpVerticalFeaturizationSettings
+ :keyword fixed_parameters: Model/training parameters that will remain constant throughout
+ training.
+ :paramtype fixed_parameters: ~azure.mgmt.machinelearningservices.models.NlpFixedParameters
:keyword limit_settings: Execution constraints for AutoMLJob.
:paramtype limit_settings: ~azure.mgmt.machinelearningservices.models.NlpVerticalLimitSettings
+ :keyword search_space: Search space for sampling different combinations of models and their
+ hyperparameters.
+ :paramtype search_space: list[~azure.mgmt.machinelearningservices.models.NlpParameterSubspace]
+ :keyword sweep_settings: Settings for model sweeping and hyperparameter tuning.
+ :paramtype sweep_settings: ~azure.mgmt.machinelearningservices.models.NlpSweepSettings
:keyword validation_data: Validation data inputs.
:paramtype validation_data: ~azure.mgmt.machinelearningservices.models.MLTableJobInput
"""
super().__init__(
featurization_settings=featurization_settings,
+ fixed_parameters=fixed_parameters,
limit_settings=limit_settings,
+ search_space=search_space,
+ sweep_settings=sweep_settings,
validation_data=validation_data,
log_verbosity=log_verbosity,
target_column_name=target_column_name,
@@ -19181,10 +25394,33 @@ def __init__(
self.training_data = training_data
self.primary_metric = None
self.featurization_settings = featurization_settings
+ self.fixed_parameters = fixed_parameters
self.limit_settings = limit_settings
+ self.search_space = search_space
+ self.sweep_settings = sweep_settings
self.validation_data = validation_data
+class TmpfsOptions(_serialization.Model):
+ """TmpfsOptions.
+
+ :ivar size: Mention the Tmpfs size.
+ :vartype size: int
+ """
+
+ _attribute_map = {
+ "size": {"key": "size", "type": "int"},
+ }
+
+ def __init__(self, *, size: Optional[int] = None, **kwargs: Any) -> None:
+ """
+ :keyword size: Mention the Tmpfs size.
+ :paramtype size: int
+ """
+ super().__init__(**kwargs)
+ self.size = size
+
+
class TrialComponent(_serialization.Model):
"""Trial component definition.
@@ -19230,8 +25466,8 @@ def __init__(
distribution: Optional["_models.DistributionConfiguration"] = None,
environment_variables: Optional[Dict[str, str]] = None,
resources: Optional["_models.JobResourceConfiguration"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword code_id: ARM resource ID of the code asset.
:paramtype code_id: str
@@ -19258,6 +25494,41 @@ def __init__(
self.resources = resources
+class TritonInferencingServer(InferencingServer):
+ """Triton inferencing server configurations.
+
+ All required parameters must be populated in order to send to Azure.
+
+ :ivar server_type: [Required] Inferencing server type for various targets. Required. Known
+ values are: "AzureMLOnline", "AzureMLBatch", "Triton", and "Custom".
+ :vartype server_type: str or ~azure.mgmt.machinelearningservices.models.InferencingServerType
+ :ivar inference_configuration: Inference configuration for Triton.
+ :vartype inference_configuration:
+ ~azure.mgmt.machinelearningservices.models.OnlineInferenceConfiguration
+ """
+
+ _validation = {
+ "server_type": {"required": True},
+ }
+
+ _attribute_map = {
+ "server_type": {"key": "serverType", "type": "str"},
+ "inference_configuration": {"key": "inferenceConfiguration", "type": "OnlineInferenceConfiguration"},
+ }
+
+ def __init__(
+ self, *, inference_configuration: Optional["_models.OnlineInferenceConfiguration"] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword inference_configuration: Inference configuration for Triton.
+ :paramtype inference_configuration:
+ ~azure.mgmt.machinelearningservices.models.OnlineInferenceConfiguration
+ """
+ super().__init__(**kwargs)
+ self.server_type: str = "Triton"
+ self.inference_configuration = inference_configuration
+
+
class TritonModelJobInput(AssetJobInput, JobInput):
"""TritonModelJobInput.
@@ -19294,8 +25565,8 @@ def __init__(
uri: str,
description: Optional[str] = None,
mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -19322,7 +25593,12 @@ class TritonModelJobOutput(AssetJobOutput, JobOutput):
:ivar job_output_type: [Required] Specifies the type of job. Required. Known values are:
"uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and "triton_model".
:vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
@@ -19335,6 +25611,8 @@ class TritonModelJobOutput(AssetJobOutput, JobOutput):
_attribute_map = {
"description": {"key": "description", "type": "str"},
"job_output_type": {"key": "jobOutputType", "type": "str"},
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
@@ -19343,27 +25621,39 @@ def __init__(
self,
*,
description: Optional[str] = None,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
- super().__init__(mode=mode, uri=uri, description=description, **kwargs)
+ super().__init__(
+ asset_name=asset_name, asset_version=asset_version, mode=mode, uri=uri, description=description, **kwargs
+ )
self.description = description
self.job_output_type: str = "triton_model"
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
class TruncationSelectionPolicy(EarlyTerminationPolicy):
- """Defines an early termination policy that cancels a given percentage of runs at each evaluation interval.
+ """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.
@@ -19391,8 +25681,8 @@ class TruncationSelectionPolicy(EarlyTerminationPolicy):
}
def __init__(
- self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, truncation_percentage: int = 0, **kwargs
- ):
+ self, *, delay_evaluation: int = 0, evaluation_interval: int = 0, truncation_percentage: int = 0, **kwargs: Any
+ ) -> None:
"""
:keyword delay_evaluation: Number of intervals by which to delay the first evaluation.
:paramtype delay_evaluation: int
@@ -19439,7 +25729,9 @@ class UpdateWorkspaceQuotas(_serialization.Model):
"status": {"key": "status", "type": "str"},
}
- def __init__(self, *, limit: Optional[int] = None, status: Optional[Union[str, "_models.Status"]] = None, **kwargs):
+ def __init__(
+ self, *, limit: Optional[int] = None, status: Optional[Union[str, "_models.Status"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword limit: The maximum permitted quota of the resource.
:paramtype limit: int
@@ -19478,7 +25770,7 @@ class UpdateWorkspaceQuotasResult(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@@ -19503,9 +25795,8 @@ class UriFileDataVersion(DataVersionBaseProperties):
:ivar data_type: [Required] Specifies the type of data. Required. Known values are: "uri_file",
"uri_folder", and "mltable".
:vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
- :ivar data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :ivar data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:vartype data_uri: str
"""
@@ -19533,8 +25824,8 @@ def __init__(
tags: Optional[Dict[str, str]] = None,
is_anonymous: bool = False,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -19546,9 +25837,8 @@ def __init__(
:paramtype is_anonymous: bool
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
- :keyword data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :keyword data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:paramtype data_uri: str
"""
super().__init__(
@@ -19599,8 +25889,8 @@ def __init__(
uri: str,
description: Optional[str] = None,
mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -19627,7 +25917,12 @@ class UriFileJobOutput(AssetJobOutput, JobOutput):
:ivar job_output_type: [Required] Specifies the type of job. Required. Known values are:
"uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and "triton_model".
:vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
@@ -19640,6 +25935,8 @@ class UriFileJobOutput(AssetJobOutput, JobOutput):
_attribute_map = {
"description": {"key": "description", "type": "str"},
"job_output_type": {"key": "jobOutputType", "type": "str"},
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
@@ -19648,21 +25945,32 @@ def __init__(
self,
*,
description: Optional[str] = None,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
- super().__init__(mode=mode, uri=uri, description=description, **kwargs)
+ super().__init__(
+ asset_name=asset_name, asset_version=asset_version, mode=mode, uri=uri, description=description, **kwargs
+ )
self.description = description
self.job_output_type: str = "uri_file"
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
@@ -19685,9 +25993,8 @@ class UriFolderDataVersion(DataVersionBaseProperties):
:ivar data_type: [Required] Specifies the type of data. Required. Known values are: "uri_file",
"uri_folder", and "mltable".
:vartype data_type: str or ~azure.mgmt.machinelearningservices.models.DataType
- :ivar data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :ivar data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:vartype data_uri: str
"""
@@ -19715,8 +26022,8 @@ def __init__(
tags: Optional[Dict[str, str]] = None,
is_anonymous: bool = False,
is_archived: bool = False,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: The asset description text.
:paramtype description: str
@@ -19728,9 +26035,8 @@ def __init__(
:paramtype is_anonymous: bool
:keyword is_archived: Is the asset archived?.
:paramtype is_archived: bool
- :keyword data_uri: [Required] Uri of the data. Usage/meaning depends on
- Microsoft.MachineLearning.ManagementFrontEnd.Contracts.V20221001.Assets.DataVersionBase.DataType.
- Required.
+ :keyword data_uri: [Required] Uri of the data. Example:
+ https://go.microsoft.com/fwlink/?linkid=2202330. Required.
:paramtype data_uri: str
"""
super().__init__(
@@ -19781,8 +26087,8 @@ def __init__(
uri: str,
description: Optional[str] = None,
mode: Optional[Union[str, "_models.InputDeliveryMode"]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the input.
:paramtype description: str
@@ -19809,7 +26115,12 @@ class UriFolderJobOutput(AssetJobOutput, JobOutput):
:ivar job_output_type: [Required] Specifies the type of job. Required. Known values are:
"uri_file", "uri_folder", "mltable", "custom_model", "mlflow_model", and "triton_model".
:vartype job_output_type: str or ~azure.mgmt.machinelearningservices.models.JobOutputType
- :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :ivar asset_name: Output Asset Name.
+ :vartype asset_name: str
+ :ivar asset_version: Output Asset Version.
+ :vartype asset_version: str
+ :ivar mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:vartype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:ivar uri: Output Asset URI.
:vartype uri: str
@@ -19822,6 +26133,8 @@ class UriFolderJobOutput(AssetJobOutput, JobOutput):
_attribute_map = {
"description": {"key": "description", "type": "str"},
"job_output_type": {"key": "jobOutputType", "type": "str"},
+ "asset_name": {"key": "assetName", "type": "str"},
+ "asset_version": {"key": "assetVersion", "type": "str"},
"mode": {"key": "mode", "type": "str"},
"uri": {"key": "uri", "type": "str"},
}
@@ -19830,21 +26143,32 @@ def __init__(
self,
*,
description: Optional[str] = None,
+ asset_name: Optional[str] = None,
+ asset_version: Optional[str] = None,
mode: Optional[Union[str, "_models.OutputDeliveryMode"]] = None,
uri: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword description: Description for the output.
:paramtype description: str
- :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount" and "Upload".
+ :keyword asset_name: Output Asset Name.
+ :paramtype asset_name: str
+ :keyword asset_version: Output Asset Version.
+ :paramtype asset_version: str
+ :keyword mode: Output Asset Delivery Mode. Known values are: "ReadWriteMount", "Upload", and
+ "Direct".
:paramtype mode: str or ~azure.mgmt.machinelearningservices.models.OutputDeliveryMode
:keyword uri: Output Asset URI.
:paramtype uri: str
"""
- super().__init__(mode=mode, uri=uri, description=description, **kwargs)
+ super().__init__(
+ asset_name=asset_name, asset_version=asset_version, mode=mode, uri=uri, description=description, **kwargs
+ )
self.description = description
self.job_output_type: str = "uri_folder"
+ self.asset_name = asset_name
+ self.asset_version = asset_version
self.mode = mode
self.uri = uri
@@ -19890,7 +26214,7 @@ class Usage(_serialization.Model):
"name": {"key": "name", "type": "UsageName"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.id = None
@@ -19923,7 +26247,7 @@ class UsageName(_serialization.Model):
"localized_value": {"key": "localizedValue", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.value = None
@@ -19960,8 +26284,8 @@ def __init__(
admin_user_name: str,
admin_user_ssh_public_key: Optional[str] = None,
admin_user_password: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword admin_user_name: Name of the administrator user account which can be used to SSH to
nodes. Required.
@@ -19998,13 +26322,53 @@ class UserAssignedIdentity(_serialization.Model):
"client_id": {"key": "clientId", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.principal_id = None
self.client_id = None
+class UserCreatedAcrAccount(_serialization.Model):
+ """UserCreatedAcrAccount.
+
+ :ivar arm_resource_id: ARM ResourceId of a resource.
+ :vartype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ """
+
+ _attribute_map = {
+ "arm_resource_id": {"key": "armResourceId", "type": "ArmResourceId"},
+ }
+
+ def __init__(self, *, arm_resource_id: Optional["_models.ArmResourceId"] = None, **kwargs: Any) -> None:
+ """
+ :keyword arm_resource_id: ARM ResourceId of a resource.
+ :paramtype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ """
+ super().__init__(**kwargs)
+ self.arm_resource_id = arm_resource_id
+
+
+class UserCreatedStorageAccount(_serialization.Model):
+ """UserCreatedStorageAccount.
+
+ :ivar arm_resource_id: ARM ResourceId of a resource.
+ :vartype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ """
+
+ _attribute_map = {
+ "arm_resource_id": {"key": "armResourceId", "type": "ArmResourceId"},
+ }
+
+ def __init__(self, *, arm_resource_id: Optional["_models.ArmResourceId"] = None, **kwargs: Any) -> None:
+ """
+ :keyword arm_resource_id: ARM ResourceId of a resource.
+ :paramtype arm_resource_id: ~azure.mgmt.machinelearningservices.models.ArmResourceId
+ """
+ super().__init__(**kwargs)
+ self.arm_resource_id = arm_resource_id
+
+
class UserIdentity(IdentityConfiguration):
"""User identity configuration.
@@ -20024,7 +26388,7 @@ class UserIdentity(IdentityConfiguration):
"identity_type": {"key": "identityType", "type": "str"},
}
- def __init__(self, **kwargs):
+ def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.identity_type: str = "UserIdentity"
@@ -20036,10 +26400,12 @@ class UsernamePasswordAuthTypeWorkspaceConnectionProperties(WorkspaceConnectionP
All required parameters must be populated in order to send to Azure.
:ivar auth_type: Authentication type of the connection target. Required. Known values are:
- "PAT", "ManagedIdentity", "UsernamePassword", "None", and "SAS".
+ "PAT", "ManagedIdentity", "UsernamePassword", "None", "SAS", "ServicePrincipal", and
+ "AccessKey".
:vartype auth_type: str or ~azure.mgmt.machinelearningservices.models.ConnectionAuthType
:ivar category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:vartype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:ivar target:
:vartype target: str
@@ -20073,11 +26439,12 @@ def __init__(
value: Optional[str] = None,
value_format: Optional[Union[str, "_models.ValueFormat"]] = None,
credentials: Optional["_models.WorkspaceConnectionUsernamePassword"] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword category: Category of the connection. Known values are: "PythonFeed",
- "ContainerRegistry", and "Git".
+ "ContainerRegistry", "Git", "FeatureStore", "S3", "Snowflake", "AzureSqlDb",
+ "AzureSynapseAnalytics", "AzureMySqlDb", "AzurePostgresDb", "AzureDataLakeGen2", and "Redis".
:paramtype category: str or ~azure.mgmt.machinelearningservices.models.ConnectionCategory
:keyword target:
:paramtype target: str
@@ -20105,7 +26472,7 @@ class VirtualMachineSchema(_serialization.Model):
"properties": {"key": "properties", "type": "VirtualMachineSchemaProperties"},
}
- def __init__(self, *, properties: Optional["_models.VirtualMachineSchemaProperties"] = None, **kwargs):
+ def __init__(self, *, properties: Optional["_models.VirtualMachineSchemaProperties"] = None, **kwargs: Any) -> None:
"""
:keyword properties:
:paramtype properties:
@@ -20132,7 +26499,7 @@ class VirtualMachine(Compute, VirtualMachineSchema): # pylint: disable=too-many
:vartype compute_location: str
:ivar provisioning_state: The provision state of the cluster. Valid values are Unknown,
Updating, Provisioning, Succeeded, and Failed. Known values are: "Unknown", "Updating",
- "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar description: The description of the Machine Learning compute.
@@ -20184,8 +26551,8 @@ def __init__(
description: Optional[str] = None,
resource_id: Optional[str] = None,
disable_local_auth: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword properties:
:paramtype properties:
@@ -20238,7 +26605,7 @@ class VirtualMachineImage(_serialization.Model):
"id": {"key": "id", "type": "str"},
}
- def __init__(self, *, id: str, **kwargs): # pylint: disable=redefined-builtin
+ def __init__(self, *, id: str, **kwargs: Any) -> None: # pylint: disable=redefined-builtin
"""
:keyword id: Virtual Machine image path. Required.
:paramtype id: str
@@ -20284,8 +26651,8 @@ def __init__(
address: Optional[str] = None,
administrator_account: Optional["_models.VirtualMachineSshCredentials"] = None,
is_notebook_instance_compute: Optional[bool] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword virtual_machine_size: Virtual Machine size.
:paramtype virtual_machine_size: str
@@ -20323,7 +26690,9 @@ class VirtualMachineSecretsSchema(_serialization.Model):
"administrator_account": {"key": "administratorAccount", "type": "VirtualMachineSshCredentials"},
}
- def __init__(self, *, administrator_account: Optional["_models.VirtualMachineSshCredentials"] = None, **kwargs):
+ def __init__(
+ self, *, administrator_account: Optional["_models.VirtualMachineSshCredentials"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword administrator_account: Admin credentials for virtual machine.
:paramtype administrator_account:
@@ -20356,7 +26725,9 @@ class VirtualMachineSecrets(ComputeSecrets, VirtualMachineSecretsSchema):
"compute_type": {"key": "computeType", "type": "str"},
}
- def __init__(self, *, administrator_account: Optional["_models.VirtualMachineSshCredentials"] = None, **kwargs):
+ def __init__(
+ self, *, administrator_account: Optional["_models.VirtualMachineSshCredentials"] = None, **kwargs: Any
+ ) -> None:
"""
:keyword administrator_account: Admin credentials for virtual machine.
:paramtype administrator_account:
@@ -20429,8 +26800,8 @@ def __init__(
*,
estimated_vm_prices: Optional["_models.EstimatedVMPrices"] = None,
supported_compute_types: Optional[List[str]] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword estimated_vm_prices: The estimated price information for using a VM.
:paramtype estimated_vm_prices: ~azure.mgmt.machinelearningservices.models.EstimatedVMPrices
@@ -20463,7 +26834,7 @@ class VirtualMachineSizeListResult(_serialization.Model):
"value": {"key": "value", "type": "[VirtualMachineSize]"},
}
- def __init__(self, *, value: Optional[List["_models.VirtualMachineSize"]] = None, **kwargs):
+ def __init__(self, *, value: Optional[List["_models.VirtualMachineSize"]] = None, **kwargs: Any) -> None:
"""
:keyword value: The list of virtual machine sizes supported by AmlCompute.
:paramtype value: list[~azure.mgmt.machinelearningservices.models.VirtualMachineSize]
@@ -20499,8 +26870,8 @@ def __init__(
password: Optional[str] = None,
public_key_data: Optional[str] = None,
private_key_data: Optional[str] = None,
- **kwargs
- ):
+ **kwargs: Any
+ ) -> None:
"""
:keyword username: Username of admin account.
:paramtype username: str
@@ -20518,6 +26889,103 @@ def __init__(
self.private_key_data = private_key_data
+class VolumeDefinition(_serialization.Model):
+ """VolumeDefinition.
+
+ :ivar type: Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe. Known values
+ are: "bind", "volume", "tmpfs", and "npipe".
+ :vartype type: str or ~azure.mgmt.machinelearningservices.models.VolumeDefinitionType
+ :ivar read_only: Indicate whether to mount volume as readOnly. Default value for this is false.
+ :vartype read_only: bool
+ :ivar source: Source of the mount. For bind mounts this is the host path.
+ :vartype source: str
+ :ivar target: Target of the mount. For bind mounts this is the path in the container.
+ :vartype target: str
+ :ivar consistency: Consistency of the volume.
+ :vartype consistency: str
+ :ivar bind: Bind Options of the mount.
+ :vartype bind: ~azure.mgmt.machinelearningservices.models.BindOptions
+ :ivar volume: Volume Options of the mount.
+ :vartype volume: ~azure.mgmt.machinelearningservices.models.VolumeOptions
+ :ivar tmpfs: tmpfs option of the mount.
+ :vartype tmpfs: ~azure.mgmt.machinelearningservices.models.TmpfsOptions
+ """
+
+ _attribute_map = {
+ "type": {"key": "type", "type": "str"},
+ "read_only": {"key": "readOnly", "type": "bool"},
+ "source": {"key": "source", "type": "str"},
+ "target": {"key": "target", "type": "str"},
+ "consistency": {"key": "consistency", "type": "str"},
+ "bind": {"key": "bind", "type": "BindOptions"},
+ "volume": {"key": "volume", "type": "VolumeOptions"},
+ "tmpfs": {"key": "tmpfs", "type": "TmpfsOptions"},
+ }
+
+ def __init__(
+ self,
+ *,
+ type: Union[str, "_models.VolumeDefinitionType"] = "bind",
+ read_only: Optional[bool] = None,
+ source: Optional[str] = None,
+ target: Optional[str] = None,
+ consistency: Optional[str] = None,
+ bind: Optional["_models.BindOptions"] = None,
+ volume: Optional["_models.VolumeOptions"] = None,
+ tmpfs: Optional["_models.TmpfsOptions"] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword type: Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe. Known
+ values are: "bind", "volume", "tmpfs", and "npipe".
+ :paramtype type: str or ~azure.mgmt.machinelearningservices.models.VolumeDefinitionType
+ :keyword read_only: Indicate whether to mount volume as readOnly. Default value for this is
+ false.
+ :paramtype read_only: bool
+ :keyword source: Source of the mount. For bind mounts this is the host path.
+ :paramtype source: str
+ :keyword target: Target of the mount. For bind mounts this is the path in the container.
+ :paramtype target: str
+ :keyword consistency: Consistency of the volume.
+ :paramtype consistency: str
+ :keyword bind: Bind Options of the mount.
+ :paramtype bind: ~azure.mgmt.machinelearningservices.models.BindOptions
+ :keyword volume: Volume Options of the mount.
+ :paramtype volume: ~azure.mgmt.machinelearningservices.models.VolumeOptions
+ :keyword tmpfs: tmpfs option of the mount.
+ :paramtype tmpfs: ~azure.mgmt.machinelearningservices.models.TmpfsOptions
+ """
+ super().__init__(**kwargs)
+ self.type = type
+ self.read_only = read_only
+ self.source = source
+ self.target = target
+ self.consistency = consistency
+ self.bind = bind
+ self.volume = volume
+ self.tmpfs = tmpfs
+
+
+class VolumeOptions(_serialization.Model):
+ """VolumeOptions.
+
+ :ivar nocopy: Indicate whether volume is nocopy.
+ :vartype nocopy: bool
+ """
+
+ _attribute_map = {
+ "nocopy": {"key": "nocopy", "type": "bool"},
+ }
+
+ def __init__(self, *, nocopy: Optional[bool] = None, **kwargs: Any) -> None:
+ """
+ :keyword nocopy: Indicate whether volume is nocopy.
+ :paramtype nocopy: bool
+ """
+ super().__init__(**kwargs)
+ self.nocopy = nocopy
+
+
class Workspace(Resource): # pylint: disable=too-many-instance-attributes
"""An object that represents a machine learning workspace.
@@ -20542,6 +27010,8 @@ class Workspace(Resource): # pylint: disable=too-many-instance-attributes
:vartype tags: dict[str, str]
:ivar sku: The sku of the workspace.
:vartype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :ivar kind:
+ :vartype kind: str
:ivar workspace_id: The immutable id associated with this workspace.
:vartype workspace_id: str
:ivar description: The description of this workspace.
@@ -20563,7 +27033,7 @@ class Workspace(Resource): # pylint: disable=too-many-instance-attributes
:vartype discovery_url: str
:ivar provisioning_state: The current deployment state of workspace resource. The
provisioningState is to indicate states for resource provisioning. Known values are: "Unknown",
- "Updating", "Creating", "Deleting", "Succeeded", "Failed", and "Canceled".
+ "Updating", "Creating", "Deleting", "Succeeded", "Failed", "Canceled", and "SoftDeleted".
:vartype provisioning_state: str or
~azure.mgmt.machinelearningservices.models.ProvisioningState
:ivar encryption: The encryption settings of Azure ML workspace.
@@ -20611,6 +27081,19 @@ class Workspace(Resource): # pylint: disable=too-many-instance-attributes
:ivar v1_legacy_mode: Enabling v1_legacy_mode may prevent you from using features provided by
the v2 API.
:vartype v1_legacy_mode: bool
+ :ivar soft_deleted_at: The timestamp when the workspace was soft deleted.
+ :vartype soft_deleted_at: str
+ :ivar scheduled_purge_date: The timestamp when the soft deleted workspace is going to be
+ purged.
+ :vartype scheduled_purge_date: str
+ :ivar system_datastores_auth_mode: The auth mode used for accessing the system datastores of
+ the workspace.
+ :vartype system_datastores_auth_mode: str
+ :ivar feature_store_settings: Settings for feature store type workspace.
+ :vartype feature_store_settings:
+ ~azure.mgmt.machinelearningservices.models.FeatureStoreSettings
+ :ivar soft_delete_retention_in_days: Retention time in days after workspace get soft deleted.
+ :vartype soft_delete_retention_in_days: int
"""
_validation = {
@@ -20627,6 +27110,8 @@ class Workspace(Resource): # pylint: disable=too-many-instance-attributes
"tenant_id": {"readonly": True},
"storage_hns_enabled": {"readonly": True},
"ml_flow_tracking_uri": {"readonly": True},
+ "soft_deleted_at": {"readonly": True},
+ "scheduled_purge_date": {"readonly": True},
}
_attribute_map = {
@@ -20638,6 +27123,7 @@ class Workspace(Resource): # pylint: disable=too-many-instance-attributes
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"sku": {"key": "sku", "type": "Sku"},
+ "kind": {"key": "kind", "type": "str"},
"workspace_id": {"key": "properties.workspaceId", "type": "str"},
"description": {"key": "properties.description", "type": "str"},
"friendly_name": {"key": "properties.friendlyName", "type": "str"},
@@ -20672,6 +27158,11 @@ class Workspace(Resource): # pylint: disable=too-many-instance-attributes
"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"},
+ "soft_deleted_at": {"key": "properties.softDeletedAt", "type": "str"},
+ "scheduled_purge_date": {"key": "properties.scheduledPurgeDate", "type": "str"},
+ "system_datastores_auth_mode": {"key": "properties.systemDatastoresAuthMode", "type": "str"},
+ "feature_store_settings": {"key": "properties.featureStoreSettings", "type": "FeatureStoreSettings"},
+ "soft_delete_retention_in_days": {"key": "properties.softDeleteRetentionInDays", "type": "int"},
}
def __init__( # pylint: disable=too-many-locals
@@ -20681,6 +27172,7 @@ def __init__( # pylint: disable=too-many-locals
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
sku: Optional["_models.Sku"] = None,
+ kind: Optional[str] = None,
description: Optional[str] = None,
friendly_name: Optional[str] = None,
key_vault: Optional[str] = None,
@@ -20697,8 +27189,11 @@ def __init__( # pylint: disable=too-many-locals
service_managed_resources_settings: Optional["_models.ServiceManagedResourcesSettings"] = None,
primary_user_assigned_identity: Optional[str] = None,
v1_legacy_mode: bool = False,
- **kwargs
- ):
+ system_datastores_auth_mode: Optional[str] = None,
+ feature_store_settings: Optional["_models.FeatureStoreSettings"] = None,
+ soft_delete_retention_in_days: Optional[int] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword identity: The identity of the resource.
:paramtype identity: ~azure.mgmt.machinelearningservices.models.ManagedServiceIdentity
@@ -20708,6 +27203,8 @@ def __init__( # pylint: disable=too-many-locals
:paramtype tags: dict[str, str]
:keyword sku: The sku of the workspace.
:paramtype sku: ~azure.mgmt.machinelearningservices.models.Sku
+ :keyword kind:
+ :paramtype kind: str
:keyword description: The description of this workspace.
:paramtype description: str
:keyword friendly_name: The friendly name for this workspace. This name in mutable.
@@ -20753,12 +27250,22 @@ def __init__( # pylint: disable=too-many-locals
:keyword v1_legacy_mode: Enabling v1_legacy_mode may prevent you from using features provided
by the v2 API.
:paramtype v1_legacy_mode: bool
+ :keyword system_datastores_auth_mode: The auth mode used for accessing the system datastores of
+ the workspace.
+ :paramtype system_datastores_auth_mode: str
+ :keyword feature_store_settings: Settings for feature store type workspace.
+ :paramtype feature_store_settings:
+ ~azure.mgmt.machinelearningservices.models.FeatureStoreSettings
+ :keyword soft_delete_retention_in_days: Retention time in days after workspace get soft
+ deleted.
+ :paramtype soft_delete_retention_in_days: int
"""
super().__init__(**kwargs)
self.identity = identity
self.location = location
self.tags = tags
self.sku = sku
+ self.kind = kind
self.workspace_id = None
self.description = description
self.friendly_name = friendly_name
@@ -20784,6 +27291,39 @@ def __init__( # pylint: disable=too-many-locals
self.storage_hns_enabled = None
self.ml_flow_tracking_uri = None
self.v1_legacy_mode = v1_legacy_mode
+ self.soft_deleted_at = None
+ self.scheduled_purge_date = None
+ self.system_datastores_auth_mode = system_datastores_auth_mode
+ self.feature_store_settings = feature_store_settings
+ self.soft_delete_retention_in_days = soft_delete_retention_in_days
+
+
+class WorkspaceConnectionAccessKey(_serialization.Model):
+ """WorkspaceConnectionAccessKey.
+
+ :ivar access_key_id:
+ :vartype access_key_id: str
+ :ivar secret_access_key:
+ :vartype secret_access_key: str
+ """
+
+ _attribute_map = {
+ "access_key_id": {"key": "accessKeyId", "type": "str"},
+ "secret_access_key": {"key": "secretAccessKey", "type": "str"},
+ }
+
+ def __init__(
+ self, *, access_key_id: Optional[str] = None, secret_access_key: Optional[str] = None, **kwargs: Any
+ ) -> None:
+ """
+ :keyword access_key_id:
+ :paramtype access_key_id: str
+ :keyword secret_access_key:
+ :paramtype secret_access_key: str
+ """
+ super().__init__(**kwargs)
+ self.access_key_id = access_key_id
+ self.secret_access_key = secret_access_key
class WorkspaceConnectionManagedIdentity(_serialization.Model):
@@ -20800,7 +27340,7 @@ class WorkspaceConnectionManagedIdentity(_serialization.Model):
"client_id": {"key": "clientId", "type": "str"},
}
- def __init__(self, *, resource_id: Optional[str] = None, client_id: Optional[str] = None, **kwargs):
+ def __init__(self, *, resource_id: Optional[str] = None, client_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword resource_id:
:paramtype resource_id: str
@@ -20823,7 +27363,7 @@ class WorkspaceConnectionPersonalAccessToken(_serialization.Model):
"pat": {"key": "pat", "type": "str"},
}
- def __init__(self, *, pat: Optional[str] = None, **kwargs):
+ def __init__(self, *, pat: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword pat:
:paramtype pat: str
@@ -20870,7 +27410,7 @@ class WorkspaceConnectionPropertiesV2BasicResource(Resource):
"properties": {"key": "properties", "type": "WorkspaceConnectionPropertiesV2"},
}
- def __init__(self, *, properties: "_models.WorkspaceConnectionPropertiesV2", **kwargs):
+ def __init__(self, *, properties: "_models.WorkspaceConnectionPropertiesV2", **kwargs: Any) -> None:
"""
:keyword properties: Required.
:paramtype properties:
@@ -20902,8 +27442,8 @@ class WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult(_serializat
}
def __init__(
- self, *, value: Optional[List["_models.WorkspaceConnectionPropertiesV2BasicResource"]] = None, **kwargs
- ):
+ self, *, value: Optional[List["_models.WorkspaceConnectionPropertiesV2BasicResource"]] = None, **kwargs: Any
+ ) -> None:
"""
:keyword value:
:paramtype value:
@@ -20914,6 +27454,45 @@ def __init__(
self.next_link = None
+class WorkspaceConnectionServicePrincipal(_serialization.Model):
+ """WorkspaceConnectionServicePrincipal.
+
+ :ivar client_id:
+ :vartype client_id: str
+ :ivar client_secret:
+ :vartype client_secret: str
+ :ivar tenant_id:
+ :vartype tenant_id: str
+ """
+
+ _attribute_map = {
+ "client_id": {"key": "clientId", "type": "str"},
+ "client_secret": {"key": "clientSecret", "type": "str"},
+ "tenant_id": {"key": "tenantId", "type": "str"},
+ }
+
+ def __init__(
+ self,
+ *,
+ client_id: Optional[str] = None,
+ client_secret: Optional[str] = None,
+ tenant_id: Optional[str] = None,
+ **kwargs: Any
+ ) -> None:
+ """
+ :keyword client_id:
+ :paramtype client_id: str
+ :keyword client_secret:
+ :paramtype client_secret: str
+ :keyword tenant_id:
+ :paramtype tenant_id: str
+ """
+ super().__init__(**kwargs)
+ self.client_id = client_id
+ self.client_secret = client_secret
+ self.tenant_id = tenant_id
+
+
class WorkspaceConnectionSharedAccessSignature(_serialization.Model):
"""WorkspaceConnectionSharedAccessSignature.
@@ -20925,7 +27504,7 @@ class WorkspaceConnectionSharedAccessSignature(_serialization.Model):
"sas": {"key": "sas", "type": "str"},
}
- def __init__(self, *, sas: Optional[str] = None, **kwargs):
+ def __init__(self, *, sas: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword sas:
:paramtype sas: str
@@ -20948,7 +27527,7 @@ class WorkspaceConnectionUsernamePassword(_serialization.Model):
"password": {"key": "password", "type": "str"},
}
- def __init__(self, *, username: Optional[str] = None, password: Optional[str] = None, **kwargs):
+ def __init__(self, *, username: Optional[str] = None, password: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword username:
:paramtype username: str
@@ -20976,7 +27555,9 @@ class WorkspaceListResult(_serialization.Model):
"next_link": {"key": "nextLink", "type": "str"},
}
- def __init__(self, *, value: Optional[List["_models.Workspace"]] = None, next_link: Optional[str] = None, **kwargs):
+ def __init__(
+ self, *, value: Optional[List["_models.Workspace"]] = None, next_link: Optional[str] = None, **kwargs: Any
+ ) -> None:
"""
: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.
@@ -21019,6 +27600,11 @@ class WorkspaceUpdateParameters(_serialization.Model): # pylint: disable=too-ma
:vartype application_insights: str
:ivar container_registry: ARM id of the container registry associated with this workspace.
:vartype container_registry: str
+ :ivar encryption: The encryption settings of the workspace.
+ :vartype encryption: ~azure.mgmt.machinelearningservices.models.EncryptionUpdateProperties
+ :ivar feature_store_settings: Settings for feature store type workspace.
+ :vartype feature_store_settings:
+ ~azure.mgmt.machinelearningservices.models.FeatureStoreSettings
"""
_attribute_map = {
@@ -21036,6 +27622,8 @@ class WorkspaceUpdateParameters(_serialization.Model): # pylint: disable=too-ma
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"application_insights": {"key": "properties.applicationInsights", "type": "str"},
"container_registry": {"key": "properties.containerRegistry", "type": "str"},
+ "encryption": {"key": "properties.encryption", "type": "EncryptionUpdateProperties"},
+ "feature_store_settings": {"key": "properties.featureStoreSettings", "type": "FeatureStoreSettings"},
}
def __init__(
@@ -21052,8 +27640,10 @@ def __init__(
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
application_insights: Optional[str] = None,
container_registry: Optional[str] = None,
- **kwargs
- ):
+ encryption: Optional["_models.EncryptionUpdateProperties"] = None,
+ feature_store_settings: Optional["_models.FeatureStoreSettings"] = None,
+ **kwargs: Any
+ ) -> None:
"""
:keyword tags: The resource tags for the machine learning workspace.
:paramtype tags: dict[str, str]
@@ -21082,6 +27672,11 @@ def __init__(
:paramtype application_insights: str
:keyword container_registry: ARM id of the container registry associated with this workspace.
:paramtype container_registry: str
+ :keyword encryption: The encryption settings of the workspace.
+ :paramtype encryption: ~azure.mgmt.machinelearningservices.models.EncryptionUpdateProperties
+ :keyword feature_store_settings: Settings for feature store type workspace.
+ :paramtype feature_store_settings:
+ ~azure.mgmt.machinelearningservices.models.FeatureStoreSettings
"""
super().__init__(**kwargs)
self.tags = tags
@@ -21095,3 +27690,5 @@ def __init__(
self.public_network_access = public_network_access
self.application_insights = application_insights
self.container_registry = container_registry
+ self.encryption = encryption
+ self.feature_store_settings = feature_store_settings
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/__init__.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/__init__.py
index 0065485916d9..5f852b48c123 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/__init__.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/__init__.py
@@ -15,6 +15,16 @@
from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations
from ._private_link_resources_operations import PrivateLinkResourcesOperations
from ._workspace_connections_operations import WorkspaceConnectionsOperations
+from ._registry_code_containers_operations import RegistryCodeContainersOperations
+from ._registry_code_versions_operations import RegistryCodeVersionsOperations
+from ._registry_component_containers_operations import RegistryComponentContainersOperations
+from ._registry_component_versions_operations import RegistryComponentVersionsOperations
+from ._registry_data_containers_operations import RegistryDataContainersOperations
+from ._registry_data_versions_operations import RegistryDataVersionsOperations
+from ._registry_environment_containers_operations import RegistryEnvironmentContainersOperations
+from ._registry_environment_versions_operations import RegistryEnvironmentVersionsOperations
+from ._registry_model_containers_operations import RegistryModelContainersOperations
+from ._registry_model_versions_operations import RegistryModelVersionsOperations
from ._batch_endpoints_operations import BatchEndpointsOperations
from ._batch_deployments_operations import BatchDeploymentsOperations
from ._code_containers_operations import CodeContainersOperations
@@ -26,12 +36,18 @@
from ._datastores_operations import DatastoresOperations
from ._environment_containers_operations import EnvironmentContainersOperations
from ._environment_versions_operations import EnvironmentVersionsOperations
+from ._featureset_containers_operations import FeaturesetContainersOperations
+from ._featureset_versions_operations import FeaturesetVersionsOperations
+from ._featurestore_entity_containers_operations import FeaturestoreEntityContainersOperations
+from ._featurestore_entity_versions_operations import FeaturestoreEntityVersionsOperations
from ._jobs_operations import JobsOperations
+from ._labeling_jobs_operations import LabelingJobsOperations
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 ._registries_operations import RegistriesOperations
from ._workspace_features_operations import WorkspaceFeaturesOperations
from ._patch import __all__ as _patch_all
@@ -48,6 +64,16 @@
"PrivateEndpointConnectionsOperations",
"PrivateLinkResourcesOperations",
"WorkspaceConnectionsOperations",
+ "RegistryCodeContainersOperations",
+ "RegistryCodeVersionsOperations",
+ "RegistryComponentContainersOperations",
+ "RegistryComponentVersionsOperations",
+ "RegistryDataContainersOperations",
+ "RegistryDataVersionsOperations",
+ "RegistryEnvironmentContainersOperations",
+ "RegistryEnvironmentVersionsOperations",
+ "RegistryModelContainersOperations",
+ "RegistryModelVersionsOperations",
"BatchEndpointsOperations",
"BatchDeploymentsOperations",
"CodeContainersOperations",
@@ -59,12 +85,18 @@
"DatastoresOperations",
"EnvironmentContainersOperations",
"EnvironmentVersionsOperations",
+ "FeaturesetContainersOperations",
+ "FeaturesetVersionsOperations",
+ "FeaturestoreEntityContainersOperations",
+ "FeaturestoreEntityVersionsOperations",
"JobsOperations",
+ "LabelingJobsOperations",
"ModelContainersOperations",
"ModelVersionsOperations",
"OnlineEndpointsOperations",
"OnlineDeploymentsOperations",
"SchedulesOperations",
+ "RegistriesOperations",
"WorkspaceFeaturesOperations",
]
__all__.extend([p for p in _patch_all if p not in __all__])
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_deployments_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_deployments_operations.py
index 944b8300d2f5..ee0383d5df84 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_deployments_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_deployments_operations.py
@@ -57,7 +57,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -70,7 +72,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -102,7 +106,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -115,7 +121,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
"deploymentName": _SERIALIZER.url("deployment_name", deployment_name, "str"),
}
@@ -142,7 +150,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -155,7 +165,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
"deploymentName": _SERIALIZER.url("deployment_name", deployment_name, "str"),
}
@@ -182,7 +194,9 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -196,7 +210,9 @@ def build_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -229,7 +245,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -243,7 +261,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -321,7 +341,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchDeploymentTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -381,8 +401,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -413,7 +434,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -432,8 +453,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -490,7 +512,7 @@ def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -516,7 +538,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -567,7 +591,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchDeployment] = kwargs.pop("cls", None)
@@ -586,8 +610,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -628,7 +653,7 @@ def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -659,8 +684,9 @@ def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -805,8 +831,8 @@ def begin_update(
:type endpoint_name: str
:param deployment_name: The identifier for the Batch inference deployment. Required.
:type deployment_name: str
- :param body: Batch inference deployment definition object. Is either a model type or a IO type.
- Required.
+ :param body: Batch inference deployment definition object. Is either a
+ PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties type or a IO type. Required.
:type body:
~azure.mgmt.machinelearningservices.models.PartialBatchDeploymentPartialMinimalTrackedResourceWithProperties
or IO
@@ -830,7 +856,7 @@ def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -899,7 +925,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -930,8 +956,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1077,8 +1104,8 @@ def begin_create_or_update(
:type endpoint_name: str
:param deployment_name: The identifier for the Batch inference deployment. Required.
:type deployment_name: str
- :param body: Batch inference deployment definition object. Is either a model type or a IO type.
- Required.
+ :param body: Batch inference deployment definition object. Is either a BatchDeployment type or
+ a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.BatchDeployment or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1100,7 +1127,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1131,7 +1158,9 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_endpoints_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_endpoints_operations.py
index 5813ab488a03..2b54e80200bb 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_endpoints_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_batch_endpoints_operations.py
@@ -55,7 +55,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -68,7 +70,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -92,7 +96,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -105,7 +111,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -126,7 +134,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -139,7 +149,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -160,7 +172,9 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -174,7 +188,9 @@ def build_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -199,7 +215,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -213,7 +231,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -238,7 +258,9 @@ def build_list_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -251,7 +273,9 @@ def build_list_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -315,7 +339,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchEndpointTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -373,8 +397,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -405,7 +430,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -423,8 +448,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -479,7 +505,7 @@ def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -504,7 +530,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -553,7 +581,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.BatchEndpoint] = kwargs.pop("cls", None)
@@ -571,8 +599,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -612,7 +641,7 @@ def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -642,8 +671,9 @@ def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -777,8 +807,8 @@ def begin_update(
:type workspace_name: str
:param endpoint_name: Name for the Batch inference endpoint. Required.
:type endpoint_name: str
- :param body: Mutable batch inference endpoint definition object. Is either a model type or a IO
- type. Required.
+ :param body: Mutable batch inference endpoint definition object. Is either a
+ PartialMinimalTrackedResourceWithIdentity type or a IO type. Required.
:type body:
~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -800,7 +830,7 @@ def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -867,7 +897,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -897,8 +927,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1033,8 +1064,8 @@ def begin_create_or_update(
:type workspace_name: str
:param endpoint_name: Name for the Batch inference endpoint. Required.
:type endpoint_name: str
- :param body: Batch inference endpoint definition object. Is either a model type or a IO type.
- Required.
+ :param body: Batch inference endpoint definition object. Is either a BatchEndpoint type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.BatchEndpoint or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1055,7 +1086,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1085,7 +1116,9 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -1134,7 +1167,7 @@ def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EndpointAuthKeys] = kwargs.pop("cls", None)
@@ -1152,8 +1185,9 @@ def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_containers_operations.py
index 637d9072c910..a4be0bf6ee07 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_containers_operations.py
@@ -47,7 +47,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -60,7 +62,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -82,7 +86,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -95,7 +101,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -116,7 +124,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -129,7 +139,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -150,7 +162,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -164,7 +178,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -223,7 +239,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -280,8 +296,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -329,7 +346,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -347,8 +364,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -394,7 +412,7 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
@@ -412,8 +430,9 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -520,7 +539,7 @@ def create_or_update(
:type workspace_name: str
:param name: Container name. This is case-sensitive. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
+ :param body: Container entity to create or update. Is either a CodeContainer type or a IO type.
Required.
:type body: ~azure.mgmt.machinelearningservices.models.CodeContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -542,7 +561,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -572,8 +591,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_versions_operations.py
index 561baa83676c..3c8716af28c1 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_code_versions_operations.py
@@ -55,7 +55,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -68,7 +70,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -95,7 +99,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -108,7 +114,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -130,7 +138,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -143,7 +153,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -165,7 +177,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -179,7 +193,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -252,7 +268,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -312,8 +328,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -363,7 +380,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -382,8 +399,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -433,7 +451,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
@@ -452,8 +470,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -569,7 +588,8 @@ def create_or_update(
:type name: str
:param version: Version identifier. This is case-sensitive. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a CodeVersion type or a IO type.
+ Required.
:type body: ~azure.mgmt.machinelearningservices.models.CodeVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -590,7 +610,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -621,8 +641,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_containers_operations.py
index 4b9361f4a37c..88e0854fe0e5 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_containers_operations.py
@@ -53,7 +53,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -66,7 +68,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -90,7 +94,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -103,7 +109,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -124,7 +132,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -137,7 +147,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -158,7 +170,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -172,7 +186,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -240,7 +256,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -298,8 +314,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -347,7 +364,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -365,8 +382,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -414,7 +432,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
@@ -432,8 +450,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -540,8 +559,8 @@ def create_or_update(
:type workspace_name: str
:param name: Container name. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
- Required.
+ :param body: Container entity to create or update. Is either a ComponentContainer type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -562,7 +581,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -592,8 +611,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_versions_operations.py
index 5e99740483db..15d05c0a5143 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_component_versions_operations.py
@@ -56,7 +56,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -69,7 +71,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -98,7 +102,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -111,7 +117,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -133,7 +141,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -146,7 +156,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -168,7 +180,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -182,7 +196,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -260,7 +276,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -321,8 +337,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -372,7 +389,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -391,8 +408,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -442,7 +460,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
@@ -461,8 +479,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -578,7 +597,8 @@ def create_or_update(
:type name: str
:param version: Version identifier. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a ComponentVersion type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -599,7 +619,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -630,8 +650,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_compute_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_compute_operations.py
index 51927e5687de..9f54b5e60771 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_compute_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_compute_operations.py
@@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
-from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+from typing import Any, Callable, Dict, IO, Iterable, List, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
@@ -49,7 +49,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -62,7 +64,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -84,7 +88,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -97,7 +103,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -118,7 +126,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -132,7 +142,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -155,7 +167,9 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -169,7 +183,9 @@ def build_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -198,7 +214,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -211,7 +229,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -229,13 +249,56 @@ def build_delete_request(
return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+def build_update_custom_services_request(
+ resource_group_name: str, workspace_name: str, compute_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/customServices",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
def build_list_nodes_request(
resource_group_name: str, workspace_name: str, compute_name: str, subscription_id: str, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -248,7 +311,9 @@ def build_list_nodes_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -269,7 +334,9 @@ def build_list_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -282,7 +349,9 @@ def build_list_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -303,7 +372,9 @@ def build_start_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -316,7 +387,9 @@ def build_start_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -337,7 +410,9 @@ def build_stop_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -350,7 +425,9 @@ def build_stop_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -371,7 +448,9 @@ def build_restart_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -384,7 +463,48 @@ def build_restart_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_update_idle_shutdown_setting_request(
+ resource_group_name: str, workspace_name: str, compute_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/updateIdleShutdownSetting",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"computeName": _SERIALIZER.url("compute_name", compute_name, "str"),
}
@@ -394,6 +514,8 @@ def build_restart_request(
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
# Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
@@ -440,7 +562,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PaginatedComputeResourcesList] = kwargs.pop("cls", None)
@@ -497,8 +619,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -545,7 +668,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComputeResource] = kwargs.pop("cls", None)
@@ -563,8 +686,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -604,7 +728,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -634,8 +758,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -769,8 +894,8 @@ def begin_create_or_update(
:type workspace_name: str
:param compute_name: Name of the Azure Machine Learning compute. Required.
:type compute_name: str
- :param parameters: Payload with Machine Learning compute definition. Is either a model type or
- a IO type. Required.
+ :param parameters: Payload with Machine Learning compute definition. Is either a
+ ComputeResource type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.ComputeResource or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -792,7 +917,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -859,7 +984,7 @@ def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -889,8 +1014,9 @@ def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1012,8 +1138,8 @@ def begin_update(
:type workspace_name: str
:param compute_name: Name of the Azure Machine Learning compute. Required.
:type compute_name: str
- :param parameters: Additional parameters for cluster update. Is either a model type or a IO
- type. Required.
+ :param parameters: Additional parameters for cluster update. Is either a
+ ClusterUpdateParameters type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.ClusterUpdateParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1035,7 +1161,7 @@ def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1102,7 +1228,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1121,8 +1247,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1184,7 +1311,7 @@ def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1228,6 +1355,157 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}"
}
+ @overload
+ def update_custom_services( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ custom_services: List[_models.CustomService],
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the custom services list. The list of custom services provided shall be overwritten.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param custom_services: New list of Custom Services. Required.
+ :type custom_services: list[~azure.mgmt.machinelearningservices.models.CustomService]
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @overload
+ def update_custom_services( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ custom_services: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the custom services list. The list of custom services provided shall be overwritten.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param custom_services: New list of Custom Services. Required.
+ :type custom_services: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @distributed_trace
+ def update_custom_services( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ custom_services: Union[List[_models.CustomService], IO],
+ **kwargs: Any
+ ) -> None:
+ """Updates the custom services list. The list of custom services provided shall be overwritten.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param custom_services: New list of Custom Services. Is either a [CustomService] type or a IO
+ type. Required.
+ :type custom_services: list[~azure.mgmt.machinelearningservices.models.CustomService] or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(custom_services, (IO, bytes)):
+ _content = custom_services
+ else:
+ _json = self._serialize.body(custom_services, "[CustomService]")
+
+ request = build_update_custom_services_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self.update_custom_services.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ update_custom_services.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/customServices"
+ }
+
@distributed_trace
def list_nodes(
self, resource_group_name: str, workspace_name: str, compute_name: str, **kwargs: Any
@@ -1251,7 +1529,7 @@ def list_nodes(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.AmlComputeNodesInformation] = kwargs.pop("cls", None)
@@ -1308,8 +1586,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1355,7 +1634,7 @@ def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ComputeSecrets] = kwargs.pop("cls", None)
@@ -1373,8 +1652,9 @@ def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1409,7 +1689,7 @@ def _start_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1427,8 +1707,9 @@ def _start_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1473,7 +1754,7 @@ def begin_start(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1530,7 +1811,7 @@ def _stop_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1548,8 +1829,9 @@ def _stop_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1594,7 +1876,7 @@ def begin_stop(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1651,7 +1933,7 @@ def _restart_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1669,8 +1951,9 @@ def _restart_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1715,7 +1998,7 @@ def begin_restart(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1757,3 +2040,156 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
begin_restart.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart"
}
+
+ @overload
+ def update_idle_shutdown_setting( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: _models.IdleShutdownSetting,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the idle shutdown setting of a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param parameters: The object for updating idle shutdown setting of specified ComputeInstance.
+ Required.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.IdleShutdownSetting
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @overload
+ def update_idle_shutdown_setting( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> None:
+ """Updates the idle shutdown setting of a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param parameters: The object for updating idle shutdown setting of specified ComputeInstance.
+ Required.
+ :type parameters: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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:
+ """
+
+ @distributed_trace
+ def update_idle_shutdown_setting( # pylint: disable=inconsistent-return-statements
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ compute_name: str,
+ parameters: Union[_models.IdleShutdownSetting, IO],
+ **kwargs: Any
+ ) -> None:
+ """Updates the idle shutdown setting of a compute instance.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param compute_name: Name of the Azure Machine Learning compute. Required.
+ :type compute_name: str
+ :param parameters: The object for updating idle shutdown setting of specified ComputeInstance.
+ Is either a IdleShutdownSetting type or a IO type. Required.
+ :type parameters: ~azure.mgmt.machinelearningservices.models.IdleShutdownSetting or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(parameters, (IO, bytes)):
+ _content = parameters
+ else:
+ _json = self._serialize.body(parameters, "IdleShutdownSetting")
+
+ request = build_update_idle_shutdown_setting_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ compute_name=compute_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self.update_idle_shutdown_setting.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ update_idle_shutdown_setting.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/updateIdleShutdownSetting"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_containers_operations.py
index 3b5d3acc38c6..a6dd26672651 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_containers_operations.py
@@ -53,7 +53,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -66,7 +68,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -90,7 +94,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -103,7 +109,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -124,7 +132,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -137,7 +147,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -158,7 +170,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -172,7 +186,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -239,7 +255,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -297,8 +313,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -346,7 +363,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -364,8 +381,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -411,7 +429,7 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
@@ -429,8 +447,9 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -537,7 +556,7 @@ def create_or_update(
:type workspace_name: str
:param name: Container name. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
+ :param body: Container entity to create or update. Is either a DataContainer type or a IO type.
Required.
:type body: ~azure.mgmt.machinelearningservices.models.DataContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -559,7 +578,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -589,8 +608,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_versions_operations.py
index 092363a5e2f3..30d53bcfa219 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_data_versions_operations.py
@@ -57,7 +57,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -70,7 +72,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -101,7 +105,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -114,7 +120,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -136,7 +144,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -149,7 +159,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -171,7 +183,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -185,7 +199,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -271,7 +287,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataVersionBaseResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -333,8 +349,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -384,7 +401,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -403,8 +420,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -454,7 +472,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
@@ -473,8 +491,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -590,7 +609,8 @@ def create_or_update(
:type name: str
:param version: Version identifier. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a DataVersionBase type or a IO type.
+ Required.
:type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -611,7 +631,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -642,8 +662,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_datastores_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_datastores_operations.py
index bc01c32a0983..b5eefecf0983 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_datastores_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_datastores_operations.py
@@ -58,7 +58,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -71,7 +73,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -105,7 +109,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -118,7 +124,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -139,7 +147,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -152,7 +162,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -179,7 +191,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -193,7 +207,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -218,7 +234,9 @@ def build_list_secrets_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -231,7 +249,9 @@ def build_list_secrets_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -310,7 +330,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DatastoreResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -373,8 +393,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -422,7 +443,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -440,8 +461,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -487,7 +509,7 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.Datastore] = kwargs.pop("cls", None)
@@ -505,8 +527,9 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -620,7 +643,7 @@ def create_or_update(
:type workspace_name: str
:param name: Datastore name. Required.
:type name: str
- :param body: Datastore entity to create or update. Is either a model type or a IO type.
+ :param body: Datastore entity to create or update. Is either a Datastore type or a IO type.
Required.
:type body: ~azure.mgmt.machinelearningservices.models.Datastore or IO
:param skip_validation: Flag to skip validation. Default value is False.
@@ -644,7 +667,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -675,8 +698,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -732,7 +756,7 @@ def list_secrets(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.DatastoreSecrets] = kwargs.pop("cls", None)
@@ -750,8 +774,9 @@ def list_secrets(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_containers_operations.py
index d80de1f2b3c7..0e5989904718 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_containers_operations.py
@@ -53,7 +53,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -66,7 +68,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -90,7 +94,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -103,7 +109,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -124,7 +132,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -137,7 +147,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -158,7 +170,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -172,7 +186,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -241,7 +257,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -299,8 +315,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -348,7 +365,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -366,8 +383,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -415,7 +433,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
@@ -433,8 +451,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -541,8 +560,8 @@ def create_or_update(
:type workspace_name: str
:param name: Container name. This is case-sensitive. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
- Required.
+ :param body: Container entity to create or update. Is either a EnvironmentContainer type or a
+ IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -563,7 +582,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -593,8 +612,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_versions_operations.py
index d898cb3c67dd..d59cfbc1219c 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_environment_versions_operations.py
@@ -56,7 +56,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -69,7 +71,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -98,7 +102,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -111,7 +117,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -133,7 +141,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -146,7 +156,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -168,7 +180,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -182,7 +196,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -260,7 +276,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -321,8 +337,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -372,7 +389,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -391,8 +408,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -442,7 +460,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
@@ -461,8 +479,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -578,7 +597,8 @@ def create_or_update(
:type name: str
:param version: Version of EnvironmentVersion. Required.
:type version: str
- :param body: Definition of EnvironmentVersion. Is either a model type or a IO type. Required.
+ :param body: Definition of EnvironmentVersion. Is either a EnvironmentVersion type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -599,7 +619,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -630,8 +650,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featureset_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featureset_containers_operations.py
new file mode 100644
index 000000000000..1c020d8ccd7d
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featureset_containers_operations.py
@@ -0,0 +1,810 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if tags is not None:
+ _params["tags"] = _SERIALIZER.query("tags", tags, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_entity_request(
+ resource_group_name: str, workspace_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class FeaturesetContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`featureset_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.FeaturesetContainer"]:
+ """List featurestore entity containers.
+
+ List featurestore entity containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturesetContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ 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,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturesetContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featuresets"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featuresets/{name}"
+ }
+
+ @distributed_trace
+ def begin_delete(self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
+
+ @distributed_trace
+ def get_entity(
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> _models.FeaturesetContainer:
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturesetContainer or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturesetContainer
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetContainer] = kwargs.pop("cls", None)
+
+ request = build_get_entity_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get_entity.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturesetContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_entity.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturesetContainer, IO],
+ **kwargs: Any
+ ) -> _models.FeaturesetContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturesetContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturesetContainer", 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("FeaturesetContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: _models.FeaturesetContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturesetContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Is either a FeaturesetContainer type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturesetContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ 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,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturesetContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featureset_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featureset_versions_operations.py
new file mode 100644
index 000000000000..90a3dcfbcf4e
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featureset_versions_operations.py
@@ -0,0 +1,1713 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if tags is not None:
+ _params["tags"] = _SERIALIZER.query("tags", tags, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "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: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_backfill_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/backfill",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_feature_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/getFeature",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_features_request(
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/listFeatures",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if tags is not None:
+ _params["$tags"] = _SERIALIZER.query("tags", tags, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_materialization_jobs_request(
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ filters: Optional[str] = None,
+ feature_window_start: Optional[str] = None,
+ feature_window_end: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/listMaterializationJobs",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if filters is not None:
+ _params["filters"] = _SERIALIZER.query("filters", filters, "str")
+ if feature_window_start is not None:
+ _params["featureWindowStart"] = _SERIALIZER.query("feature_window_start", feature_window_start, "str")
+ if feature_window_end is not None:
+ _params["featureWindowEnd"] = _SERIALIZER.query("feature_window_end", feature_window_end, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class FeaturesetVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`featureset_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.FeaturesetVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Featureset name. This is case-sensitive. Required.
+ :type name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturesetVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturesetVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featuresets/{name}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featuresets/{name}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> _models.FeaturesetVersion:
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturesetVersion or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturesetVersion
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturesetVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersion, IO],
+ **kwargs: Any
+ ) -> _models.FeaturesetVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturesetVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturesetVersion", 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("FeaturesetVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.FeaturesetVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersion, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a FeaturesetVersion type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturesetVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturesetVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}"
+ }
+
+ def _backfill_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersionBackfillRequest, IO],
+ **kwargs: Any
+ ) -> Optional[_models.FeaturesetVersionBackfillResponse]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.FeaturesetVersionBackfillResponse]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturesetVersionBackfillRequest")
+
+ request = build_backfill_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._backfill_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturesetVersionBackfillResponse", 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
+
+ _backfill_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/backfill"
+ }
+
+ @overload
+ def begin_backfill(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.FeaturesetVersionBackfillRequest,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetVersionBackfillResponse]:
+ """Backfill.
+
+ Backfill.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature set version backfill request entity. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillRequest
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersionBackfillResponse or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_backfill(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetVersionBackfillResponse]:
+ """Backfill.
+
+ Backfill.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature set version backfill request entity. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturesetVersionBackfillResponse or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_backfill(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturesetVersionBackfillRequest, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturesetVersionBackfillResponse]:
+ """Backfill.
+
+ Backfill.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature set version backfill request entity. Is either a
+ FeaturesetVersionBackfillRequest type or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillRequest or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturesetVersionBackfillResponse or the
+ result of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturesetVersionBackfillResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturesetVersionBackfillResponse] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._backfill_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturesetVersionBackfillResponse", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_backfill.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/backfill"
+ }
+
+ @overload
+ def get_feature(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.GetFeatureRequest,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Feature:
+ """Get feature.
+
+ Get feature.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature set name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Feature set version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature Name request. This is case-sensitive. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.GetFeatureRequest
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Feature or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Feature
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def get_feature(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> _models.Feature:
+ """Get feature.
+
+ Get feature.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature set name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Feature set version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature Name request. This is case-sensitive. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Feature or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Feature
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def get_feature(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.GetFeatureRequest, IO],
+ **kwargs: Any
+ ) -> _models.Feature:
+ """Get feature.
+
+ Get feature.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature set name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Feature set version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Feature Name request. This is case-sensitive. Is either a GetFeatureRequest type
+ or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.GetFeatureRequest or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Feature or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Feature
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Feature] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "GetFeatureRequest")
+
+ request = build_get_feature_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self.get_feature.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("Feature", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_feature.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/getFeature"
+ }
+
+ @distributed_trace
+ def list_features(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.Feature"]:
+ """List Features.
+
+ List Features.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Featureset name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Featureset Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either Feature or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.Feature]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeatureArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_features_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ tags=tags,
+ api_version=api_version,
+ template_url=self.list_features.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeatureArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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_features.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/listFeatures"
+ }
+
+ @distributed_trace
+ def list_materialization_jobs(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ skip: Optional[str] = None,
+ filters: Optional[str] = None,
+ feature_window_start: Optional[str] = None,
+ feature_window_end: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.FeaturesetJob"]:
+ """List materialization Jobs.
+
+ List materialization Jobs.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param filters: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type filters: str
+ :param feature_window_start: Start time of the feature window to filter materialization jobs.
+ Default value is None.
+ :type feature_window_start: str
+ :param feature_window_end: End time of the feature window to filter materialization jobs.
+ Default value is None.
+ :type feature_window_end: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either FeaturesetJob or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.FeaturesetJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturesetJobArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_materialization_jobs_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ filters=filters,
+ feature_window_start=feature_window_start,
+ feature_window_end=feature_window_end,
+ api_version=api_version,
+ template_url=self.list_materialization_jobs.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturesetJobArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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_materialization_jobs.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featuresets/{name}/versions/{version}/listMaterializationJobs"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featurestore_entity_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featurestore_entity_containers_operations.py
new file mode 100644
index 000000000000..83dddc26e372
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featurestore_entity_containers_operations.py
@@ -0,0 +1,811 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if tags is not None:
+ _params["tags"] = _SERIALIZER.query("tags", tags, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_entity_request(
+ resource_group_name: str, workspace_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class FeaturestoreEntityContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`featurestore_entity_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.FeaturestoreEntityContainer"]:
+ """List featurestore entity containers.
+
+ List featurestore entity containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturestoreEntityContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ 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,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturestoreEntityContainerResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featurestoreEntities"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featurestoreEntities/{name}"
+ }
+
+ @distributed_trace
+ def begin_delete(self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
+
+ @distributed_trace
+ def get_entity(
+ self, resource_group_name: str, workspace_name: str, name: str, **kwargs: Any
+ ) -> _models.FeaturestoreEntityContainer:
+ """Get container.
+
+ Get container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturestoreEntityContainer or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityContainer] = kwargs.pop("cls", None)
+
+ request = build_get_entity_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get_entity.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturestoreEntityContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get_entity.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturestoreEntityContainer, IO],
+ **kwargs: Any
+ ) -> _models.FeaturestoreEntityContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturestoreEntityContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturestoreEntityContainer", 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("FeaturestoreEntityContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: _models.FeaturestoreEntityContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturestoreEntityContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityContainer or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturestoreEntityContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityContainer or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ body: Union[_models.FeaturestoreEntityContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturestoreEntityContainer]:
+ """Create or update container.
+
+ Create or update container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param body: Container entity to create or update. Is either a FeaturestoreEntityContainer type
+ or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturestoreEntityContainer or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ 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,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturestoreEntityContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featurestore_entity_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featurestore_entity_versions_operations.py
new file mode 100644
index 000000000000..f0072f6ea3c1
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_featurestore_entity_versions_operations.py
@@ -0,0 +1,841 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if tags is not None:
+ _params["tags"] = _SERIALIZER.query("tags", tags, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "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: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class FeaturestoreEntityVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`featurestore_entity_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ skip: Optional[str] = None,
+ tags: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.FeaturestoreEntityVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Feature entity name. This is case-sensitive. Required.
+ :type name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 FeaturestoreEntityVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("FeaturestoreEntityVersionResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/featurestoreEntities/{name}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, workspace_name: str, name: str, version: str, **kwargs: Any
+ ) -> _models.FeaturestoreEntityVersion:
+ """Get version.
+
+ Get version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: FeaturestoreEntityVersion or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.FeaturestoreEntityVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("FeaturestoreEntityVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturestoreEntityVersion, IO],
+ **kwargs: Any
+ ) -> _models.FeaturestoreEntityVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "FeaturestoreEntityVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("FeaturestoreEntityVersion", 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("FeaturestoreEntityVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.FeaturestoreEntityVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturestoreEntityVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityVersion or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturestoreEntityVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 FeaturestoreEntityVersion or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.FeaturestoreEntityVersion, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.FeaturestoreEntityVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a FeaturestoreEntityVersion type or
+ a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 FeaturestoreEntityVersion or the result
+ of cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.FeaturestoreEntityVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.FeaturestoreEntityVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("FeaturestoreEntityVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/featurestoreEntities/{name}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_jobs_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_jobs_operations.py
index cd8bd0bd0c47..842453bfa43a 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_jobs_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_jobs_operations.py
@@ -52,12 +52,17 @@ def build_list_request(
job_type: Optional[str] = None,
tag: Optional[str] = None,
list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ asset_name: Optional[str] = None,
+ scheduled: Optional[bool] = None,
+ schedule_id: Optional[str] = None,
**kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -70,7 +75,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -85,6 +92,12 @@ def build_list_request(
_params["tag"] = _SERIALIZER.query("tag", tag, "str")
if list_view_type is not None:
_params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+ if asset_name is not None:
+ _params["assetName"] = _SERIALIZER.query("asset_name", asset_name, "str")
+ if scheduled is not None:
+ _params["scheduled"] = _SERIALIZER.query("scheduled", scheduled, "bool")
+ if schedule_id is not None:
+ _params["scheduleId"] = _SERIALIZER.query("schedule_id", schedule_id, "str")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -98,7 +111,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -111,7 +126,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"id": _SERIALIZER.url("id", id, "str"),
}
@@ -132,7 +149,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -145,7 +164,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"id": _SERIALIZER.url("id", id, "str"),
}
@@ -166,7 +187,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -180,7 +203,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"id": _SERIALIZER.url("id", id, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -203,7 +228,9 @@ def build_cancel_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -216,7 +243,9 @@ def build_cancel_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"id": _SERIALIZER.url("id", id, "str"),
}
@@ -259,6 +288,9 @@ def list(
job_type: Optional[str] = None,
tag: Optional[str] = None,
list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ asset_name: Optional[str] = None,
+ scheduled: Optional[bool] = None,
+ schedule_id: Optional[str] = None,
**kwargs: Any
) -> Iterable["_models.JobBase"]:
"""Lists Jobs in the workspace.
@@ -279,6 +311,12 @@ def list(
:param list_view_type: View type for including/excluding (for example) archived entities. Known
values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
:type list_view_type: str or ~azure.mgmt.machinelearningservices.models.ListViewType
+ :param asset_name: Asset name the job's named output is registered with. Default value is None.
+ :type asset_name: str
+ :param scheduled: Indicator whether the job is scheduled job. Default value is None.
+ :type scheduled: bool
+ :param schedule_id: The scheduled id for listing the job triggered from. Default value is None.
+ :type schedule_id: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either JobBase or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.JobBase]
@@ -287,7 +325,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.JobBaseResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -311,6 +349,9 @@ def prepare_request(next_link=None):
job_type=job_type,
tag=tag,
list_view_type=list_view_type,
+ asset_name=asset_name,
+ scheduled=scheduled,
+ schedule_id=schedule_id,
api_version=api_version,
template_url=self.list.metadata["url"],
headers=_headers,
@@ -347,8 +388,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -379,7 +421,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -397,8 +439,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -451,7 +494,7 @@ def begin_delete(self, resource_group_name: str, workspace_name: str, id: str, *
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -476,7 +519,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -523,7 +568,7 @@ def get(self, resource_group_name: str, workspace_name: str, id: str, **kwargs:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.JobBase] = kwargs.pop("cls", None)
@@ -541,8 +586,9 @@ def get(self, resource_group_name: str, workspace_name: str, id: str, **kwargs:
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -644,7 +690,7 @@ def create_or_update(
:type workspace_name: str
:param id: The name and identifier for the Job. This is case-sensitive. Required.
:type id: str
- :param body: Job definition object. Is either a model type or a IO type. Required.
+ :param body: Job definition object. Is either a JobBase type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.JobBase or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -665,7 +711,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -695,8 +741,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -735,7 +782,7 @@ def _cancel_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -753,8 +800,9 @@ def _cancel_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -804,7 +852,7 @@ def begin_cancel(self, resource_group_name: str, workspace_name: str, id: str, *
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_labeling_jobs_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_labeling_jobs_operations.py
new file mode 100644
index 000000000000..128ca0072aaf
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_labeling_jobs_operations.py
@@ -0,0 +1,1327 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ top: Optional[int] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, workspace_name: str, id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "id": _SERIALIZER.url("id", id, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ subscription_id: str,
+ *,
+ include_job_instructions: bool = False,
+ include_label_categories: bool = False,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "id": _SERIALIZER.url("id", id, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if include_job_instructions is not None:
+ _params["includeJobInstructions"] = _SERIALIZER.query(
+ "include_job_instructions", include_job_instructions, "bool"
+ )
+ if include_label_categories is not None:
+ _params["includeLabelCategories"] = _SERIALIZER.query(
+ "include_label_categories", include_label_categories, "bool"
+ )
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, workspace_name: str, id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "id": _SERIALIZER.url("id", id, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_export_labels_request(
+ resource_group_name: str, workspace_name: str, id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/exportLabels",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "id": _SERIALIZER.url("id", id, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_pause_request(
+ resource_group_name: str, workspace_name: str, id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/pause",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "id": _SERIALIZER.url("id", id, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_resume_request(
+ resource_group_name: str, workspace_name: str, id: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/resume",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "id": _SERIALIZER.url("id", id, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class LabelingJobsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`labeling_jobs` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ skip: Optional[str] = None,
+ top: Optional[int] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.LabelingJob"]:
+ """Lists labeling jobs in the workspace.
+
+ Lists labeling jobs in the workspace.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param top: Number of labeling jobs to return. Default value is None.
+ :type top: int
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: An iterator like instance of either LabelingJob or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.LabelingJobResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ 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,
+ skip=skip,
+ top=top,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("LabelingJobResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/labelingJobs"
+ }
+
+ @distributed_trace
+ def delete( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> None:
+ """Delete a labeling job.
+
+ Delete a labeling job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.delete.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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}/labelingJobs/{id}"
+ }
+
+ @distributed_trace
+ def get(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ include_job_instructions: bool = False,
+ include_label_categories: bool = False,
+ **kwargs: Any
+ ) -> _models.LabelingJob:
+ """Gets a labeling job by name/id.
+
+ Gets a labeling job by name/id.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param include_job_instructions: Boolean value to indicate whether to include JobInstructions
+ in response. Default value is False.
+ :type include_job_instructions: bool
+ :param include_label_categories: Boolean value to indicate Whether to include LabelCategories
+ in response. Default value is False.
+ :type include_label_categories: bool
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: LabelingJob or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.LabelingJob
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.LabelingJob] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ include_job_instructions=include_job_instructions,
+ include_label_categories=include_label_categories,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("LabelingJob", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.LabelingJob, IO],
+ **kwargs: Any
+ ) -> _models.LabelingJob:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.LabelingJob] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "LabelingJob")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("LabelingJob", 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("LabelingJob", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: _models.LabelingJob,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.LabelingJob]:
+ """Creates or updates a labeling job (asynchronous).
+
+ Creates or updates a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: LabelingJob definition object. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.LabelingJob
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 LabelingJob or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.LabelingJob]:
+ """Creates or updates a labeling job (asynchronous).
+
+ Creates or updates a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: LabelingJob definition object. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 LabelingJob or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.LabelingJob, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.LabelingJob]:
+ """Creates or updates a labeling job (asynchronous).
+
+ Creates or updates a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: LabelingJob definition object. Is either a LabelingJob type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.LabelingJob or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 LabelingJob or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.LabelingJob]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.LabelingJob] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("LabelingJob", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}"
+ }
+
+ def _export_labels_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.ExportSummary, IO],
+ **kwargs: Any
+ ) -> Optional[_models.ExportSummary]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.ExportSummary]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ExportSummary")
+
+ request = build_export_labels_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._export_labels_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ExportSummary", 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
+
+ _export_labels_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/exportLabels"
+ }
+
+ @overload
+ def begin_export_labels(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: _models.ExportSummary,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.ExportSummary]:
+ """Export labels from a labeling job (asynchronous).
+
+ Export labels from a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: The export summary. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ExportSummary
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ExportSummary or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ExportSummary]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_export_labels(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.ExportSummary]:
+ """Export labels from a labeling job (asynchronous).
+
+ Export labels from a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: The export summary. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ExportSummary or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ExportSummary]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_export_labels(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ id: str,
+ body: Union[_models.ExportSummary, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.ExportSummary]:
+ """Export labels from a labeling job (asynchronous).
+
+ Export labels from a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: str
+ :param body: The export summary. Is either a ExportSummary type or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ExportSummary or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ExportSummary or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ExportSummary]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ExportSummary] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._export_labels_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ExportSummary", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_export_labels.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/exportLabels"
+ }
+
+ @distributed_trace
+ def pause( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> None:
+ """Pause a labeling job.
+
+ Pause a labeling job.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :type id: 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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_pause_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.pause.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ pause.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/pause"
+ }
+
+ def _resume_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_resume_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._resume_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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)
+
+ _resume_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/resume"
+ }
+
+ @distributed_trace
+ def begin_resume(self, resource_group_name: str, workspace_name: str, id: str, **kwargs: Any) -> LROPoller[None]:
+ """Resume a labeling job (asynchronous).
+
+ Resume a labeling job (asynchronous).
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param id: The name and identifier for the LabelingJob. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._resume_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ id=id,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_resume.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/resume"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_containers_operations.py
index 2c416fba2772..9fdf47680386 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_containers_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_containers_operations.py
@@ -54,7 +54,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -67,7 +69,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -93,7 +97,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -106,7 +112,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -127,7 +135,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -140,7 +150,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -161,7 +173,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -175,7 +189,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -245,7 +261,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -304,8 +320,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -353,7 +370,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -371,8 +388,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -418,7 +436,7 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
@@ -436,8 +454,9 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -544,8 +563,8 @@ def create_or_update(
:type workspace_name: str
:param name: Container name. This is case-sensitive. Required.
:type name: str
- :param body: Container entity to create or update. Is either a model type or a IO type.
- Required.
+ :param body: Container entity to create or update. Is either a ModelContainer type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.ModelContainer or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -566,7 +585,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -596,8 +615,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_versions_operations.py
index 775841fe3ae4..435d20ab2966 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_versions_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_model_versions_operations.py
@@ -7,7 +7,7 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import sys
-from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
import urllib.parse
from azure.core.exceptions import (
@@ -21,10 +21,12 @@
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.core.utils import case_insensitive_dict
from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
from .. import models as _models
from .._serialization import Serializer
@@ -62,7 +64,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -75,7 +79,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -116,7 +122,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -129,7 +137,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -151,7 +161,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -164,7 +176,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -186,7 +200,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -200,7 +216,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
"version": _SERIALIZER.url("version", version, "str"),
}
@@ -218,6 +236,48 @@ def build_create_or_update_request(
return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+def build_package_request(
+ resource_group_name: str, workspace_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}/package",
+ ) # 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", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "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: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs)
+
+
class ModelVersionsOperations:
"""
.. warning::
@@ -297,7 +357,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -364,8 +424,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -415,7 +476,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -434,8 +495,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -485,7 +547,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
@@ -504,8 +566,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -621,7 +684,8 @@ def create_or_update(
:type name: str
:param version: Version identifier. This is case-sensitive. Required.
:type version: str
- :param body: Version entity to create or update. Is either a model type or a IO type. Required.
+ :param body: Version entity to create or update. Is either a ModelVersion type or a IO type.
+ Required.
:type body: ~azure.mgmt.machinelearningservices.models.ModelVersion or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -642,7 +706,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -673,8 +737,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -698,3 +763,271 @@ def create_or_update(
create_or_update.metadata = {
"url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}"
}
+
+ def _package_initial(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.PackageRequest, IO],
+ **kwargs: Any
+ ) -> Optional[_models.PackageResponse]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.PackageResponse]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "PackageRequest")
+
+ request = build_package_request(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._package_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ deserialized = None
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("PackageResponse", 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
+
+ _package_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}/package"
+ }
+
+ @overload
+ def begin_package(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: _models.PackageRequest,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.PackageResponse]:
+ """Model Version Package operation.
+
+ Model Version Package operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Package operation request body. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PackageRequest
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 PackageResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.PackageResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_package(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.PackageResponse]:
+ """Model Version Package operation.
+
+ Model Version Package operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Package operation request body. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 PackageResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.PackageResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_package(
+ self,
+ resource_group_name: str,
+ workspace_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.PackageRequest, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.PackageResponse]:
+ """Model Version Package operation.
+
+ Model Version Package operation.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param workspace_name: Name of Azure Machine Learning workspace. Required.
+ :type workspace_name: str
+ :param name: Container name. This is case-sensitive. Required.
+ :type name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :type version: str
+ :param body: Package operation request body. Is either a PackageRequest type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PackageRequest or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 PackageResponse or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.PackageResponse]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.PackageResponse] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._package_initial(
+ resource_group_name=resource_group_name,
+ workspace_name=workspace_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("PackageResponse", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_package.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/models/{name}/versions/{version}/package"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_deployments_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_deployments_operations.py
index cf048b3e2993..0089e01dde0e 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_deployments_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_deployments_operations.py
@@ -57,7 +57,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -70,7 +72,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -102,7 +106,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -115,7 +121,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
"deploymentName": _SERIALIZER.url("deployment_name", deployment_name, "str"),
}
@@ -142,7 +150,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -155,7 +165,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
"deploymentName": _SERIALIZER.url("deployment_name", deployment_name, "str"),
}
@@ -182,7 +194,9 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -196,7 +210,9 @@ def build_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -229,7 +245,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -243,7 +261,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -276,7 +296,9 @@ def build_get_logs_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -290,7 +312,9 @@ def build_get_logs_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
"deploymentName": _SERIALIZER.url("deployment_name", deployment_name, "str"),
}
@@ -322,7 +346,9 @@ def build_list_skus_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -335,7 +361,9 @@ def build_list_skus_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
"deploymentName": _SERIALIZER.url("deployment_name", deployment_name, "str"),
}
@@ -411,7 +439,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineDeploymentTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -471,8 +499,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -503,7 +532,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -522,8 +551,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -580,7 +610,7 @@ def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -606,7 +636,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -657,7 +689,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineDeployment] = kwargs.pop("cls", None)
@@ -676,8 +708,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -718,7 +751,7 @@ def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -749,8 +782,9 @@ def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -894,8 +928,8 @@ def begin_update(
:type endpoint_name: str
:param deployment_name: Inference Endpoint Deployment name. Required.
:type deployment_name: str
- :param body: Online Endpoint entity to apply during operation. Is either a model type or a IO
- type. Required.
+ :param body: Online Endpoint entity to apply during operation. Is either a
+ PartialMinimalTrackedResourceWithSku type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithSku or
IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -918,7 +952,7 @@ def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -987,7 +1021,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1018,8 +1052,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1165,8 +1200,8 @@ def begin_create_or_update(
:type endpoint_name: str
:param deployment_name: Inference Endpoint Deployment name. Required.
:type deployment_name: str
- :param body: Inference Endpoint entity to apply during operation. Is either a model type or a
- IO type. Required.
+ :param body: Inference Endpoint entity to apply during operation. Is either a OnlineDeployment
+ type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.OnlineDeployment or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1188,7 +1223,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1219,7 +1254,9 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -1332,8 +1369,8 @@ def get_logs(
:type endpoint_name: str
:param deployment_name: The name and identifier for the endpoint. Required.
:type deployment_name: str
- :param body: The request containing parameters for retrieving logs. Is either a model type or a
- IO type. Required.
+ :param body: The request containing parameters for retrieving logs. Is either a
+ DeploymentLogsRequest type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.DeploymentLogsRequest or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1354,7 +1391,7 @@ def get_logs(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1385,8 +1422,9 @@ def get_logs(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1443,7 +1481,7 @@ def list_skus(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.SkuResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -1503,8 +1541,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_endpoints_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_endpoints_operations.py
index 9d9051dce1f7..6da28016c54b 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_endpoints_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_online_endpoints_operations.py
@@ -60,7 +60,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -73,7 +75,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -107,7 +111,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -120,7 +126,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -141,7 +149,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -154,7 +164,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -175,7 +187,9 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -189,7 +203,9 @@ def build_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -212,7 +228,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -226,7 +244,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url(
"endpoint_name", endpoint_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
),
@@ -251,7 +271,9 @@ def build_list_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -264,7 +286,9 @@ def build_list_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -285,7 +309,9 @@ def build_regenerate_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -299,7 +325,9 @@ def build_regenerate_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -322,7 +350,9 @@ def build_get_token_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -335,7 +365,9 @@ def build_get_token_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"endpointName": _SERIALIZER.url("endpoint_name", endpoint_name, "str"),
}
@@ -420,7 +452,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineEndpointTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -483,8 +515,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -515,7 +548,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -533,8 +566,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -589,7 +623,7 @@ def begin_delete(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -614,7 +648,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -663,7 +699,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.OnlineEndpoint] = kwargs.pop("cls", None)
@@ -681,8 +717,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -722,7 +759,7 @@ def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -752,8 +789,9 @@ def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -889,8 +927,8 @@ def begin_update(
:type workspace_name: str
:param endpoint_name: Online Endpoint name. Required.
:type endpoint_name: str
- :param body: Online Endpoint entity to apply during operation. Is either a model type or a IO
- type. Required.
+ :param body: Online Endpoint entity to apply during operation. Is either a
+ PartialMinimalTrackedResourceWithIdentity type or a IO type. Required.
:type body:
~azure.mgmt.machinelearningservices.models.PartialMinimalTrackedResourceWithIdentity or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -913,7 +951,7 @@ def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -980,7 +1018,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1010,8 +1048,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1148,8 +1187,8 @@ def begin_create_or_update(
:type workspace_name: str
:param endpoint_name: Online Endpoint name. Required.
:type endpoint_name: str
- :param body: Online Endpoint entity to apply during operation. Is either a model type or a IO
- type. Required.
+ :param body: Online Endpoint entity to apply during operation. Is either a OnlineEndpoint type
+ or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.OnlineEndpoint or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1171,7 +1210,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1201,7 +1240,9 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -1250,7 +1291,7 @@ def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EndpointAuthKeys] = kwargs.pop("cls", None)
@@ -1268,8 +1309,9 @@ def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1309,7 +1351,7 @@ def _regenerate_keys_initial( # pylint: disable=inconsistent-return-statements
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1339,8 +1381,9 @@ def _regenerate_keys_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1462,7 +1505,8 @@ def begin_regenerate_keys(
:type workspace_name: str
:param endpoint_name: Online Endpoint name. Required.
:type endpoint_name: str
- :param body: RegenerateKeys request . Is either a model type or a IO type. Required.
+ :param body: RegenerateKeys request . Is either a RegenerateEndpointKeysRequest type or a IO
+ type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.RegenerateEndpointKeysRequest or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1482,7 +1526,7 @@ def begin_regenerate_keys(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1561,7 +1605,7 @@ def get_token(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.EndpointAuthToken] = kwargs.pop("cls", None)
@@ -1579,8 +1623,9 @@ def get_token(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_operations.py
index 369a4a8166c9..c77a085aa104 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_operations.py
@@ -45,7 +45,9 @@ def build_list_request(**kwargs: Any) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -81,7 +83,7 @@ def __init__(self, *args, **kwargs):
@distributed_trace
def list(self, **kwargs: Any) -> Iterable["_models.AmlOperation"]:
- """Lists all of the available Azure Machine Learning Workspaces REST API operations.
+ """Lists all of the available Azure Machine Learning Services 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 AmlOperation or the result of cls(response)
@@ -91,7 +93,7 @@ def list(self, **kwargs: Any) -> Iterable["_models.AmlOperation"]:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.AmlOperationListResult] = kwargs.pop("cls", None)
@@ -144,8 +146,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_endpoint_connections_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_endpoint_connections_operations.py
index 6be9a15c5c60..d04a395aeea8 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_endpoint_connections_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_endpoint_connections_operations.py
@@ -47,7 +47,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -59,7 +61,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
}
@@ -84,7 +88,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -97,7 +103,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"privateEndpointConnectionName": _SERIALIZER.url(
"private_endpoint_connection_name", private_endpoint_connection_name, "str"
),
@@ -124,7 +132,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -138,7 +148,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"privateEndpointConnectionName": _SERIALIZER.url(
"private_endpoint_connection_name", private_endpoint_connection_name, "str"
),
@@ -167,7 +179,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -180,7 +194,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"privateEndpointConnectionName": _SERIALIZER.url(
"private_endpoint_connection_name", private_endpoint_connection_name, "str"
),
@@ -237,7 +253,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PrivateEndpointConnectionListResult] = kwargs.pop("cls", None)
@@ -293,8 +309,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -341,7 +358,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PrivateEndpointConnection] = kwargs.pop("cls", None)
@@ -359,8 +376,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -464,8 +482,8 @@ def create_or_update(
:param private_endpoint_connection_name: The name of the private endpoint connection associated
with the workspace. Required.
:type private_endpoint_connection_name: str
- :param properties: The private endpoint connection properties. Is either a model type or a IO
- type. Required.
+ :param properties: The private endpoint connection properties. Is either a
+ PrivateEndpointConnection type or a IO type. Required.
:type properties: ~azure.mgmt.machinelearningservices.models.PrivateEndpointConnection or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -486,7 +504,7 @@ def create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -516,8 +534,9 @@ def create_or_update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -568,7 +587,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -586,8 +605,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_link_resources_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_link_resources_operations.py
index 330afa1b8940..5df4e2b4b637 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_link_resources_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_private_link_resources_operations.py
@@ -45,7 +45,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -58,7 +60,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -118,7 +122,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.PrivateLinkResourceListResult] = kwargs.pop("cls", None)
@@ -135,8 +139,9 @@ def list(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_quotas_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_quotas_operations.py
index 926e7f8d9baa..160cf3b2b539 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_quotas_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_quotas_operations.py
@@ -45,7 +45,9 @@ def build_update_request(location: str, subscription_id: str, **kwargs: Any) ->
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -76,7 +78,9 @@ def build_list_request(location: str, subscription_id: str, **kwargs: Any) -> Ht
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -170,7 +174,8 @@ def update(
:param location: The location for update quota is queried. Required.
:type location: str
- :param parameters: Quota update parameters. Is either a model type or a IO type. Required.
+ :param parameters: Quota update parameters. Is either a QuotaUpdateParameters type or a IO
+ type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.QuotaUpdateParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -191,7 +196,7 @@ def update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -219,8 +224,9 @@ def update(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -255,7 +261,7 @@ def list(self, location: str, **kwargs: Any) -> Iterable["_models.ResourceQuota"
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListWorkspaceQuotas] = kwargs.pop("cls", None)
@@ -310,8 +316,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registries_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registries_operations.py
new file mode 100644
index 000000000000..ef4e69fb65fa
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registries_operations.py
@@ -0,0 +1,1128 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_by_subscription_request(
+ subscription_id: str, *, skip: Optional[str] = None, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url", "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/registries"
+ ) # pylint: disable=line-too-long
+ path_format_arguments = {
+ "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_list_request(
+ resource_group_name: str, subscription_id: str, *, skip: Optional[str] = None, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries",
+ ) # 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: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(resource_group_name: str, registry_name: str, subscription_id: str, **kwargs: Any) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_update_request(
+ resource_group_name: str, registry_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PATCH", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistriesOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registries` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list_by_subscription(self, skip: Optional[str] = None, **kwargs: Any) -> Iterable["_models.Registry"]:
+ """List registries by subscription.
+
+ List registries by subscription.
+
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 Registry or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.RegistryTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_by_subscription_request(
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list_by_subscription.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("RegistryTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries"
+ }
+
+ @distributed_trace
+ def list(self, resource_group_name: str, skip: Optional[str] = None, **kwargs: Any) -> Iterable["_models.Registry"]:
+ """List registries.
+
+ List registries.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 Registry or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.RegistryTrackedResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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("RegistryTrackedResourceArmPaginatedResult", pipeline_response)
+ list_of_elem = deserialized.value
+ if cls:
+ list_of_elem = cls(list_of_elem) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}"
+ }
+
+ @distributed_trace
+ def begin_delete(self, resource_group_name: str, registry_name: str, **kwargs: Any) -> LROPoller[None]:
+ """Delete registry.
+
+ Delete registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ @distributed_trace
+ def get(self, resource_group_name: str, registry_name: str, **kwargs: Any) -> _models.Registry:
+ """Get registry.
+
+ Get registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :keyword callable cls: A custom type or function that will be passed the direct response
+ :return: Registry or the result of cls(response)
+ :rtype: ~azure.mgmt.machinelearningservices.models.Registry
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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("Registry", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ get.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ def _update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: Union[_models.PartialRegistryPartialTrackedResource, IO],
+ **kwargs: Any
+ ) -> _models.Registry:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "PartialRegistryPartialTrackedResource")
+
+ request = build_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("Registry", 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"))
+
+ deserialized = self._deserialize("Registry", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ @overload
+ def begin_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: _models.PartialRegistryPartialTrackedResource,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.Registry]:
+ """Update tags.
+
+ Update tags.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PartialRegistryPartialTrackedResource
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.Registry]:
+ """Update tags.
+
+ Update tags.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: Union[_models.PartialRegistryPartialTrackedResource, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.Registry]:
+ """Update tags.
+
+ Update tags.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Is either a
+ PartialRegistryPartialTrackedResource type or a IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.PartialRegistryPartialTrackedResource or
+ IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 Registry or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("Registry", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ def _create_or_update_initial(
+ self, resource_group_name: str, registry_name: str, body: Union[_models.Registry, IO], **kwargs: Any
+ ) -> Optional[_models.Registry]:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[Optional[_models.Registry]] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "Registry")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **kwargs
+ )
+
+ response = pipeline_response.http_response
+
+ if response.status_code not in [200, 201, 202]:
+ 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 = None
+ if response.status_code == 200:
+ deserialized = self._deserialize("Registry", pipeline_response)
+
+ if response.status_code == 201:
+ deserialized = self._deserialize("Registry", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+
+ return deserialized
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: _models.Registry,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.Registry]:
+ """Create or update registry.
+
+ Create or update registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.Registry
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.Registry]:
+ """Create or update registry.
+
+ Create or update registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 Registry or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self, resource_group_name: str, registry_name: str, body: Union[_models.Registry, IO], **kwargs: Any
+ ) -> LROPoller[_models.Registry]:
+ """Create or update registry.
+
+ Create or update registry.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of registry. This is case-insensitive. Required.
+ :type registry_name: str
+ :param body: Details required to create the registry. Is either a Registry type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.Registry or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 Registry or the result of cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.Registry]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.Registry] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("Registry", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_code_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_code_containers_operations.py
new file mode 100644
index 000000000000..3e83b1e470d3
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_code_containers_operations.py
@@ -0,0 +1,772 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str, registry_name: str, subscription_id: str, *, skip: Optional[str] = None, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, code_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, code_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, code_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryCodeContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_code_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, registry_name: str, skip: Optional[str] = None, **kwargs: Any
+ ) -> Iterable["_models.CodeContainer"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 CodeContainer or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, code_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/codes/{codeName}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, code_name: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}"
+ }
+
+ @distributed_trace
+ def get(self, resource_group_name: str, registry_name: str, code_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes/{codeName}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: Union[_models.CodeContainer, IO],
+ **kwargs: Any
+ ) -> _models.CodeContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "CodeContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("CodeContainer", 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("CodeContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: _models.CodeContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeContainer or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeContainer or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ body: Union[_models.CodeContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param body: Container entity to create or update. Is either a CodeContainer type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 CodeContainer or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.CodeContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("CodeContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_code_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_code_versions_operations.py
new file mode 100644
index 000000000000..c779f9937018
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_code_versions_operations.py
@@ -0,0 +1,825 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ subscription_id: str,
+ *,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if order_by is not None:
+ _params["$orderBy"] = _SERIALIZER.query("order_by", order_by, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, code_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, code_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, code_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "codeName": _SERIALIZER.url("code_name", code_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryCodeVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_code_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.CodeVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 CodeVersion or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes/{codeName}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, code_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, code_name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, code_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: Union[_models.CodeVersion, IO],
+ **kwargs: Any
+ ) -> _models.CodeVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "CodeVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("CodeVersion", 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("CodeVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: _models.CodeVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeVersion or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 CodeVersion or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ code_name: str,
+ version: str,
+ body: Union[_models.CodeVersion, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param code_name: Container name. Required.
+ :type code_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a CodeVersion type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.CodeVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 CodeVersion or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.CodeVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.CodeVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ code_name=code_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("CodeVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/codes/{codeName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_component_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_component_containers_operations.py
new file mode 100644
index 000000000000..3cb91440df19
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_component_containers_operations.py
@@ -0,0 +1,780 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str, registry_name: str, subscription_id: str, *, skip: Optional[str] = None, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, component_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url("component_name", component_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, component_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url("component_name", component_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, component_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url(
+ "component_name", component_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryComponentContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_component_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self, resource_group_name: str, registry_name: str, skip: Optional[str] = None, **kwargs: Any
+ ) -> Iterable["_models.ComponentContainer"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 ComponentContainer or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, component_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/components/{componentName}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, component_name: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, component_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components/{componentName}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: Union[_models.ComponentContainer, IO],
+ **kwargs: Any
+ ) -> _models.ComponentContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ComponentContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ComponentContainer", 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("ComponentContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: _models.ComponentContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ body: Union[_models.ComponentContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param body: Container entity to create or update. Is either a ComponentContainer type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ComponentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComponentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ComponentContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_component_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_component_versions_operations.py
new file mode 100644
index 000000000000..234bbbfffb92
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_component_versions_operations.py
@@ -0,0 +1,831 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ subscription_id: str,
+ *,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url("component_name", component_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if order_by is not None:
+ _params["$orderBy"] = _SERIALIZER.query("order_by", order_by, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, component_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url("component_name", component_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, component_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url("component_name", component_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, component_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "componentName": _SERIALIZER.url(
+ "component_name", component_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryComponentVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_component_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ skip: Optional[str] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.ComponentVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :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 ComponentVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components/{componentName}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, component_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, component_name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, component_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: Union[_models.ComponentVersion, IO],
+ **kwargs: Any
+ ) -> _models.ComponentVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ComponentVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ComponentVersion", 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("ComponentVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: _models.ComponentVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ComponentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ component_name: str,
+ version: str,
+ body: Union[_models.ComponentVersion, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param component_name: Container name. Required.
+ :type component_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a ComponentVersion type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ComponentVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ComponentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ComponentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ComponentVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ component_name=component_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ComponentVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/components/{componentName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_data_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_data_containers_operations.py
new file mode 100644
index 000000000000..d757ad14ebf3
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_data_containers_operations.py
@@ -0,0 +1,791 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryDataContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_data_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.DataContainer"]:
+ """List containers.
+
+ List containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 DataContainer or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/data/{name}"
+ }
+
+ @distributed_trace
+ def begin_delete(self, resource_group_name: str, registry_name: str, name: str, **kwargs: Any) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}"
+ }
+
+ @distributed_trace
+ def get(self, resource_group_name: str, registry_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data/{name}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: Union[_models.DataContainer, IO],
+ **kwargs: Any
+ ) -> _models.DataContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "DataContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("DataContainer", 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("DataContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: _models.DataContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataContainer or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataContainer or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ body: Union[_models.DataContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param body: Container entity to create or update. Is either a DataContainer type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 DataContainer or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DataContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("DataContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_data_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_data_versions_operations.py
new file mode 100644
index 000000000000..7731c158b5f0
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_data_versions_operations.py
@@ -0,0 +1,853 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ subscription_id: 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
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if order_by is not None:
+ _params["$orderBy"] = _SERIALIZER.query("order_by", order_by, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if tags is not None:
+ _params["$tags"] = _SERIALIZER.query("tags", tags, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url(
+ "registry_name", registry_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "name": _SERIALIZER.url("name", name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_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: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryDataVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_data_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_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
+ ) -> Iterable["_models.DataVersionBase"]:
+ """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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Data container's name. Required.
+ :type name: str
+ :param order_by: Please choose OrderBy value from ['createdtime', 'modifiedtime']. Default
+ value is None.
+ :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. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param list_view_type: [ListViewType.ActiveOnly, ListViewType.ArchivedOnly,
+ ListViewType.All]View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 DataVersionBase or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataVersionBaseResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ tags=tags,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data/{name}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.DataVersionBase, IO],
+ **kwargs: Any
+ ) -> _models.DataVersionBase:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "DataVersionBase")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("DataVersionBase", 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("DataVersionBase", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: _models.DataVersionBase,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataVersionBase or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 DataVersionBase or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ name: str,
+ version: str,
+ body: Union[_models.DataVersionBase, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param name: Container name. Required.
+ :type name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a DataVersionBase type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.DataVersionBase or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 DataVersionBase or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.DataVersionBase]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.DataVersionBase] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ name=name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("DataVersionBase", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "azure-async-operation"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/data/{name}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_environment_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_environment_containers_operations.py
new file mode 100644
index 000000000000..bde987d7070e
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_environment_containers_operations.py
@@ -0,0 +1,798 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, environment_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url("environment_name", environment_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, environment_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url("environment_name", environment_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, environment_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url(
+ "environment_name", environment_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryEnvironmentContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_environment_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.EnvironmentContainer"]:
+ """List environment containers.
+
+ List environment containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 EnvironmentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, environment_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/environments/{environmentName}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, environment_name: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, environment_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. This is case-sensitive. Required.
+ :type environment_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments/{environmentName}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: Union[_models.EnvironmentContainer, IO],
+ **kwargs: Any
+ ) -> _models.EnvironmentContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "EnvironmentContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("EnvironmentContainer", 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("EnvironmentContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: _models.EnvironmentContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ body: Union[_models.EnvironmentContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param body: Container entity to create or update. Is either a EnvironmentContainer type or a
+ IO type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 EnvironmentContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("EnvironmentContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_environment_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_environment_versions_operations.py
new file mode 100644
index 000000000000..4bee89de57d0
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_environment_versions_operations.py
@@ -0,0 +1,854 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ subscription_id: 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
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url("environment_name", environment_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if order_by is not None:
+ _params["$orderBy"] = _SERIALIZER.query("order_by", order_by, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url("environment_name", environment_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url("environment_name", environment_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ subscription_id: str,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "environmentName": _SERIALIZER.url(
+ "environment_name", environment_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"
+ ),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryEnvironmentVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_environment_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_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
+ ) -> Iterable["_models.EnvironmentVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. This is case-sensitive. Required.
+ :type environment_name: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 EnvironmentVersion or the result of cls(response)
+ :rtype:
+ ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ subscription_id=self._config.subscription_id,
+ order_by=order_by,
+ top=top,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments/{environmentName}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, environment_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, environment_name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, environment_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. This is case-sensitive. Required.
+ :type environment_name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: Union[_models.EnvironmentVersion, IO],
+ **kwargs: Any
+ ) -> _models.EnvironmentVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "EnvironmentVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("EnvironmentVersion", 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("EnvironmentVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: _models.EnvironmentVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.EnvironmentVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.EnvironmentVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 EnvironmentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ environment_name: str,
+ version: str,
+ body: Union[_models.EnvironmentVersion, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.EnvironmentVersion]:
+ """Create or update version.
+
+ Create or update version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param environment_name: Container name. Required.
+ :type environment_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a EnvironmentVersion type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.EnvironmentVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 EnvironmentVersion or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.EnvironmentVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.EnvironmentVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ environment_name=environment_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("EnvironmentVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/environments/{environmentName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_model_containers_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_model_containers_operations.py
new file mode 100644
index 000000000000..0d28b29f995a
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_model_containers_operations.py
@@ -0,0 +1,794 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, model_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, model_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, model_name: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}",
+ ) # 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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryModelContainersOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_model_containers` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ skip: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.ModelContainer"]:
+ """List model containers.
+
+ List model containers.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 ModelContainer or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelContainerResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, model_name: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/models/{modelName}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, model_name: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete container.
+
+ Delete container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, model_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. This is case-sensitive. Required.
+ :type model_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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models/{modelName}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: Union[_models.ModelContainer, IO],
+ **kwargs: Any
+ ) -> _models.ModelContainer:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ModelContainer")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ModelContainer", 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("ModelContainer", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: _models.ModelContainer,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.ModelContainer]:
+ """Create or update model container.
+
+ Create or update model container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelContainer
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_models.ModelContainer]:
+ """Create or update model container.
+
+ Create or update model container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param body: Container entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ body: Union[_models.ModelContainer, IO],
+ **kwargs: Any
+ ) -> LROPoller[_models.ModelContainer]:
+ """Create or update model container.
+
+ Create or update model container.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param body: Container entity to create or update. Is either a ModelContainer type or a IO
+ type. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelContainer or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ModelContainer or the result of
+ cls(response)
+ :rtype:
+ ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ModelContainer]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelContainer] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ModelContainer", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_model_versions_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_model_versions_operations.py
new file mode 100644
index 000000000000..60bcad5a9ab1
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_registry_model_versions_operations.py
@@ -0,0 +1,863 @@
+# 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.
+# --------------------------------------------------------------------------
+import sys
+from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload
+import urllib.parse
+
+from azure.core.exceptions import (
+ ClientAuthenticationError,
+ HttpResponseError,
+ ResourceExistsError,
+ ResourceNotFoundError,
+ ResourceNotModifiedError,
+ 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.core.utils import case_insensitive_dict
+from azure.mgmt.core.exceptions import ARMErrorFormat
+from azure.mgmt.core.polling.arm_polling import ARMPolling
+
+from .. import models as _models
+from .._serialization import Serializer
+from .._vendor import _convert_request, _format_url_section
+
+if sys.version_info >= (3, 8):
+ from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
+else:
+ from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
+T = TypeVar("T")
+ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]]
+
+_SERIALIZER = Serializer()
+_SERIALIZER.client_side_validation = False
+
+
+def build_list_request(
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ version: Optional[str] = None,
+ description: Optional[str] = None,
+ tags: Optional[str] = None,
+ properties: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if skip is not None:
+ _params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if order_by is not None:
+ _params["$orderBy"] = _SERIALIZER.query("order_by", order_by, "str")
+ if top is not None:
+ _params["$top"] = _SERIALIZER.query("top", top, "int")
+ if version is not None:
+ _params["version"] = _SERIALIZER.query("version", version, "str")
+ if description is not None:
+ _params["description"] = _SERIALIZER.query("description", description, "str")
+ if tags is not None:
+ _params["tags"] = _SERIALIZER.query("tags", tags, "str")
+ if properties is not None:
+ _params["properties"] = _SERIALIZER.query("properties", properties, "str")
+ if list_view_type is not None:
+ _params["listViewType"] = _SERIALIZER.query("list_view_type", list_view_type, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_delete_request(
+ resource_group_name: str, registry_name: str, model_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_get_request(
+ resource_group_name: str, registry_name: str, model_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+def build_create_or_update_request(
+ resource_group_name: str, registry_name: str, model_name: str, version: str, subscription_id: str, **kwargs: Any
+) -> HttpRequest:
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ accept = _headers.pop("Accept", "application/json")
+
+ # Construct URL
+ _url = kwargs.pop(
+ "template_url",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/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
+ ),
+ "registryName": _SERIALIZER.url("registry_name", registry_name, "str"),
+ "modelName": _SERIALIZER.url("model_name", model_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
+ "version": _SERIALIZER.url("version", version, "str"),
+ }
+
+ _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
+
+ # Construct parameters
+ _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+
+ # Construct headers
+ if content_type is not None:
+ _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
+ _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
+
+ return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs)
+
+
+class RegistryModelVersionsOperations:
+ """
+ .. warning::
+ **DO NOT** instantiate this class directly.
+
+ Instead, you should access the following operations through
+ :class:`~azure.mgmt.machinelearningservices.MachineLearningServicesMgmtClient`'s
+ :attr:`registry_model_versions` attribute.
+ """
+
+ models = _models
+
+ def __init__(self, *args, **kwargs):
+ input_args = list(args)
+ self._client = input_args.pop(0) if input_args else kwargs.pop("client")
+ self._config = input_args.pop(0) if input_args else kwargs.pop("config")
+ self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer")
+ self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer")
+
+ @distributed_trace
+ def list(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ skip: Optional[str] = None,
+ order_by: Optional[str] = None,
+ top: Optional[int] = None,
+ version: Optional[str] = None,
+ description: Optional[str] = None,
+ tags: Optional[str] = None,
+ properties: Optional[str] = None,
+ list_view_type: Optional[Union[str, _models.ListViewType]] = None,
+ **kwargs: Any
+ ) -> Iterable["_models.ModelVersion"]:
+ """List versions.
+
+ List versions.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. This is case-sensitive. Required.
+ :type model_name: str
+ :param skip: Continuation token for pagination. Default value is None.
+ :type skip: str
+ :param order_by: Ordering of list. Default value is None.
+ :type order_by: str
+ :param top: Maximum number of records to return. Default value is None.
+ :type top: int
+ :param version: Version identifier. Default value is None.
+ :type version: str
+ :param description: Model description. Default value is None.
+ :type description: str
+ :param tags: Comma-separated list of tag names (and optionally values). Example:
+ tag1,tag2=value2. Default value is None.
+ :type tags: str
+ :param properties: Comma-separated list of property names (and optionally values). Example:
+ prop1,prop2=value2. Default value is None.
+ :type properties: str
+ :param list_view_type: View type for including/excluding (for example) archived entities. Known
+ values are: "ActiveOnly", "ArchivedOnly", and "All". Default value is None.
+ :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 ModelVersion or the result of cls(response)
+ :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelVersionResourceArmPaginatedResult] = kwargs.pop("cls", None)
+
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ def prepare_request(next_link=None):
+ if not next_link:
+
+ request = build_list_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ subscription_id=self._config.subscription_id,
+ skip=skip,
+ order_by=order_by,
+ top=top,
+ version=version,
+ description=description,
+ tags=tags,
+ properties=properties,
+ list_view_type=list_view_type,
+ api_version=api_version,
+ template_url=self.list.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ else:
+ # make call to next link with the client's api-version
+ _parsed_next_link = urllib.parse.urlparse(next_link)
+ _next_request_params = case_insensitive_dict(
+ {
+ key: [urllib.parse.quote(v) for v in value]
+ for key, value in urllib.parse.parse_qs(_parsed_next_link.query).items()
+ }
+ )
+ _next_request_params["api-version"] = self._config.api_version
+ request = HttpRequest(
+ "GET", urllib.parse.urljoin(next_link, _parsed_next_link.path), params=_next_request_params
+ )
+ 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) # type: ignore
+ return deserialized.next_link or None, iter(list_of_elem)
+
+ def get_next(next_link=None):
+ request = prepare_request(next_link)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models/{modelName}/versions"
+ }
+
+ def _delete_initial( # pylint: disable=inconsistent-return-statements
+ self, resource_group_name: str, registry_name: str, model_name: str, version: str, **kwargs: Any
+ ) -> None:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+
+ request = build_delete_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self._delete_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+ error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response)
+ raise HttpResponseError(response=response, model=error, 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/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def begin_delete(
+ self, resource_group_name: str, registry_name: str, model_name: str, version: str, **kwargs: Any
+ ) -> LROPoller[None]:
+ """Delete version.
+
+ Delete version.
+
+ :param resource_group_name: The name of the resource group. The name is case insensitive.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: 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:
+ """
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[None] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._delete_initial( # type: ignore
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ api_version=api_version,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-return-statements
+ if cls:
+ return cls(pipeline_response, None, {})
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_delete.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ @distributed_trace
+ def get(
+ self, resource_group_name: str, registry_name: str, model_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. This is case-sensitive. Required.
+ :type model_name: str
+ :param version: Version identifier. This is case-sensitive. Required.
+ :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:
+ """
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = kwargs.pop("headers", {}) or {}
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
+
+ request = build_get_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ template_url=self.get.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ def _create_or_update_initial(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: Union[_models.ModelVersion, IO],
+ **kwargs: Any
+ ) -> _models.ModelVersion:
+ error_map = {
+ 401: ClientAuthenticationError,
+ 404: ResourceNotFoundError,
+ 409: ResourceExistsError,
+ 304: ResourceNotModifiedError,
+ }
+ error_map.update(kwargs.pop("error_map", {}) or {})
+
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
+
+ content_type = content_type or "application/json"
+ _json = None
+ _content = None
+ if isinstance(body, (IO, bytes)):
+ _content = body
+ else:
+ _json = self._serialize.body(body, "ModelVersion")
+
+ request = build_create_or_update_request(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ subscription_id=self._config.subscription_id,
+ api_version=api_version,
+ content_type=content_type,
+ json=_json,
+ content=_content,
+ template_url=self._create_or_update_initial.metadata["url"],
+ headers=_headers,
+ params=_params,
+ )
+ request = _convert_request(request)
+ request.url = self._client.format_url(request.url)
+
+ _stream = False
+ pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
+ request, stream=_stream, **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)
+
+ response_headers = {}
+ if response.status_code == 200:
+ deserialized = self._deserialize("ModelVersion", 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("ModelVersion", pipeline_response)
+
+ if cls:
+ return cls(pipeline_response, deserialized, response_headers) # type: ignore
+
+ return deserialized # type: ignore
+
+ _create_or_update_initial.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: _models.ModelVersion,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelVersion
+ :keyword content_type: Body Parameter content-type. Content type parameter for JSON body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelVersion or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @overload
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: IO,
+ *,
+ content_type: str = "application/json",
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Required.
+ :type body: IO
+ :keyword content_type: Body Parameter content-type. Content type parameter for binary body.
+ Default value is "application/json".
+ :paramtype content_type: 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 ModelVersion or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+
+ @distributed_trace
+ def begin_create_or_update(
+ self,
+ resource_group_name: str,
+ registry_name: str,
+ model_name: str,
+ version: str,
+ body: Union[_models.ModelVersion, IO],
+ **kwargs: Any
+ ) -> LROPoller[_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.
+ Required.
+ :type resource_group_name: str
+ :param registry_name: Name of Azure Machine Learning registry. Required.
+ :type registry_name: str
+ :param model_name: Container name. Required.
+ :type model_name: str
+ :param version: Version identifier. Required.
+ :type version: str
+ :param body: Version entity to create or update. Is either a ModelVersion type or a IO type.
+ Required.
+ :type body: ~azure.mgmt.machinelearningservices.models.ModelVersion or IO
+ :keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
+ Default value is None.
+ :paramtype content_type: 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 ModelVersion or the result of
+ cls(response)
+ :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.machinelearningservices.models.ModelVersion]
+ :raises ~azure.core.exceptions.HttpResponseError:
+ """
+ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
+ _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
+
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", self._config.api_version)
+ )
+ content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
+ cls: ClsType[_models.ModelVersion] = kwargs.pop("cls", None)
+ polling: Union[bool, PollingMethod] = kwargs.pop("polling", True)
+ lro_delay = kwargs.pop("polling_interval", self._config.polling_interval)
+ cont_token: Optional[str] = kwargs.pop("continuation_token", None)
+ if cont_token is None:
+ raw_result = self._create_or_update_initial(
+ resource_group_name=resource_group_name,
+ registry_name=registry_name,
+ model_name=model_name,
+ version=version,
+ body=body,
+ api_version=api_version,
+ content_type=content_type,
+ cls=lambda x, y, z: x,
+ headers=_headers,
+ params=_params,
+ **kwargs
+ )
+ kwargs.pop("error_map", None)
+
+ def get_long_running_output(pipeline_response):
+ deserialized = self._deserialize("ModelVersion", pipeline_response)
+ if cls:
+ return cls(pipeline_response, deserialized, {})
+ return deserialized
+
+ if polling is True:
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
+ elif polling is False:
+ polling_method = cast(PollingMethod, 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) # type: ignore
+
+ begin_create_or_update.metadata = {
+ "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName}/models/{modelName}/versions/{version}"
+ }
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_schedules_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_schedules_operations.py
index ccf22fb3aed1..ff0a9381ddc8 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_schedules_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_schedules_operations.py
@@ -55,7 +55,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -68,7 +70,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -92,7 +96,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -105,7 +111,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -126,7 +134,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -139,7 +149,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str"),
}
@@ -160,7 +172,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -174,7 +188,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"name": _SERIALIZER.url("name", name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,254}$"),
}
@@ -241,7 +257,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ScheduleResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -299,8 +315,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -331,7 +348,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -349,8 +366,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -403,7 +421,7 @@ def begin_delete(self, resource_group_name: str, workspace_name: str, name: str,
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -428,7 +446,9 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
return cls(pipeline_response, None, {})
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "location"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
@@ -475,7 +495,7 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.Schedule] = kwargs.pop("cls", None)
@@ -493,8 +513,9 @@ def get(self, resource_group_name: str, workspace_name: str, name: str, **kwargs
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -529,7 +550,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -559,8 +580,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -688,7 +710,7 @@ def begin_create_or_update(
:type workspace_name: str
:param name: Schedule name. Required.
:type name: str
- :param body: Schedule definition. Is either a model type or a IO type. Required.
+ :param body: Schedule definition. Is either a Schedule type or a IO type. Required.
:type body: ~azure.mgmt.machinelearningservices.models.Schedule or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -708,7 +730,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -738,7 +760,9 @@ def get_long_running_output(pipeline_response):
return deserialized
if polling is True:
- polling_method: PollingMethod = cast(PollingMethod, ARMPolling(lro_delay, **kwargs))
+ polling_method: PollingMethod = cast(
+ PollingMethod, ARMPolling(lro_delay, lro_options={"final-state-via": "original-uri"}, **kwargs)
+ )
elif polling is False:
polling_method = cast(PollingMethod, NoPolling())
else:
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_usages_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_usages_operations.py
index 87b60742ab08..ec4c5e677236 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_usages_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_usages_operations.py
@@ -45,7 +45,9 @@ def build_list_request(location: str, subscription_id: str, **kwargs: Any) -> Ht
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -103,7 +105,7 @@ def list(self, location: str, **kwargs: Any) -> Iterable["_models.Usage"]:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListUsagesResult] = kwargs.pop("cls", None)
@@ -158,8 +160,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_virtual_machine_sizes_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_virtual_machine_sizes_operations.py
index 4928f81dcedf..3bd42b31c4e3 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_virtual_machine_sizes_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_virtual_machine_sizes_operations.py
@@ -43,7 +43,9 @@ def build_list_request(location: str, subscription_id: str, **kwargs: Any) -> Ht
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -108,7 +110,7 @@ def list(self, location: str, **kwargs: Any) -> _models.VirtualMachineSizeListRe
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.VirtualMachineSizeListResult] = kwargs.pop("cls", None)
@@ -124,8 +126,9 @@ def list(self, location: str, **kwargs: Any) -> _models.VirtualMachineSizeListRe
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_connections_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_connections_operations.py
index c85caf24b6e8..25e2e0e5d94a 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_connections_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_connections_operations.py
@@ -47,7 +47,9 @@ def build_create_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -61,7 +63,9 @@ def build_create_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"connectionName": _SERIALIZER.url("connection_name", connection_name, "str"),
}
@@ -84,7 +88,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -97,7 +103,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"connectionName": _SERIALIZER.url("connection_name", connection_name, "str"),
}
@@ -118,7 +126,9 @@ def build_delete_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -131,7 +141,9 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
"connectionName": _SERIALIZER.url("connection_name", connection_name, "str"),
}
@@ -158,7 +170,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -171,7 +185,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -290,7 +306,7 @@ def create(
:param connection_name: Friendly name of the workspace connection. Required.
:type connection_name: str
:param parameters: The object for creating or updating a new workspace connection. Is either a
- model type or a IO type. Required.
+ WorkspaceConnectionPropertiesV2BasicResource type or a IO type. Required.
:type parameters:
~azure.mgmt.machinelearningservices.models.WorkspaceConnectionPropertiesV2BasicResource or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
@@ -312,7 +328,7 @@ def create(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -342,8 +358,9 @@ def create(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -393,7 +410,7 @@ def get(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceConnectionPropertiesV2BasicResource] = kwargs.pop("cls", None)
@@ -411,8 +428,9 @@ def get(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -462,7 +480,7 @@ def delete( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -480,8 +498,9 @@ def delete( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -528,7 +547,7 @@ def list(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceConnectionPropertiesV2BasicResourceArmPaginatedResult] = kwargs.pop("cls", None)
@@ -588,8 +607,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_features_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_features_operations.py
index 00c72c0a8b82..8f39575ab634 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_features_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspace_features_operations.py
@@ -47,7 +47,9 @@ def build_list_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -60,7 +62,9 @@ def build_list_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -110,7 +114,7 @@ def list(self, resource_group_name: str, workspace_name: str, **kwargs: Any) ->
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListAmlUserFeatureResult] = kwargs.pop("cls", None)
@@ -166,8 +170,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspaces_operations.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspaces_operations.py
index 3d8220b5fefa..be1da67f87f3 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspaces_operations.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices/operations/_workspaces_operations.py
@@ -49,7 +49,9 @@ def build_get_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -62,7 +64,9 @@ def build_get_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -82,7 +86,9 @@ def build_create_or_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -96,7 +102,9 @@ def build_create_or_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -113,12 +121,19 @@ def build_create_or_update_request(
def build_delete_request(
- resource_group_name: str, workspace_name: str, subscription_id: str, **kwargs: Any
+ resource_group_name: str,
+ workspace_name: str,
+ subscription_id: str,
+ *,
+ force_to_purge: Optional[bool] = None,
+ **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -131,13 +146,17 @@ def build_delete_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
# Construct parameters
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
+ if force_to_purge is not None:
+ _params["forceToPurge"] = _SERIALIZER.query("force_to_purge", force_to_purge, "bool")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -151,7 +170,9 @@ def build_update_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -165,7 +186,9 @@ def build_update_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -182,12 +205,19 @@ def build_update_request(
def build_list_by_resource_group_request(
- resource_group_name: str, subscription_id: str, *, skip: Optional[str] = None, **kwargs: Any
+ resource_group_name: str,
+ subscription_id: str,
+ *,
+ skip: Optional[str] = None,
+ kind: Optional[str] = None,
+ **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -208,6 +238,8 @@ def build_list_by_resource_group_request(
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
if skip is not None:
_params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if kind is not None:
+ _params["kind"] = _SERIALIZER.query("kind", kind, "str")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -221,7 +253,9 @@ def build_diagnose_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
accept = _headers.pop("Accept", "application/json")
@@ -235,7 +269,9 @@ def build_diagnose_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -257,7 +293,9 @@ def build_list_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -270,7 +308,9 @@ def build_list_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -290,7 +330,9 @@ def build_resync_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -303,7 +345,9 @@ def build_resync_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -318,12 +362,14 @@ def build_resync_keys_request(
def build_list_by_subscription_request(
- subscription_id: str, *, skip: Optional[str] = None, **kwargs: Any
+ subscription_id: str, *, skip: Optional[str] = None, kind: Optional[str] = None, **kwargs: Any
) -> HttpRequest:
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -340,6 +386,8 @@ def build_list_by_subscription_request(
_params["api-version"] = _SERIALIZER.query("api_version", api_version, "str")
if skip is not None:
_params["$skip"] = _SERIALIZER.query("skip", skip, "str")
+ if kind is not None:
+ _params["kind"] = _SERIALIZER.query("kind", kind, "str")
# Construct headers
_headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -353,7 +401,9 @@ def build_list_notebook_access_token_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -366,7 +416,9 @@ def build_list_notebook_access_token_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -386,7 +438,9 @@ def build_prepare_notebook_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -399,7 +453,9 @@ def build_prepare_notebook_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -419,7 +475,9 @@ def build_list_storage_account_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -432,7 +490,9 @@ def build_list_storage_account_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -452,7 +512,9 @@ def build_list_notebook_keys_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -465,7 +527,9 @@ def build_list_notebook_keys_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -485,7 +549,9 @@ def build_list_outbound_network_dependencies_endpoints_request(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop("api_version", _params.pop("api-version", "2022-10-01"))
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
+ "api_version", _params.pop("api-version", "2023-04-01-preview")
+ )
accept = _headers.pop("Accept", "application/json")
# Construct URL
@@ -498,7 +564,9 @@ def build_list_outbound_network_dependencies_endpoints_request(
"resourceGroupName": _SERIALIZER.url(
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1
),
- "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, "str"),
+ "workspaceName": _SERIALIZER.url(
+ "workspace_name", workspace_name, "str", pattern=r"^[a-zA-Z0-9][a-zA-Z0-9_-]{2,32}$"
+ ),
}
_url: str = _format_url_section(_url, **path_format_arguments) # type: ignore
@@ -556,7 +624,7 @@ def get(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> _
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.Workspace] = kwargs.pop("cls", None)
@@ -573,8 +641,9 @@ def get(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> _
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -609,7 +678,7 @@ def _create_or_update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -638,8 +707,9 @@ def _create_or_update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -746,7 +816,7 @@ def begin_create_or_update(
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
:param parameters: The parameters for creating or updating a machine learning workspace. Is
- either a model type or a IO type. Required.
+ either a Workspace type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.Workspace or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -766,7 +836,7 @@ def begin_create_or_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -814,7 +884,7 @@ def get_long_running_output(pipeline_response):
}
def _delete_initial( # pylint: disable=inconsistent-return-statements
- self, resource_group_name: str, workspace_name: str, **kwargs: Any
+ self, resource_group_name: str, workspace_name: str, force_to_purge: Optional[bool] = None, **kwargs: Any
) -> None:
error_map = {
401: ClientAuthenticationError,
@@ -827,7 +897,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -836,6 +906,7 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
resource_group_name=resource_group_name,
workspace_name=workspace_name,
subscription_id=self._config.subscription_id,
+ force_to_purge=force_to_purge,
api_version=api_version,
template_url=self._delete_initial.metadata["url"],
headers=_headers,
@@ -844,8 +915,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -863,7 +935,9 @@ def _delete_initial( # pylint: disable=inconsistent-return-statements
}
@distributed_trace
- def begin_delete(self, resource_group_name: str, workspace_name: str, **kwargs: Any) -> LROPoller[None]:
+ def begin_delete(
+ self, resource_group_name: str, workspace_name: str, force_to_purge: Optional[bool] = None, **kwargs: Any
+ ) -> LROPoller[None]:
"""Deletes a machine learning workspace.
:param resource_group_name: The name of the resource group. The name is case insensitive.
@@ -871,6 +945,8 @@ def begin_delete(self, resource_group_name: str, workspace_name: str, **kwargs:
:type resource_group_name: str
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
+ :param force_to_purge: Flag to indicate delete is a purge request. Default value is None.
+ :type force_to_purge: bool
: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
@@ -886,7 +962,7 @@ def begin_delete(self, resource_group_name: str, workspace_name: str, **kwargs:
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -897,6 +973,7 @@ def begin_delete(self, resource_group_name: str, workspace_name: str, **kwargs:
raw_result = self._delete_initial( # type: ignore
resource_group_name=resource_group_name,
workspace_name=workspace_name,
+ force_to_purge=force_to_purge,
api_version=api_version,
cls=lambda x, y, z: x,
headers=_headers,
@@ -946,7 +1023,7 @@ def _update_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -975,8 +1052,9 @@ def _update_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1084,8 +1162,8 @@ def begin_update(
:type resource_group_name: str
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
- :param parameters: The parameters for updating a machine learning workspace. Is either a model
- type or a IO type. Required.
+ :param parameters: The parameters for updating a machine learning workspace. Is either a
+ WorkspaceUpdateParameters type or a IO type. Required.
:type parameters: ~azure.mgmt.machinelearningservices.models.WorkspaceUpdateParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1105,7 +1183,7 @@ def begin_update(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1154,7 +1232,7 @@ def get_long_running_output(pipeline_response):
@distributed_trace
def list_by_resource_group(
- self, resource_group_name: str, skip: Optional[str] = None, **kwargs: Any
+ self, resource_group_name: str, skip: Optional[str] = None, kind: Optional[str] = None, **kwargs: Any
) -> Iterable["_models.Workspace"]:
"""Lists all the available machine learning workspaces under the specified resource group.
@@ -1163,6 +1241,8 @@ def list_by_resource_group(
:type resource_group_name: str
:param skip: Continuation token for pagination. Default value is None.
:type skip: str
+ :param kind: Kind of workspace. Default value is None.
+ :type kind: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Workspace or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.Workspace]
@@ -1171,7 +1251,7 @@ def list_by_resource_group(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceListResult] = kwargs.pop("cls", None)
@@ -1191,6 +1271,7 @@ def prepare_request(next_link=None):
resource_group_name=resource_group_name,
subscription_id=self._config.subscription_id,
skip=skip,
+ kind=kind,
api_version=api_version,
template_url=self.list_by_resource_group.metadata["url"],
headers=_headers,
@@ -1227,8 +1308,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1263,7 +1345,7 @@ def _diagnose_initial(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1295,8 +1377,9 @@ def _diagnose_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1419,8 +1502,8 @@ def begin_diagnose(
:type resource_group_name: str
:param workspace_name: Name of Azure Machine Learning workspace. Required.
:type workspace_name: str
- :param parameters: The parameter of diagnosing workspace health. Is either a model type or a IO
- type. Default value is None.
+ :param parameters: The parameter of diagnosing workspace health. Is either a
+ DiagnoseWorkspaceParameters type or a IO type. Default value is None.
:type parameters: ~azure.mgmt.machinelearningservices.models.DiagnoseWorkspaceParameters or IO
:keyword content_type: Body Parameter content-type. Known values are: 'application/json'.
Default value is None.
@@ -1442,7 +1525,7 @@ def begin_diagnose(
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
@@ -1519,7 +1602,7 @@ def list_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListWorkspaceKeysResult] = kwargs.pop("cls", None)
@@ -1536,8 +1619,9 @@ def list_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1572,7 +1656,7 @@ def _resync_keys_initial( # pylint: disable=inconsistent-return-statements
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1589,8 +1673,9 @@ def _resync_keys_initial( # pylint: disable=inconsistent-return-statements
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1632,7 +1717,7 @@ def begin_resync_keys(self, resource_group_name: str, workspace_name: str, **kwa
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[None] = kwargs.pop("cls", None)
@@ -1675,11 +1760,15 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent-
}
@distributed_trace
- def list_by_subscription(self, skip: Optional[str] = None, **kwargs: Any) -> Iterable["_models.Workspace"]:
+ def list_by_subscription(
+ self, skip: Optional[str] = None, kind: Optional[str] = None, **kwargs: Any
+ ) -> Iterable["_models.Workspace"]:
"""Lists all the available machine learning workspaces under the specified subscription.
:param skip: Continuation token for pagination. Default value is None.
:type skip: str
+ :param kind: Kind of workspace. Default value is None.
+ :type kind: str
:keyword callable cls: A custom type or function that will be passed the direct response
:return: An iterator like instance of either Workspace or the result of cls(response)
:rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.machinelearningservices.models.Workspace]
@@ -1688,7 +1777,7 @@ def list_by_subscription(self, skip: Optional[str] = None, **kwargs: Any) -> Ite
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.WorkspaceListResult] = kwargs.pop("cls", None)
@@ -1707,6 +1796,7 @@ def prepare_request(next_link=None):
request = build_list_by_subscription_request(
subscription_id=self._config.subscription_id,
skip=skip,
+ kind=kind,
api_version=api_version,
template_url=self.list_by_subscription.metadata["url"],
headers=_headers,
@@ -1743,8 +1833,9 @@ def extract_data(pipeline_response):
def get_next(next_link=None):
request = prepare_request(next_link)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1788,7 +1879,7 @@ def list_notebook_access_token(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.NotebookAccessTokenResult] = kwargs.pop("cls", None)
@@ -1805,8 +1896,9 @@ def list_notebook_access_token(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1841,7 +1933,7 @@ def _prepare_notebook_initial(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[Optional[_models.NotebookResourceInfo]] = kwargs.pop("cls", None)
@@ -1858,8 +1950,9 @@ def _prepare_notebook_initial(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -1910,7 +2003,7 @@ def begin_prepare_notebook(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.NotebookResourceInfo] = kwargs.pop("cls", None)
@@ -1983,7 +2076,7 @@ def list_storage_account_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListStorageAccountKeysResult] = kwargs.pop("cls", None)
@@ -2000,8 +2093,9 @@ def list_storage_account_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -2049,7 +2143,7 @@ def list_notebook_keys(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ListNotebookKeysResult] = kwargs.pop("cls", None)
@@ -2066,8 +2160,9 @@ def list_notebook_keys(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
@@ -2119,7 +2214,7 @@ def list_outbound_network_dependencies_endpoints(
_headers = kwargs.pop("headers", {}) or {}
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})
- api_version: Literal["2022-10-01"] = kwargs.pop(
+ api_version: Literal["2023-04-01-preview"] = kwargs.pop(
"api_version", _params.pop("api-version", self._config.api_version)
)
cls: ClsType[_models.ExternalFQDNResponse] = kwargs.pop("cls", None)
@@ -2136,8 +2231,9 @@ def list_outbound_network_dependencies_endpoints(
request = _convert_request(request)
request.url = self._client.format_url(request.url)
+ _stream = False
pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
- request, stream=False, **kwargs
+ request, stream=_stream, **kwargs
)
response = pipeline_response.http_response
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aks_compute.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aks_compute.py
index 4154ad04114e..6e3c08424a42 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aks_compute.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aks_compute.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/get/AKSCompute.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/get/AKSCompute.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aml_compute.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aml_compute.py
index 9b60010544b5..a96ab4e675ba 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aml_compute.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/aml_compute.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/get/AmlCompute.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/get/AmlCompute.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/backfill.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/backfill.py
new file mode 100644
index 000000000000..d3e711c3da99
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/backfill.py
@@ -0,0 +1,54 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python backfill.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.featureset_versions.begin_backfill(
+ resource_group_name="test-rg",
+ workspace_name="my-aml-workspace",
+ name="string",
+ version="string",
+ body={
+ "description": "string",
+ "displayName": "string",
+ "featureWindow": {
+ "featureWindowEnd": "2020-01-01T12:34:56.999+00:51",
+ "featureWindowStart": "2020-01-01T12:34:56.999+00:51",
+ },
+ "resource": {"instanceType": "string"},
+ "sparkConfiguration": {"string": "string"},
+ "tags": {"string": "string"},
+ },
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/FeaturesetVersion/backfill.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aks_compute.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aks_compute.py
index 7bf0144d06dc..0bf545b7a684 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aks_compute.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aks_compute.py
@@ -38,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/createOrUpdate/BasicAKSCompute.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/createOrUpdate/BasicAKSCompute.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aml_compute.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aml_compute.py
index d6cfcd909034..fa8105ca07a3 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aml_compute.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_aml_compute.py
@@ -55,6 +55,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/createOrUpdate/BasicAmlCompute.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/createOrUpdate/BasicAmlCompute.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_data_factory_compute.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_data_factory_compute.py
index c7256aaa7266..00a2df7de858 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_data_factory_compute.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/basic_data_factory_compute.py
@@ -38,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/createOrUpdate/BasicDataFactoryCompute.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/createOrUpdate/BasicDataFactoryCompute.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/cancel.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/cancel.py
index 14832bc92a6c..a0ccc28ced2e 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/cancel.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/cancel.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Job/cancel.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Job/cancel.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance.py
index 8be35ceb91e4..604688bf0414 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/get/ComputeInstance.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/get/ComputeInstance.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_minimal.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_minimal.py
index f67029c8ca3c..2f0797ca69df 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_minimal.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_minimal.py
@@ -41,6 +41,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/createOrUpdate/ComputeInstanceMinimal.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/createOrUpdate/ComputeInstanceMinimal.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_with_schedules.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_with_schedules.py
index c5ef7c03d6b9..849a7f813ac2 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_with_schedules.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/compute_instance_with_schedules.py
@@ -69,6 +69,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/createOrUpdate/ComputeInstanceWithSchedules.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/createOrUpdate/ComputeInstanceWithSchedules.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create.py
index 0d7e657dba30..decf3c4cb3b7 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create.py
@@ -76,6 +76,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/create.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/create.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update.py
index d69a53bd684c..843abe2a2aa9 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update.py
@@ -40,6 +40,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/PrivateEndpointConnection/createOrUpdate.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/PrivateEndpointConnection/createOrUpdate.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update_system_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update_system_created.py
new file mode 100644
index 000000000000..699caa5ce594
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update_system_created.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 azure.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python create_or_update_system_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.begin_create_or_update(
+ resource_group_name="test-rg",
+ registry_name="string",
+ body={
+ "identity": {"type": "None", "userAssignedIdentities": {"string": {}}},
+ "kind": "string",
+ "location": "string",
+ "properties": {
+ "description": "string",
+ "properties": {"string": "string"},
+ "regionDetails": [
+ {
+ "acrDetails": [
+ {
+ "systemCreatedAcrAccount": {
+ "acrAccountSku": "string",
+ "armResourceId": {"resourceId": "string"},
+ }
+ }
+ ],
+ "location": "string",
+ "storageAccountDetails": [
+ {
+ "systemCreatedStorageAccount": {
+ "allowBlobPublicAccess": False,
+ "armResourceId": {"resourceId": "string"},
+ "storageAccountHnsEnabled": False,
+ "storageAccountType": "string",
+ }
+ }
+ ],
+ }
+ ],
+ "tags": {"string": "string"},
+ },
+ "sku": {"capacity": 1, "family": "string", "name": "string", "size": "string", "tier": "Basic"},
+ "tags": {},
+ },
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/createOrUpdate-SystemCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update_user_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update_user_created.py
new file mode 100644
index 000000000000..5a121c215e76
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/create_or_update_user_created.py
@@ -0,0 +1,62 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python create_or_update_user_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.begin_create_or_update(
+ resource_group_name="test-rg",
+ registry_name="string",
+ body={
+ "identity": {"type": "None", "userAssignedIdentities": {"string": {}}},
+ "kind": "string",
+ "location": "string",
+ "properties": {
+ "description": "string",
+ "properties": {"string": "string"},
+ "regionDetails": [
+ {
+ "acrDetails": [{"userCreatedAcrAccount": {"armResourceId": {"resourceId": "string"}}}],
+ "location": "string",
+ "storageAccountDetails": [
+ {"userCreatedStorageAccount": {"armResourceId": {"resourceId": "string"}}}
+ ],
+ }
+ ],
+ "tags": {"string": "string"},
+ },
+ "sku": {"capacity": 1, "family": "string", "name": "string", "size": "string", "tier": "Basic"},
+ "tags": {},
+ },
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/createOrUpdate-UserCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/delete.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/delete.py
index 1ab7cceee3e0..cdbecc00c11f 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/delete.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/delete.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/delete.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/delete.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/diagnose.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/diagnose.py
index e7d53be6b011..9cfdfb8a9bd0 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/diagnose.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/diagnose.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/diagnose.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/diagnose.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/export_labels.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/export_labels.py
new file mode 100644
index 000000000000..362276e6804b
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/export_labels.py
@@ -0,0 +1,43 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python export_labels.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.labeling_jobs.begin_export_labels(
+ resource_group_name="workspace-1234",
+ workspace_name="testworkspace",
+ id="testLabelingJob",
+ body={"format": "Dataset"},
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/LabelingJob/exportLabels.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get.py
index ae2325915702..d21a457f0986 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/get.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/get.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_entity.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_entity.py
new file mode 100644
index 000000000000..c12d88768b07
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_entity.py
@@ -0,0 +1,42 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python get_entity.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.featureset_containers.get_entity(
+ resource_group_name="test-rg",
+ workspace_name="my-aml-workspace",
+ name="string",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/FeaturesetContainer/getEntity.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_feature.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_feature.py
new file mode 100644
index 000000000000..1098b0c7c708
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_feature.py
@@ -0,0 +1,44 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python get_feature.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.featureset_versions.get_feature(
+ resource_group_name="test-rg",
+ workspace_name="my-aml-workspace",
+ name="string",
+ version="string",
+ body={"featureName": "string"},
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/FeaturesetVersion/getFeature.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_logs.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_logs.py
index 08ca1c985e42..e7f9a6f1c94a 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_logs.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_logs.py
@@ -39,6 +39,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/OnlineDeployment/getLogs.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/OnlineDeployment/getLogs.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_system_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_system_created.py
new file mode 100644
index 000000000000..885dc11c20ce
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_system_created.py
@@ -0,0 +1,41 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python get_system_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.get(
+ resource_group_name="test-rg",
+ registry_name="string",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/get-SystemCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_token.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_token.py
index ce3165223bbc..ecc7e7c8065a 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_token.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_token.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/OnlineEndpoint/getToken.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/OnlineEndpoint/getToken.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_user_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_user_created.py
new file mode 100644
index 000000000000..7218777d7a5d
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/get_user_created.py
@@ -0,0 +1,41 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python get_user_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.get(
+ resource_group_name="test-rg",
+ registry_name="string",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/get-UserCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/kubernetes_compute.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/kubernetes_compute.py
index 1c4abcb9c998..f691bcb5840c 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/kubernetes_compute.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/kubernetes_compute.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/get/KubernetesCompute.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/get/KubernetesCompute.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list.py
index 803939df104d..cc23b793c65f 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list.py
@@ -36,6 +36,6 @@ def main():
print(item)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Usage/list.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Usage/list.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_resource_group.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_resource_group.py
index ab77ccf41bcb..6785ae3ed092 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_resource_group.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_resource_group.py
@@ -36,6 +36,6 @@ def main():
print(item)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/listByResourceGroup.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/listByResourceGroup.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_subscription.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_subscription.py
index 021a94dc65b3..9b3a707a22e0 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_subscription.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_by_subscription.py
@@ -34,6 +34,6 @@ def main():
print(item)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/listBySubscription.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/listBySubscription.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_features.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_features.py
new file mode 100644
index 000000000000..d9b34cc4d1ef
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_features.py
@@ -0,0 +1,44 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python list_features.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.featureset_versions.list_features(
+ resource_group_name="test-rg",
+ workspace_name="my-aml-workspace",
+ name="string",
+ version="string",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/FeaturesetVersion/listFeatures.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_keys.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_keys.py
index 4329788bf08c..36d09db8f41c 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_keys.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_keys.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/listKeys.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/listKeys.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_materialization_jobs.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_materialization_jobs.py
new file mode 100644
index 000000000000..61ffc59bbdd9
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_materialization_jobs.py
@@ -0,0 +1,44 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python list_materialization_jobs.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.featureset_versions.list_materialization_jobs(
+ resource_group_name="test-rg",
+ workspace_name="my-aml-workspace",
+ name="string",
+ version="string",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/FeaturesetVersion/listMaterializationJobs.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_nodes.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_nodes.py
index 08a92686eed7..d944cbc552bd 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_nodes.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_nodes.py
@@ -38,6 +38,6 @@ def main():
print(item)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/listNodes.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/listNodes.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_notebook_access_token.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_notebook_access_token.py
index 2231f08361b1..04ab17742cf0 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_notebook_access_token.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_notebook_access_token.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/listNotebookAccessToken.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/listNotebookAccessToken.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_secrets.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_secrets.py
index 6c9f9145642c..0bdb2e0fa7d2 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_secrets.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_secrets.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Datastore/listSecrets.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Datastore/listSecrets.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_skus.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_skus.py
index a1cd89f08c22..fab60740dc37 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_skus.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_skus.py
@@ -39,6 +39,6 @@ def main():
print(item)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/OnlineDeployment/KubernetesOnlineDeployment/listSkus.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/OnlineDeployment/KubernetesOnlineDeployment/listSkus.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_storage_account_keys.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_storage_account_keys.py
index 84b7f19567c0..268c65d1e1c9 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_storage_account_keys.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_storage_account_keys.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/listStorageAccountKeys.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/listStorageAccountKeys.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_system_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_system_created.py
new file mode 100644
index 000000000000..d24a30eeb2d4
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_system_created.py
@@ -0,0 +1,41 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python list_system_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.list(
+ resource_group_name="test-rg",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/list-SystemCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_user_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_user_created.py
new file mode 100644
index 000000000000..f44fd05a74ac
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/list_user_created.py
@@ -0,0 +1,41 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python list_user_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.list(
+ resource_group_name="test-rg",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/list-UserCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/operations_list.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/operations_list.py
index 1ed3dd9d1da4..17ff362634e8 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/operations_list.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/operations_list.py
@@ -34,6 +34,6 @@ def main():
print(item)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/operationsList.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/operationsList.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/package.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/package.py
new file mode 100644
index 000000000000..74d4e158699a
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/package.py
@@ -0,0 +1,63 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python package.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.model_versions.begin_package(
+ resource_group_name="test-rg",
+ workspace_name="my-aml-workspace",
+ name="string",
+ version="string",
+ body={
+ "baseEnvironmentSource": {"baseEnvironmentSourceType": "EnvironmentAsset", "resourceId": "string"},
+ "environmentVariables": {"string": "string"},
+ "inferencingServer": {
+ "codeConfiguration": {"codeId": "string", "scoringScript": "string"},
+ "serverType": "AzureMLBatch",
+ },
+ "inputs": [
+ {
+ "inputType": "UriFile",
+ "mode": "Download",
+ "mountPath": "string",
+ "path": {"inputPathType": "Url", "url": "string"},
+ }
+ ],
+ "modelConfiguration": {"mode": "ReadOnlyMount", "mountPath": "string"},
+ "tags": {"string": "string"},
+ "targetEnvironmentName": "string",
+ "targetEnvironmentVersion": "string",
+ },
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/ModelVersion/package.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/patch.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/patch.py
index 88d3d61b0099..f15c6657b776 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/patch.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/patch.py
@@ -44,6 +44,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/patch.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/patch.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/pause.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/pause.py
new file mode 100644
index 000000000000..dcee75063276
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/pause.py
@@ -0,0 +1,42 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python pause.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.labeling_jobs.pause(
+ resource_group_name="workspace-1234",
+ workspace_name="testworkspace",
+ id="testLabelingJob",
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/LabelingJob/pause.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/prepare.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/prepare.py
index c6038615acb6..c3aba27aa8cc 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/prepare.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/prepare.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Notebook/prepare.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Notebook/prepare.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/regenerate_keys.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/regenerate_keys.py
index 7e4eb60a2634..4be1a57c8f7c 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/regenerate_keys.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/regenerate_keys.py
@@ -38,6 +38,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/OnlineEndpoint/regenerateKeys.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/OnlineEndpoint/regenerateKeys.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/registry_list.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/registry_list.py
new file mode 100644
index 000000000000..172877a42b8c
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/registry_list.py
@@ -0,0 +1,42 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python registry_list.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registry_data_containers.list(
+ resource_group_name="test-rg",
+ registry_name="registryName",
+ )
+ for item in response:
+ print(item)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registry/DataContainer/registryList.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/restart.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/restart.py
index df42109f655d..dbefbc1ea3f6 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/restart.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/restart.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/restart.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/restart.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resume.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resume.py
new file mode 100644
index 000000000000..cde0d264e3c6
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resume.py
@@ -0,0 +1,42 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python resume.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.labeling_jobs.begin_resume(
+ resource_group_name="workspace-1234",
+ workspace_name="testworkspace",
+ id="testLabelingJob",
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/LabelingJob/resume.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resync_keys.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resync_keys.py
index 02b711c19636..5e334ec6c5a4 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resync_keys.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/resync_keys.py
@@ -36,6 +36,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/resyncKeys.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/resyncKeys.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/start.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/start.py
index b2754e281b74..dde9ed3e491e 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/start.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/start.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/start.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/start.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/stop.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/stop.py
index 4337f64aa158..771cd476b1cc 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/stop.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/stop.py
@@ -37,6 +37,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Compute/stop.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/stop.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update.py
index 482c71b07c8c..e8cc557e496a 100644
--- a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update.py
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update.py
@@ -43,6 +43,6 @@ def main():
print(response)
-# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2022-10-01/examples/Workspace/update.json
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Workspace/update.json
if __name__ == "__main__":
main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_custom_services.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_custom_services.py
new file mode 100644
index 000000000000..b97f0ffd1b0e
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_custom_services.py
@@ -0,0 +1,58 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python update_custom_services.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ )
+
+ response = client.compute.update_custom_services(
+ resource_group_name="testrg123",
+ workspace_name="workspaces123",
+ compute_name="compute123",
+ custom_services=[
+ {
+ "docker": {"privileged": True},
+ "endpoints": [
+ {"hostIp": None, "name": "connect", "protocol": "http", "published": 4444, "target": 8787}
+ ],
+ "environmentVariables": {
+ "RSP_LICENSE": {"type": "local", "value": "XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX"}
+ },
+ "image": {"reference": "ghcr.io/azure/rstudio-workbench:latest", "type": "docker"},
+ "name": "rstudio-workbench",
+ "volumes": [
+ {"readOnly": True, "source": "/mnt/azureuser/", "target": "/home/testuser/", "type": "bind"}
+ ],
+ }
+ ],
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/updateCustomServices.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_idle_shutdown_setting.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_idle_shutdown_setting.py
new file mode 100644
index 000000000000..023a2748bdf4
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_idle_shutdown_setting.py
@@ -0,0 +1,43 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python update_idle_shutdown_setting.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ )
+
+ response = client.compute.update_idle_shutdown_setting(
+ resource_group_name="testrg123",
+ workspace_name="workspaces123",
+ compute_name="compute123",
+ parameters={"idleTimeBeforeShutdown": "PT120M"},
+ )
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Compute/updateIdleShutdownSetting.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_system_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_system_created.py
new file mode 100644
index 000000000000..b05f817aaa0d
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_system_created.py
@@ -0,0 +1,48 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python update_system_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.begin_update(
+ resource_group_name="test-rg",
+ registry_name="string",
+ body={
+ "identity": {"type": "UserAssigned", "userAssignedIdentities": {"string": {}}},
+ "kind": "string",
+ "properties": {},
+ "sku": {"capacity": 1, "family": "string", "name": "string", "size": "string", "tier": "Premium"},
+ "tags": {},
+ },
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/update-SystemCreated.json
+if __name__ == "__main__":
+ main()
diff --git a/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_user_created.py b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_user_created.py
new file mode 100644
index 000000000000..8a1adc3cd61a
--- /dev/null
+++ b/sdk/machinelearning/azure-mgmt-machinelearningservices/generated_samples/update_user_created.py
@@ -0,0 +1,48 @@
+# 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.identity import DefaultAzureCredential
+from azure.mgmt.machinelearningservices import MachineLearningServicesMgmtClient
+
+"""
+# PREREQUISITES
+ pip install azure-identity
+ pip install azure-mgmt-machinelearningservices
+# USAGE
+ python update_user_created.py
+
+ Before run the sample, please set the values of the client ID, tenant ID and client secret
+ of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
+ AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
+ https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
+"""
+
+
+def main():
+ client = MachineLearningServicesMgmtClient(
+ credential=DefaultAzureCredential(),
+ subscription_id="00000000-1111-2222-3333-444444444444",
+ )
+
+ response = client.registries.begin_update(
+ resource_group_name="test-rg",
+ registry_name="string",
+ body={
+ "identity": {"type": "UserAssigned", "userAssignedIdentities": {"string": {}}},
+ "kind": "string",
+ "properties": {},
+ "sku": {"capacity": 1, "family": "string", "name": "string", "size": "string", "tier": "Premium"},
+ "tags": {},
+ },
+ ).result()
+ print(response)
+
+
+# x-ms-original-file: specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2023-04-01-preview/examples/Registries/update-UserCreated.json
+if __name__ == "__main__":
+ main()