Skip to content

Commit 3ab4d2b

Browse files
authored
Enable more job inputs - outputs for batch invoke (Azure#27855)
1 parent 45d9791 commit 3ab4d2b

File tree

17 files changed

+1506
-290
lines changed

17 files changed

+1506
-290
lines changed

sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/v2020_09_01_dataplanepreview/_azure_machine_learning_workspaces.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,17 @@
99
from copy import deepcopy
1010
from typing import TYPE_CHECKING
1111

12-
from azure.mgmt.core import ARMPipelineClient
1312
from msrest import Deserializer, Serializer
1413

14+
from azure.mgmt.core import ARMPipelineClient
15+
1516
from . import models
1617
from ._configuration import AzureMachineLearningWorkspacesConfiguration
1718
from .operations import BatchJobDeploymentOperations, BatchJobEndpointOperations
1819

1920
if TYPE_CHECKING:
2021
# pylint: disable=unused-import,ungrouped-imports
21-
from typing import Any, Optional
22+
from typing import Any
2223

2324
from azure.core.credentials import TokenCredential
2425
from azure.core.rest import HttpRequest, HttpResponse
@@ -38,6 +39,9 @@ class AzureMachineLearningWorkspaces(object):
3839
:type subscription_id: str
3940
:param base_url: Service URL. Default value is 'https://management.azure.com'.
4041
:type base_url: str
42+
:keyword api_version: Api Version. The default value is "2020-09-01-dataplanepreview". Note
43+
that overriding this default value may result in unsupported behavior.
44+
:paramtype api_version: str
4145
"""
4246

4347
def __init__(

sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/v2020_09_01_dataplanepreview/_configuration.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from azure.core.credentials import TokenCredential
2222

2323

24-
class AzureMachineLearningWorkspacesConfiguration(Configuration):
24+
class AzureMachineLearningWorkspacesConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
2525
"""Configuration for AzureMachineLearningWorkspaces.
2626
2727
Note that all parameters used to create this instance are saved as instance
@@ -31,6 +31,9 @@ class AzureMachineLearningWorkspacesConfiguration(Configuration):
3131
:type credential: ~azure.core.credentials.TokenCredential
3232
:param subscription_id: The ID of the target subscription.
3333
:type subscription_id: str
34+
:keyword api_version: Api Version. The default value is "2020-09-01-dataplanepreview". Note
35+
that overriding this default value may result in unsupported behavior.
36+
:paramtype api_version: str
3437
"""
3538

3639
def __init__(
@@ -41,14 +44,16 @@ def __init__(
4144
):
4245
# type: (...) -> None
4346
super(AzureMachineLearningWorkspacesConfiguration, self).__init__(**kwargs)
47+
api_version = kwargs.pop('api_version', "2020-09-01-dataplanepreview") # type: str
48+
4449
if credential is None:
4550
raise ValueError("Parameter 'credential' must not be None.")
4651
if subscription_id is None:
4752
raise ValueError("Parameter 'subscription_id' must not be None.")
4853

4954
self.credential = credential
5055
self.subscription_id = subscription_id
51-
self.api_version = "2020-09-01-dataplanepreview"
56+
self.api_version = api_version
5257
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
5358
kwargs.setdefault('sdk_moniker', 'mgmt-machinelearningservices/{}'.format(VERSION))
5459
self._configure(**kwargs)

sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/v2020_09_01_dataplanepreview/_metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
"azure_arm": true,
1111
"has_lro_operations": false,
1212
"client_side_validation": false,
13-
"sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"AzureMachineLearningWorkspacesConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}}}",
14-
"async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"], \"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"AzureMachineLearningWorkspacesConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}}}"
13+
"sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"AzureMachineLearningWorkspacesConfiguration\"]}, \"thirdparty\": {\"msrest\": [\"Deserializer\", \"Serializer\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}}}",
14+
"async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"], \"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"AzureMachineLearningWorkspacesConfiguration\"]}, \"thirdparty\": {\"msrest\": [\"Deserializer\", \"Serializer\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}}}"
1515
},
1616
"global_parameters": {
1717
"sync": {

sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/v2020_09_01_dataplanepreview/aio/_azure_machine_learning_workspaces.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
# --------------------------------------------------------------------------
88

99
from copy import deepcopy
10-
from typing import Any, Awaitable, Optional, TYPE_CHECKING
10+
from typing import Any, Awaitable, TYPE_CHECKING
11+
12+
from msrest import Deserializer, Serializer
1113

1214
from azure.core.rest import AsyncHttpResponse, HttpRequest
1315
from azure.mgmt.core import AsyncARMPipelineClient
14-
from msrest import Deserializer, Serializer
1516

1617
from .. import models
1718
from ._configuration import AzureMachineLearningWorkspacesConfiguration
@@ -36,6 +37,9 @@ class AzureMachineLearningWorkspaces:
3637
:type subscription_id: str
3738
:param base_url: Service URL. Default value is 'https://management.azure.com'.
3839
:type base_url: str
40+
:keyword api_version: Api Version. The default value is "2020-09-01-dataplanepreview". Note
41+
that overriding this default value may result in unsupported behavior.
42+
:paramtype api_version: str
3943
"""
4044

4145
def __init__(

sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/v2020_09_01_dataplanepreview/aio/_configuration.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from azure.core.credentials_async import AsyncTokenCredential
2020

2121

22-
class AzureMachineLearningWorkspacesConfiguration(Configuration):
22+
class AzureMachineLearningWorkspacesConfiguration(Configuration): # pylint: disable=too-many-instance-attributes
2323
"""Configuration for AzureMachineLearningWorkspaces.
2424
2525
Note that all parameters used to create this instance are saved as instance
@@ -29,6 +29,9 @@ class AzureMachineLearningWorkspacesConfiguration(Configuration):
2929
:type credential: ~azure.core.credentials_async.AsyncTokenCredential
3030
:param subscription_id: The ID of the target subscription.
3131
:type subscription_id: str
32+
:keyword api_version: Api Version. The default value is "2020-09-01-dataplanepreview". Note
33+
that overriding this default value may result in unsupported behavior.
34+
:paramtype api_version: str
3235
"""
3336

3437
def __init__(
@@ -38,14 +41,16 @@ def __init__(
3841
**kwargs: Any
3942
) -> None:
4043
super(AzureMachineLearningWorkspacesConfiguration, self).__init__(**kwargs)
44+
api_version = kwargs.pop('api_version', "2020-09-01-dataplanepreview") # type: str
45+
4146
if credential is None:
4247
raise ValueError("Parameter 'credential' must not be None.")
4348
if subscription_id is None:
4449
raise ValueError("Parameter 'subscription_id' must not be None.")
4550

4651
self.credential = credential
4752
self.subscription_id = subscription_id
48-
self.api_version = "2020-09-01-dataplanepreview"
53+
self.api_version = api_version
4954
self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default'])
5055
kwargs.setdefault('sdk_moniker', 'mgmt-machinelearningservices/{}'.format(VERSION))
5156
self._configure(**kwargs)

sdk/ml/azure-ai-ml/azure/ai/ml/_restclient/v2020_09_01_dataplanepreview/aio/operations/_batch_job_deployment_operations.py

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1+
# pylint: disable=too-many-lines
12
# coding=utf-8
23
# --------------------------------------------------------------------------
34
# Copyright (c) Microsoft Corporation. All rights reserved.
45
# Licensed under the MIT License. See License.txt in the project root for license information.
56
# Code generated by Microsoft (R) AutoRest Code Generator.
67
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
78
# --------------------------------------------------------------------------
8-
import functools
9-
from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union
10-
import warnings
9+
from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar
1110

1211
from azure.core.async_paging import AsyncItemPaged, AsyncList
1312
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
@@ -77,6 +76,8 @@ def list(
7776
~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.machinelearningservices.models.BatchJobResourceArmPaginatedResult]
7877
:raises: ~azure.core.exceptions.HttpResponseError
7978
"""
79+
api_version = kwargs.pop('api_version', "2020-09-01-dataplanepreview") # type: str
80+
8081
cls = kwargs.pop('cls', None) # type: ClsType["_models.BatchJobResourceArmPaginatedResult"]
8182
error_map = {
8283
401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError
@@ -91,6 +92,7 @@ def prepare_request(next_link=None):
9192
subscription_id=self._config.subscription_id,
9293
resource_group_name=resource_group_name,
9394
workspace_name=workspace_name,
95+
api_version=api_version,
9496
skiptoken=skiptoken,
9597
template_url=self.list.metadata['url'],
9698
)
@@ -105,6 +107,7 @@ def prepare_request(next_link=None):
105107
subscription_id=self._config.subscription_id,
106108
resource_group_name=resource_group_name,
107109
workspace_name=workspace_name,
110+
api_version=api_version,
108111
skiptoken=skiptoken,
109112
template_url=next_link,
110113
)
@@ -123,7 +126,11 @@ async def extract_data(pipeline_response):
123126
async def get_next(next_link=None):
124127
request = prepare_request(next_link)
125128

126-
pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
129+
pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
130+
request,
131+
stream=False,
132+
**kwargs
133+
)
127134
response = pipeline_response.http_response
128135

129136
if response.status_code not in [200]:
@@ -137,7 +144,7 @@ async def get_next(next_link=None):
137144
return AsyncItemPaged(
138145
get_next, extract_data
139146
)
140-
list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}/jobs'} # type: ignore
147+
list.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}/jobs"} # type: ignore
141148

142149
@distributed_trace_async
143150
async def create(
@@ -174,6 +181,7 @@ async def create(
174181
}
175182
error_map.update(kwargs.pop('error_map', {}))
176183

184+
api_version = kwargs.pop('api_version', "2020-09-01-dataplanepreview") # type: str
177185
content_type = kwargs.pop('content_type', "application/json") # type: Optional[str]
178186

179187
_json = self._serialize.body(body, 'BatchJobResource')
@@ -184,14 +192,19 @@ async def create(
184192
subscription_id=self._config.subscription_id,
185193
resource_group_name=resource_group_name,
186194
workspace_name=workspace_name,
195+
api_version=api_version,
187196
content_type=content_type,
188197
json=_json,
189198
template_url=self.create.metadata['url'],
190199
)
191200
request = _convert_request(request)
192201
request.url = self._client.format_url(request.url)
193202

194-
pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
203+
pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
204+
request,
205+
stream=False,
206+
**kwargs
207+
)
195208
response = pipeline_response.http_response
196209

197210
if response.status_code not in [200, 201]:
@@ -210,7 +223,7 @@ async def create(
210223

211224
return deserialized
212225

213-
create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}/jobs'} # type: ignore
226+
create.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}/jobs"} # type: ignore
214227

215228

216229
@distributed_trace_async
@@ -248,6 +261,8 @@ async def get(
248261
}
249262
error_map.update(kwargs.pop('error_map', {}))
250263

264+
api_version = kwargs.pop('api_version', "2020-09-01-dataplanepreview") # type: str
265+
251266

252267
request = build_get_request(
253268
endpoint_name=endpoint_name,
@@ -256,12 +271,17 @@ async def get(
256271
subscription_id=self._config.subscription_id,
257272
resource_group_name=resource_group_name,
258273
workspace_name=workspace_name,
274+
api_version=api_version,
259275
template_url=self.get.metadata['url'],
260276
)
261277
request = _convert_request(request)
262278
request.url = self._client.format_url(request.url)
263279

264-
pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs)
280+
pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access
281+
request,
282+
stream=False,
283+
**kwargs
284+
)
265285
response = pipeline_response.http_response
266286

267287
if response.status_code not in [200]:
@@ -276,5 +296,5 @@ async def get(
276296

277297
return deserialized
278298

279-
get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}/jobs/{id}'} # type: ignore
299+
get.metadata = {'url': "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/batchEndpoints/{endpointName}/deployments/{deploymentName}/jobs/{id}"} # type: ignore
280300

0 commit comments

Comments
 (0)