diff --git a/sdk/devcenter/azure-mgmt-devcenter/_meta.json b/sdk/devcenter/azure-mgmt-devcenter/_meta.json index 72cfb463b7f6..5ebbd362201f 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/_meta.json +++ b/sdk/devcenter/azure-mgmt-devcenter/_meta.json @@ -1,11 +1,11 @@ { - "commit": "4f6418dca8c15697489bbe6f855558bb79ca5bf5", + "commit": "18223a59a3c2e586450bff34fa76a4e37145b61d", "repository_url": "https://github.com/Azure/azure-rest-api-specs", - "autorest": "3.9.2", + "autorest": "3.9.7", "use": [ - "@autorest/python@6.4.8", - "@autorest/modelerfour@4.24.3" + "@autorest/python@6.7.1", + "@autorest/modelerfour@4.26.2" ], - "autorest_command": "autorest specification/devcenter/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.4.8 --use=@autorest/modelerfour@4.24.3 --version=3.9.2 --version-tolerant=False", + "autorest_command": "autorest specification/devcenter/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.7.1 --use=@autorest/modelerfour@4.26.2 --version=3.9.7 --version-tolerant=False", "readme": "specification/devcenter/resource-manager/readme.md" } \ No newline at end of file diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_configuration.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_configuration.py index 22f51d35a5c1..e3ebc4e89bc6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_configuration.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_configuration.py @@ -29,14 +29,14 @@ class DevCenterMgmtClientConfiguration(Configuration): # pylint: disable=too-ma :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 "2023-04-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2023-08-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(DevCenterMgmtClientConfiguration, self).__init__(**kwargs) - api_version: str = kwargs.pop("api_version", "2023-04-01") + api_version: str = kwargs.pop("api_version", "2023-08-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_dev_center_mgmt_client.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_dev_center_mgmt_client.py index 33d46ddb6fab..cce18d6998b6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_dev_center_mgmt_client.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_dev_center_mgmt_client.py @@ -17,10 +17,13 @@ from ._serialization import Deserializer, Serializer from .operations import ( AttachedNetworksOperations, + CatalogDevBoxDefinitionsOperations, CatalogsOperations, CheckNameAvailabilityOperations, + CustomizationTasksOperations, DevBoxDefinitionsOperations, DevCentersOperations, + EnvironmentDefinitionsOperations, EnvironmentTypesOperations, GalleriesOperations, ImageVersionsOperations, @@ -78,6 +81,14 @@ class DevCenterMgmtClient: # pylint: disable=client-accepts-api-version-keyword :ivar check_name_availability: CheckNameAvailabilityOperations operations :vartype check_name_availability: azure.mgmt.devcenter.operations.CheckNameAvailabilityOperations + :ivar catalog_dev_box_definitions: CatalogDevBoxDefinitionsOperations operations + :vartype catalog_dev_box_definitions: + azure.mgmt.devcenter.operations.CatalogDevBoxDefinitionsOperations + :ivar customization_tasks: CustomizationTasksOperations operations + :vartype customization_tasks: azure.mgmt.devcenter.operations.CustomizationTasksOperations + :ivar environment_definitions: EnvironmentDefinitionsOperations operations + :vartype environment_definitions: + azure.mgmt.devcenter.operations.EnvironmentDefinitionsOperations :ivar skus: SkusOperations operations :vartype skus: azure.mgmt.devcenter.operations.SkusOperations :ivar pools: PoolsOperations operations @@ -92,8 +103,8 @@ class DevCenterMgmtClient: # pylint: disable=client-accepts-api-version-keyword :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 "2023-04-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2023-08-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. @@ -144,6 +155,15 @@ def __init__( self.check_name_availability = CheckNameAvailabilityOperations( self._client, self._config, self._serialize, self._deserialize ) + self.catalog_dev_box_definitions = CatalogDevBoxDefinitionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.customization_tasks = CustomizationTasksOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.environment_definitions = EnvironmentDefinitionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.skus = SkusOperations(self._client, self._config, self._serialize, self._deserialize) self.pools = PoolsOperations(self._client, self._config, self._serialize, self._deserialize) self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_serialization.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_serialization.py index 842ae727fbbc..4bae2292227b 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_serialization.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_serialization.py @@ -662,8 +662,9 @@ def _serialize(self, target_obj, data_type=None, **kwargs): _serialized.update(_new_attr) # type: ignore _new_attr = _new_attr[k] # type: ignore _serialized = _serialized[k] - except ValueError: - continue + except ValueError as err: + if isinstance(err, SerializationError): + raise except (AttributeError, KeyError, TypeError) as err: msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) @@ -741,6 +742,8 @@ def query(self, name, data, data_type, **kwargs): :param data: The data to be serialized. :param str data_type: The type to be serialized from. + :keyword bool skip_quote: Whether to skip quote the serialized result. + Defaults to False. :rtype: str :raises: TypeError if serialization fails. :raises: ValueError if data is None @@ -749,10 +752,8 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] - if not kwargs.get("skip_quote", False): - data = [quote(str(d), safe="") for d in data] - return str(self.serialize_iter(data, internal_data_type, **kwargs)) + do_quote = not kwargs.get("skip_quote", False) + return str(self.serialize_iter(data, internal_data_type, do_quote=do_quote, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) @@ -891,6 +892,8 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): not be None or empty. :param str div: If set, this str will be used to combine the elements in the iterable into a combined string. Default is 'None'. + :keyword bool do_quote: Whether to quote the serialized result of each iterable element. + Defaults to False. :rtype: list, str """ if isinstance(data, str): @@ -903,9 +906,14 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): for d in data: try: serialized.append(self.serialize_data(d, iter_type, **kwargs)) - except ValueError: + except ValueError as err: + if isinstance(err, SerializationError): + raise serialized.append(None) + if kwargs.get("do_quote", False): + serialized = ["" if s is None else quote(str(s), safe="") for s in serialized] + if div: serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) @@ -950,7 +958,9 @@ def serialize_dict(self, attr, dict_type, **kwargs): for key, value in attr.items(): try: serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) - except ValueError: + except ValueError as err: + if isinstance(err, SerializationError): + raise serialized[self.serialize_unicode(key)] = None if "xml" in serialization_ctxt: diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_vendor.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_vendor.py index bd0df84f5319..0dafe0e287ff 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_vendor.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_vendor.py @@ -5,8 +5,6 @@ # 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 @@ -16,15 +14,3 @@ def _convert_request(request, files=None): if files: request.set_formdata_body(files) return request - - -def _format_url_section(template, **kwargs): - components = template.split("/") - while components: - try: - return template.format(**kwargs) - except KeyError as key: - # 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/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_version.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_version.py index c47f66669f1b..e5754a47ce68 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_version.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0" +VERSION = "1.0.0b1" diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_configuration.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_configuration.py index 512133dd4369..3c5c8893180c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_configuration.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_configuration.py @@ -29,14 +29,14 @@ class DevCenterMgmtClientConfiguration(Configuration): # pylint: disable=too-ma :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 "2023-04-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2023-08-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(DevCenterMgmtClientConfiguration, self).__init__(**kwargs) - api_version: str = kwargs.pop("api_version", "2023-04-01") + api_version: str = kwargs.pop("api_version", "2023-08-01-preview") if credential is None: raise ValueError("Parameter 'credential' must not be None.") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_dev_center_mgmt_client.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_dev_center_mgmt_client.py index 775c83454e1d..2f386886f411 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_dev_center_mgmt_client.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/_dev_center_mgmt_client.py @@ -17,10 +17,13 @@ from ._configuration import DevCenterMgmtClientConfiguration from .operations import ( AttachedNetworksOperations, + CatalogDevBoxDefinitionsOperations, CatalogsOperations, CheckNameAvailabilityOperations, + CustomizationTasksOperations, DevBoxDefinitionsOperations, DevCentersOperations, + EnvironmentDefinitionsOperations, EnvironmentTypesOperations, GalleriesOperations, ImageVersionsOperations, @@ -78,6 +81,14 @@ class DevCenterMgmtClient: # pylint: disable=client-accepts-api-version-keyword :ivar check_name_availability: CheckNameAvailabilityOperations operations :vartype check_name_availability: azure.mgmt.devcenter.aio.operations.CheckNameAvailabilityOperations + :ivar catalog_dev_box_definitions: CatalogDevBoxDefinitionsOperations operations + :vartype catalog_dev_box_definitions: + azure.mgmt.devcenter.aio.operations.CatalogDevBoxDefinitionsOperations + :ivar customization_tasks: CustomizationTasksOperations operations + :vartype customization_tasks: azure.mgmt.devcenter.aio.operations.CustomizationTasksOperations + :ivar environment_definitions: EnvironmentDefinitionsOperations operations + :vartype environment_definitions: + azure.mgmt.devcenter.aio.operations.EnvironmentDefinitionsOperations :ivar skus: SkusOperations operations :vartype skus: azure.mgmt.devcenter.aio.operations.SkusOperations :ivar pools: PoolsOperations operations @@ -92,8 +103,8 @@ class DevCenterMgmtClient: # pylint: disable=client-accepts-api-version-keyword :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 "2023-04-01". Note that overriding this - default value may result in unsupported behavior. + :keyword api_version: Api Version. Default value is "2023-08-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. @@ -144,6 +155,15 @@ def __init__( self.check_name_availability = CheckNameAvailabilityOperations( self._client, self._config, self._serialize, self._deserialize ) + self.catalog_dev_box_definitions = CatalogDevBoxDefinitionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.customization_tasks = CustomizationTasksOperations( + self._client, self._config, self._serialize, self._deserialize + ) + self.environment_definitions = EnvironmentDefinitionsOperations( + self._client, self._config, self._serialize, self._deserialize + ) self.skus = SkusOperations(self._client, self._config, self._serialize, self._deserialize) self.pools = PoolsOperations(self._client, self._config, self._serialize, self._deserialize) self.schedules = SchedulesOperations(self._client, self._config, self._serialize, self._deserialize) diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/__init__.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/__init__.py index 8db3786da467..dccc7a3f54e8 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/__init__.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/__init__.py @@ -21,6 +21,9 @@ from ._operation_statuses_operations import OperationStatusesOperations from ._usages_operations import UsagesOperations from ._check_name_availability_operations import CheckNameAvailabilityOperations +from ._catalog_dev_box_definitions_operations import CatalogDevBoxDefinitionsOperations +from ._customization_tasks_operations import CustomizationTasksOperations +from ._environment_definitions_operations import EnvironmentDefinitionsOperations from ._skus_operations import SkusOperations from ._pools_operations import PoolsOperations from ._schedules_operations import SchedulesOperations @@ -46,6 +49,9 @@ "OperationStatusesOperations", "UsagesOperations", "CheckNameAvailabilityOperations", + "CatalogDevBoxDefinitionsOperations", + "CustomizationTasksOperations", + "EnvironmentDefinitionsOperations", "SkusOperations", "PoolsOperations", "SchedulesOperations", diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_attached_networks_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_attached_networks_operations.py index 64ab46125909..631284220117 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_attached_networks_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_attached_networks_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -416,7 +417,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "AttachedNetworkConnection") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalog_dev_box_definitions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalog_dev_box_definitions_operations.py new file mode 100644 index 000000000000..87db4c969c5a --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalog_dev_box_definitions_operations.py @@ -0,0 +1,311 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar +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.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 ... import models as _models +from ..._vendor import _convert_request +from ...operations._catalog_dev_box_definitions_operations import ( + build_get_error_details_request, + build_get_request, + build_list_by_catalog_request, +) + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class CatalogDevBoxDefinitionsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.devcenter.aio.DevCenterMgmtClient`'s + :attr:`catalog_dev_box_definitions` 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_catalog( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + top: Optional[int] = None, + **kwargs: Any + ) -> AsyncIterable["_models.DevBoxDefinition"]: + """List Dev Box definitions in the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param top: The maximum number of resources to return from the operation. Example: '$top=10'. + 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 DevBoxDefinition or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.devcenter.models.DevBoxDefinition] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.DevBoxDefinitionListResult] = 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_catalog_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + top=top, + api_version=api_version, + template_url=self.list_by_catalog.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("DevBoxDefinitionListResult", 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + list_by_catalog.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions" + } + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + dev_box_definition_name: str, + **kwargs: Any + ) -> _models.DevBoxDefinition: + """Gets a Dev Box definition from the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param dev_box_definition_name: The name of the Dev Box definition. Required. + :type dev_box_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DevBoxDefinition or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.DevBoxDefinition + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.DevBoxDefinition] = kwargs.pop("cls", None) + + request = build_get_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + dev_box_definition_name=dev_box_definition_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("DevBoxDefinition", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}" + } + + @distributed_trace_async + async def get_error_details( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + dev_box_definition_name: str, + **kwargs: Any + ) -> _models.CatalogResourceValidationErrorDetails: + """Gets Catalog Devbox Definition error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param dev_box_definition_name: The name of the Dev Box definition. Required. + :type dev_box_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CatalogResourceValidationErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CatalogResourceValidationErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CatalogResourceValidationErrorDetails] = kwargs.pop("cls", None) + + request = build_get_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + dev_box_definition_name=dev_box_definition_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CatalogResourceValidationErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}/getErrorDetails" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalogs_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalogs_operations.py index f83b9b9e6372..f67732025754 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalogs_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_catalogs_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -31,9 +32,11 @@ from ... import models as _models from ..._vendor import _convert_request from ...operations._catalogs_operations import ( + build_connect_request, build_create_or_update_request, build_delete_request, build_get_request, + build_get_sync_error_details_request, build_list_by_dev_center_request, build_sync_request, build_update_request, @@ -250,7 +253,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Catalog") @@ -485,7 +488,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "CatalogUpdate") @@ -817,6 +820,73 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}" } + @distributed_trace_async + async def get_sync_error_details( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, **kwargs: Any + ) -> _models.SyncErrorDetails: + """Gets catalog synchronization error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SyncErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.SyncErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.SyncErrorDetails] = kwargs.pop("cls", None) + + request = build_get_sync_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_sync_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("SyncErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_sync_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/getSyncErrorDetails" + } + async def _sync_initial( # pylint: disable=inconsistent-return-statements self, resource_group_name: str, dev_center_name: str, catalog_name: str, **kwargs: Any ) -> None: @@ -936,3 +1006,123 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- begin_sync.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/sync" } + + async def _connect_initial( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, dev_center_name: str, catalog_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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) + + request = build_connect_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self._connect_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 [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _connect_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect" + } + + @distributed_trace_async + async def begin_connect( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, **kwargs: Any + ) -> AsyncLROPoller[None]: + """Connects a catalog to enable syncing. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_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: str = 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._connect_initial( # type: ignore + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_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": "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_connect.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_check_name_availability_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_check_name_availability_operations.py index e4fe8d62e2ee..6324a426102c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_check_name_availability_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_check_name_availability_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload from azure.core.exceptions import ( @@ -126,7 +127,7 @@ async def execute( content_type = content_type or "application/json" _json = None _content = None - if isinstance(name_availability_request, (IO, bytes)): + if isinstance(name_availability_request, (IOBase, bytes)): _content = name_availability_request else: _json = self._serialize.body(name_availability_request, "CheckNameAvailabilityRequest") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_customization_tasks_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_customization_tasks_operations.py new file mode 100644 index 000000000000..5dc960f509a7 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_customization_tasks_operations.py @@ -0,0 +1,301 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar +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.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 ... import models as _models +from ..._vendor import _convert_request +from ...operations._customization_tasks_operations import ( + build_get_error_details_request, + build_get_request, + build_list_by_catalog_request, +) + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class CustomizationTasksOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.devcenter.aio.DevCenterMgmtClient`'s + :attr:`customization_tasks` 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_catalog( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + top: Optional[int] = None, + **kwargs: Any + ) -> AsyncIterable["_models.CustomizationTask"]: + """List Tasks in the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param top: The maximum number of resources to return from the operation. Example: '$top=10'. + 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 CustomizationTask or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.devcenter.models.CustomizationTask] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CustomizationTaskListResult] = 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_catalog_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + top=top, + api_version=api_version, + template_url=self.list_by_catalog.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("CustomizationTaskListResult", 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + list_by_catalog.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks" + } + + @distributed_trace_async + async def get( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, task_name: str, **kwargs: Any + ) -> _models.CustomizationTask: + """Gets a Task from the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param task_name: The name of the Task. Required. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomizationTask or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CustomizationTask + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CustomizationTask] = kwargs.pop("cls", None) + + request = build_get_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + task_name=task_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CustomizationTask", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}" + } + + @distributed_trace_async + async def get_error_details( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, task_name: str, **kwargs: Any + ) -> _models.CatalogResourceValidationErrorDetails: + """Gets Customization Task error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param task_name: The name of the Task. Required. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CatalogResourceValidationErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CatalogResourceValidationErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CatalogResourceValidationErrorDetails] = kwargs.pop("cls", None) + + request = build_get_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + task_name=task_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CatalogResourceValidationErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}/getErrorDetails" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_box_definitions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_box_definitions_operations.py index 9032ec8d1bfc..64b45d64ccc3 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_box_definitions_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_box_definitions_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -251,7 +252,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevBoxDefinition") @@ -491,7 +492,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevBoxDefinitionUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_centers_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_centers_operations.py index aecfb67cd4d8..610087b451b0 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_centers_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_dev_centers_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -321,7 +322,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevCenter") @@ -540,7 +541,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevCenterUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_definitions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_definitions_operations.py new file mode 100644 index 000000000000..95a73b72963a --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_definitions_operations.py @@ -0,0 +1,313 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar +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.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 ... import models as _models +from ..._vendor import _convert_request +from ...operations._environment_definitions_operations import ( + build_get_error_details_request, + build_get_request, + build_list_by_catalog_request, +) + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class EnvironmentDefinitionsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.devcenter.aio.DevCenterMgmtClient`'s + :attr:`environment_definitions` 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_catalog( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + top: Optional[int] = None, + **kwargs: Any + ) -> AsyncIterable["_models.EnvironmentDefinition"]: + """List environment definitions in the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param top: The maximum number of resources to return from the operation. Example: '$top=10'. + 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 EnvironmentDefinition or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.devcenter.models.EnvironmentDefinition] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.EnvironmentDefinitionListResult] = 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_catalog_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + top=top, + api_version=api_version, + template_url=self.list_by_catalog.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("EnvironmentDefinitionListResult", 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged(get_next, extract_data) + + list_by_catalog.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions" + } + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + environment_definition_name: str, + **kwargs: Any + ) -> _models.EnvironmentDefinition: + """Gets an environment definition from the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param environment_definition_name: The name of the Environment Definition. Required. + :type environment_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EnvironmentDefinition or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.EnvironmentDefinition + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.EnvironmentDefinition] = kwargs.pop("cls", None) + + request = build_get_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + environment_definition_name=environment_definition_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("EnvironmentDefinition", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}" + } + + @distributed_trace_async + async def get_error_details( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + environment_definition_name: str, + **kwargs: Any + ) -> _models.CatalogResourceValidationErrorDetails: + """Gets Environment Definition error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param environment_definition_name: The name of the Environment Definition. Required. + :type environment_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CatalogResourceValidationErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CatalogResourceValidationErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CatalogResourceValidationErrorDetails] = kwargs.pop("cls", None) + + request = build_get_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + environment_definition_name=environment_definition_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CatalogResourceValidationErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_types_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_types_operations.py index 3d8dc32f3813..ca95a21ac097 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_types_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_environment_types_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload import urllib.parse @@ -330,7 +331,7 @@ async def create_or_update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "EnvironmentType") @@ -482,7 +483,7 @@ async def update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "EnvironmentTypeUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_galleries_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_galleries_operations.py index 756d74f0cf65..690a3393b689 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_galleries_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_galleries_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -248,7 +249,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Gallery") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_network_connections_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_network_connections_operations.py index 25e068088219..f3e6c577e010 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_network_connections_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_network_connections_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -336,7 +337,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "NetworkConnection") @@ -567,7 +568,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "NetworkConnectionUpdate") @@ -1170,7 +1171,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- } @distributed_trace - def list_outbound_network_dependencies_endpoints( # pylint: disable=name-too-long + def list_outbound_network_dependencies_endpoints( self, resource_group_name: str, network_connection_name: str, top: Optional[int] = None, **kwargs: Any ) -> AsyncIterable["_models.OutboundEnvironmentEndpoint"]: """Lists the endpoints that agents may call as part of Dev Box service administration. These FQDNs diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_pools_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_pools_operations.py index 5d05d0e79d8a..5634c3923091 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_pools_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_pools_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -243,7 +244,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Pool") @@ -474,7 +475,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "PoolUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_project_environment_types_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_project_environment_types_operations.py index 6f08654efa29..c96cf5a91fd3 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_project_environment_types_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_project_environment_types_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, overload import urllib.parse @@ -332,7 +333,7 @@ async def create_or_update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ProjectEnvironmentType") @@ -484,7 +485,7 @@ async def update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ProjectEnvironmentTypeUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_projects_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_projects_operations.py index 29a9ec33c387..6e7a0654142c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_projects_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_projects_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -321,7 +322,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Project") @@ -540,7 +541,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ProjectUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_schedules_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_schedules_operations.py index f45093c7b76f..a2944b7c25e2 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_schedules_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/aio/operations/_schedules_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -267,7 +268,7 @@ async def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Schedule") @@ -533,7 +534,7 @@ async def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ScheduleUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/__init__.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/__init__.py index 961e3f77f659..f47647738bf8 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/__init__.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/__init__.py @@ -12,13 +12,22 @@ from ._models_py3 import AttachedNetworkListResult from ._models_py3 import Capability from ._models_py3 import Catalog +from ._models_py3 import CatalogConflictError +from ._models_py3 import CatalogErrorDetails from ._models_py3 import CatalogListResult from ._models_py3 import CatalogProperties +from ._models_py3 import CatalogResourceValidationErrorDetails +from ._models_py3 import CatalogSyncError from ._models_py3 import CatalogUpdate from ._models_py3 import CatalogUpdateProperties from ._models_py3 import CheckNameAvailabilityRequest from ._models_py3 import CheckNameAvailabilityResponse from ._models_py3 import CloudErrorBody +from ._models_py3 import CustomerManagedKeyEncryption +from ._models_py3 import CustomerManagedKeyEncryptionKeyIdentity +from ._models_py3 import CustomizationTask +from ._models_py3 import CustomizationTaskInput +from ._models_py3 import CustomizationTaskListResult from ._models_py3 import DevBoxDefinition from ._models_py3 import DevBoxDefinitionListResult from ._models_py3 import DevBoxDefinitionProperties @@ -26,10 +35,16 @@ from ._models_py3 import DevBoxDefinitionUpdateProperties from ._models_py3 import DevCenter from ._models_py3 import DevCenterListResult +from ._models_py3 import DevCenterProperties from ._models_py3 import DevCenterSku from ._models_py3 import DevCenterUpdate +from ._models_py3 import DevCenterUpdateProperties +from ._models_py3 import Encryption from ._models_py3 import EndpointDependency from ._models_py3 import EndpointDetail +from ._models_py3 import EnvironmentDefinition +from ._models_py3 import EnvironmentDefinitionListResult +from ._models_py3 import EnvironmentDefinitionParameter from ._models_py3 import EnvironmentRole from ._models_py3 import EnvironmentType from ._models_py3 import EnvironmentTypeListResult @@ -92,6 +107,8 @@ from ._models_py3 import Sku from ._models_py3 import SkuListResult from ._models_py3 import StopOnDisconnectConfiguration +from ._models_py3 import SyncErrorDetails +from ._models_py3 import SyncStats from ._models_py3 import SystemData from ._models_py3 import TrackedResource from ._models_py3 import TrackedResourceUpdate @@ -101,23 +118,29 @@ from ._models_py3 import UserRoleAssignmentValue from ._dev_center_mgmt_client_enums import ActionType +from ._dev_center_mgmt_client_enums import CatalogConnectionState +from ._dev_center_mgmt_client_enums import CatalogResourceValidationStatus from ._dev_center_mgmt_client_enums import CatalogSyncState from ._dev_center_mgmt_client_enums import CheckNameAvailabilityReason from ._dev_center_mgmt_client_enums import CreatedByType +from ._dev_center_mgmt_client_enums import CustomizationTaskInputType from ._dev_center_mgmt_client_enums import DomainJoinType from ._dev_center_mgmt_client_enums import EnvironmentTypeEnableStatus from ._dev_center_mgmt_client_enums import HealthCheckStatus from ._dev_center_mgmt_client_enums import HealthStatus from ._dev_center_mgmt_client_enums import HibernateSupport +from ._dev_center_mgmt_client_enums import IdentityType from ._dev_center_mgmt_client_enums import ImageValidationStatus from ._dev_center_mgmt_client_enums import LicenseType from ._dev_center_mgmt_client_enums import LocalAdminStatus from ._dev_center_mgmt_client_enums import ManagedServiceIdentityType from ._dev_center_mgmt_client_enums import Origin +from ._dev_center_mgmt_client_enums import ParameterType from ._dev_center_mgmt_client_enums import ProvisioningState from ._dev_center_mgmt_client_enums import ScheduleEnableStatus from ._dev_center_mgmt_client_enums import ScheduledFrequency from ._dev_center_mgmt_client_enums import ScheduledType +from ._dev_center_mgmt_client_enums import SingleSignOnStatus from ._dev_center_mgmt_client_enums import SkuTier from ._dev_center_mgmt_client_enums import StopOnDisconnectEnableStatus from ._dev_center_mgmt_client_enums import UsageUnit @@ -132,13 +155,22 @@ "AttachedNetworkListResult", "Capability", "Catalog", + "CatalogConflictError", + "CatalogErrorDetails", "CatalogListResult", "CatalogProperties", + "CatalogResourceValidationErrorDetails", + "CatalogSyncError", "CatalogUpdate", "CatalogUpdateProperties", "CheckNameAvailabilityRequest", "CheckNameAvailabilityResponse", "CloudErrorBody", + "CustomerManagedKeyEncryption", + "CustomerManagedKeyEncryptionKeyIdentity", + "CustomizationTask", + "CustomizationTaskInput", + "CustomizationTaskListResult", "DevBoxDefinition", "DevBoxDefinitionListResult", "DevBoxDefinitionProperties", @@ -146,10 +178,16 @@ "DevBoxDefinitionUpdateProperties", "DevCenter", "DevCenterListResult", + "DevCenterProperties", "DevCenterSku", "DevCenterUpdate", + "DevCenterUpdateProperties", + "Encryption", "EndpointDependency", "EndpointDetail", + "EnvironmentDefinition", + "EnvironmentDefinitionListResult", + "EnvironmentDefinitionParameter", "EnvironmentRole", "EnvironmentType", "EnvironmentTypeListResult", @@ -212,6 +250,8 @@ "Sku", "SkuListResult", "StopOnDisconnectConfiguration", + "SyncErrorDetails", + "SyncStats", "SystemData", "TrackedResource", "TrackedResourceUpdate", @@ -220,23 +260,29 @@ "UserAssignedIdentity", "UserRoleAssignmentValue", "ActionType", + "CatalogConnectionState", + "CatalogResourceValidationStatus", "CatalogSyncState", "CheckNameAvailabilityReason", "CreatedByType", + "CustomizationTaskInputType", "DomainJoinType", "EnvironmentTypeEnableStatus", "HealthCheckStatus", "HealthStatus", "HibernateSupport", + "IdentityType", "ImageValidationStatus", "LicenseType", "LocalAdminStatus", "ManagedServiceIdentityType", "Origin", + "ParameterType", "ProvisioningState", "ScheduleEnableStatus", "ScheduledFrequency", "ScheduledType", + "SingleSignOnStatus", "SkuTier", "StopOnDisconnectEnableStatus", "UsageUnit", diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_dev_center_mgmt_client_enums.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_dev_center_mgmt_client_enums.py index fd84f75bb9f6..6c18c10dad70 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_dev_center_mgmt_client_enums.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_dev_center_mgmt_client_enums.py @@ -16,6 +16,22 @@ class ActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta): INTERNAL = "Internal" +class CatalogConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The connection state of the catalog.""" + + CONNECTED = "Connected" + DISCONNECTED = "Disconnected" + + +class CatalogResourceValidationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Catalog resource validation status.""" + + UNKNOWN = "Unknown" + PENDING = "Pending" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + + class CatalogSyncState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """The synchronization state of the catalog.""" @@ -41,6 +57,14 @@ class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta): KEY = "Key" +class CustomizationTaskInputType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Type of the input.""" + + STRING = "string" + NUMBER = "number" + BOOLEAN = "boolean" + + class DomainJoinType(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Active Directory join type.""" @@ -83,6 +107,14 @@ class HibernateSupport(str, Enum, metaclass=CaseInsensitiveEnumMeta): ENABLED = "Enabled" +class IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Values can be systemAssignedIdentity or userAssignedIdentity.""" + + SYSTEM_ASSIGNED_IDENTITY = "systemAssignedIdentity" + USER_ASSIGNED_IDENTITY = "userAssignedIdentity" + DELEGATED_RESOURCE_IDENTITY = "delegatedResourceIdentity" + + class ImageValidationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Image validation status.""" @@ -100,7 +132,9 @@ class LicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta): class LocalAdminStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """LocalAdminStatus.""" + """Local Administrator enable or disable status. Indicates whether owners of Dev Boxes are added + as local administrators on the Dev Box. + """ DISABLED = "Disabled" ENABLED = "Enabled" @@ -127,6 +161,23 @@ class Origin(str, Enum, metaclass=CaseInsensitiveEnumMeta): USER_SYSTEM = "user,system" +class ParameterType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The type of data a parameter accepts.""" + + ARRAY = "array" + """The parameter accepts an array of values.""" + BOOLEAN = "boolean" + """The parameter accepts a boolean value.""" + INTEGER = "integer" + """The parameter accepts an integer value.""" + NUMBER = "number" + """The parameter accepts a number value.""" + OBJECT = "object" + """The parameter accepts an object value.""" + STRING = "string" + """The parameter accepts a string value.""" + + class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta): """Provisioning state of the resource.""" @@ -169,6 +220,15 @@ class ScheduleEnableStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): DISABLED = "Disabled" +class SingleSignOnStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """SingleSignOn (SSO) enable or disable status. Indicates whether Dev Boxes in the Pool will have + SSO enabled or disabled. + """ + + DISABLED = "Disabled" + ENABLED = "Enabled" + + class SkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta): """This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_models_py3.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_models_py3.py index 3103da1accb5..626443a3aa13 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_models_py3.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/models/_models_py3.py @@ -257,7 +257,7 @@ def __init__(self, **kwargs: Any) -> None: self.value = None -class Catalog(Resource): +class Catalog(Resource): # pylint: disable=too-many-instance-attributes """Represents a catalog. Variables are only populated by the server, and will be ignored when sending a request. @@ -285,6 +285,13 @@ class Catalog(Resource): :ivar sync_state: The synchronization state of the catalog. Known values are: "Succeeded", "InProgress", "Failed", and "Canceled". :vartype sync_state: str or ~azure.mgmt.devcenter.models.CatalogSyncState + :ivar last_sync_stats: Stats of the latest synchronization. + :vartype last_sync_stats: ~azure.mgmt.devcenter.models.SyncStats + :ivar connection_state: The connection state of the catalog. Known values are: "Connected" and + "Disconnected". + :vartype connection_state: str or ~azure.mgmt.devcenter.models.CatalogConnectionState + :ivar last_connection_time: When the catalog was last connected. + :vartype last_connection_time: ~datetime.datetime :ivar last_sync_time: When the catalog was last synced. :vartype last_sync_time: ~datetime.datetime """ @@ -296,6 +303,9 @@ class Catalog(Resource): "system_data": {"readonly": True}, "provisioning_state": {"readonly": True}, "sync_state": {"readonly": True}, + "last_sync_stats": {"readonly": True}, + "connection_state": {"readonly": True}, + "last_connection_time": {"readonly": True}, "last_sync_time": {"readonly": True}, } @@ -308,6 +318,9 @@ class Catalog(Resource): "ado_git": {"key": "properties.adoGit", "type": "GitCatalog"}, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, "sync_state": {"key": "properties.syncState", "type": "str"}, + "last_sync_stats": {"key": "properties.lastSyncStats", "type": "SyncStats"}, + "connection_state": {"key": "properties.connectionState", "type": "str"}, + "last_connection_time": {"key": "properties.lastConnectionTime", "type": "iso-8601"}, "last_sync_time": {"key": "properties.lastSyncTime", "type": "iso-8601"}, } @@ -329,9 +342,66 @@ def __init__( self.ado_git = ado_git self.provisioning_state = None self.sync_state = None + self.last_sync_stats = None + self.connection_state = None + self.last_connection_time = None self.last_sync_time = None +class CatalogConflictError(_serialization.Model): + """An individual conflict error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar path: The path of the file that has a conflicting name. + :vartype path: str + :ivar name: Name of the conflicting catalog item. + :vartype name: str + """ + + _validation = { + "path": {"readonly": True}, + "name": {"readonly": True}, + } + + _attribute_map = { + "path": {"key": "path", "type": "str"}, + "name": {"key": "name", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.path = None + self.name = None + + +class CatalogErrorDetails(_serialization.Model): + """Catalog error details. + + :ivar code: An identifier for the error. + :vartype code: str + :ivar message: A message describing the error. + :vartype message: str + """ + + _attribute_map = { + "code": {"key": "code", "type": "str"}, + "message": {"key": "message", "type": "str"}, + } + + def __init__(self, *, code: Optional[str] = None, message: Optional[str] = None, **kwargs: Any) -> None: + """ + :keyword code: An identifier for the error. + :paramtype code: str + :keyword message: A message describing the error. + :paramtype message: str + """ + super().__init__(**kwargs) + self.code = code + self.message = message + + class CatalogListResult(_serialization.Model): """Results of the catalog list operation. @@ -409,6 +479,13 @@ class CatalogProperties(CatalogUpdateProperties): :ivar sync_state: The synchronization state of the catalog. Known values are: "Succeeded", "InProgress", "Failed", and "Canceled". :vartype sync_state: str or ~azure.mgmt.devcenter.models.CatalogSyncState + :ivar last_sync_stats: Stats of the latest synchronization. + :vartype last_sync_stats: ~azure.mgmt.devcenter.models.SyncStats + :ivar connection_state: The connection state of the catalog. Known values are: "Connected" and + "Disconnected". + :vartype connection_state: str or ~azure.mgmt.devcenter.models.CatalogConnectionState + :ivar last_connection_time: When the catalog was last connected. + :vartype last_connection_time: ~datetime.datetime :ivar last_sync_time: When the catalog was last synced. :vartype last_sync_time: ~datetime.datetime """ @@ -416,6 +493,9 @@ class CatalogProperties(CatalogUpdateProperties): _validation = { "provisioning_state": {"readonly": True}, "sync_state": {"readonly": True}, + "last_sync_stats": {"readonly": True}, + "connection_state": {"readonly": True}, + "last_connection_time": {"readonly": True}, "last_sync_time": {"readonly": True}, } @@ -424,6 +504,9 @@ class CatalogProperties(CatalogUpdateProperties): "ado_git": {"key": "adoGit", "type": "GitCatalog"}, "provisioning_state": {"key": "provisioningState", "type": "str"}, "sync_state": {"key": "syncState", "type": "str"}, + "last_sync_stats": {"key": "lastSyncStats", "type": "SyncStats"}, + "connection_state": {"key": "connectionState", "type": "str"}, + "last_connection_time": {"key": "lastConnectionTime", "type": "iso-8601"}, "last_sync_time": {"key": "lastSyncTime", "type": "iso-8601"}, } @@ -443,9 +526,64 @@ def __init__( super().__init__(git_hub=git_hub, ado_git=ado_git, **kwargs) self.provisioning_state = None self.sync_state = None + self.last_sync_stats = None + self.connection_state = None + self.last_connection_time = None self.last_sync_time = None +class CatalogResourceValidationErrorDetails(_serialization.Model): + """List of validator error details. Populated when changes are made to the resource or its + dependent resources that impact the validity of the Catalog resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar errors: Errors associated with resources synchronized from the catalog. + :vartype errors: list[~azure.mgmt.devcenter.models.CatalogErrorDetails] + """ + + _validation = { + "errors": {"readonly": True}, + } + + _attribute_map = { + "errors": {"key": "errors", "type": "[CatalogErrorDetails]"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.errors = None + + +class CatalogSyncError(_serialization.Model): + """An individual synchronization error. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar path: The path of the file the error is associated with. + :vartype path: str + :ivar error_details: Errors associated with the file. + :vartype error_details: list[~azure.mgmt.devcenter.models.CatalogErrorDetails] + """ + + _validation = { + "path": {"readonly": True}, + "error_details": {"readonly": True}, + } + + _attribute_map = { + "path": {"key": "path", "type": "str"}, + "error_details": {"key": "errorDetails", "type": "[CatalogErrorDetails]"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.path = None + self.error_details = None + + class CatalogUpdate(_serialization.Model): """The catalog's properties for partial update. Properties not provided in the update request will not be changed. @@ -612,6 +750,258 @@ def __init__( self.details = details +class CustomerManagedKeyEncryption(_serialization.Model): + """All Customer-managed key encryption properties for the resource. + + :ivar key_encryption_key_identity: All identity configuration for Customer-managed key settings + defining which identity should be used to auth to Key Vault. + :vartype key_encryption_key_identity: + ~azure.mgmt.devcenter.models.CustomerManagedKeyEncryptionKeyIdentity + :ivar key_encryption_key_url: key encryption key Url, versioned or non-versioned. Ex: + https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or + https://contosovault.vault.azure.net/keys/contosokek. + :vartype key_encryption_key_url: str + """ + + _attribute_map = { + "key_encryption_key_identity": { + "key": "keyEncryptionKeyIdentity", + "type": "CustomerManagedKeyEncryptionKeyIdentity", + }, + "key_encryption_key_url": {"key": "keyEncryptionKeyUrl", "type": "str"}, + } + + def __init__( + self, + *, + key_encryption_key_identity: Optional["_models.CustomerManagedKeyEncryptionKeyIdentity"] = None, + key_encryption_key_url: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword key_encryption_key_identity: All identity configuration for Customer-managed key + settings defining which identity should be used to auth to Key Vault. + :paramtype key_encryption_key_identity: + ~azure.mgmt.devcenter.models.CustomerManagedKeyEncryptionKeyIdentity + :keyword key_encryption_key_url: key encryption key Url, versioned or non-versioned. Ex: + https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or + https://contosovault.vault.azure.net/keys/contosokek. + :paramtype key_encryption_key_url: str + """ + super().__init__(**kwargs) + self.key_encryption_key_identity = key_encryption_key_identity + self.key_encryption_key_url = key_encryption_key_url + + +class CustomerManagedKeyEncryptionKeyIdentity(_serialization.Model): + """All identity configuration for Customer-managed key settings defining which identity should be + used to auth to Key Vault. + + :ivar identity_type: Values can be systemAssignedIdentity or userAssignedIdentity. Known values + are: "systemAssignedIdentity", "userAssignedIdentity", and "delegatedResourceIdentity". + :vartype identity_type: str or ~azure.mgmt.devcenter.models.IdentityType + :ivar user_assigned_identity_resource_id: user assigned identity to use for accessing key + encryption key Url. Ex: + /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/:code:``/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive + with identityType systemAssignedIdentity and delegatedResourceIdentity. + :vartype user_assigned_identity_resource_id: str + :ivar delegated_identity_client_id: delegated identity to use for accessing key encryption key + Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/:code:``/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive + with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + :vartype delegated_identity_client_id: str + """ + + _attribute_map = { + "identity_type": {"key": "identityType", "type": "str"}, + "user_assigned_identity_resource_id": {"key": "userAssignedIdentityResourceId", "type": "str"}, + "delegated_identity_client_id": {"key": "delegatedIdentityClientId", "type": "str"}, + } + + def __init__( + self, + *, + identity_type: Optional[Union[str, "_models.IdentityType"]] = None, + user_assigned_identity_resource_id: Optional[str] = None, + delegated_identity_client_id: Optional[str] = None, + **kwargs: Any + ) -> None: + """ + :keyword identity_type: Values can be systemAssignedIdentity or userAssignedIdentity. Known + values are: "systemAssignedIdentity", "userAssignedIdentity", and "delegatedResourceIdentity". + :paramtype identity_type: str or ~azure.mgmt.devcenter.models.IdentityType + :keyword user_assigned_identity_resource_id: user assigned identity to use for accessing key + encryption key Url. Ex: + /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/:code:``/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive + with identityType systemAssignedIdentity and delegatedResourceIdentity. + :paramtype user_assigned_identity_resource_id: str + :keyword delegated_identity_client_id: delegated identity to use for accessing key encryption + key Url. Ex: + /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/:code:``/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. Mutually exclusive + with identityType systemAssignedIdentity and userAssignedIdentity - internal use only. + :paramtype delegated_identity_client_id: str + """ + super().__init__(**kwargs) + self.identity_type = identity_type + self.user_assigned_identity_resource_id = user_assigned_identity_resource_id + self.delegated_identity_client_id = delegated_identity_client_id + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have + tags and a location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.devcenter.models.SystemData + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "system_data": {"key": "systemData", "type": "SystemData"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + + +class CustomizationTask(ProxyResource): + """Represents a Task to be used in customizing a Dev Box. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.devcenter.models.SystemData + :ivar inputs: Inputs to the task. + :vartype inputs: dict[str, ~azure.mgmt.devcenter.models.CustomizationTaskInput] + :ivar timeout: The default timeout for the task. + :vartype timeout: int + :ivar validation_status: Validation status for the Task. Known values are: "Unknown", + "Pending", "Succeeded", and "Failed". + :vartype validation_status: str or ~azure.mgmt.devcenter.models.CatalogResourceValidationStatus + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "inputs": {"readonly": True}, + "timeout": {"readonly": True}, + "validation_status": {"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"}, + "inputs": {"key": "properties.inputs", "type": "{CustomizationTaskInput}"}, + "timeout": {"key": "properties.timeout", "type": "int"}, + "validation_status": {"key": "properties.validationStatus", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.inputs = None + self.timeout = None + self.validation_status = None + + +class CustomizationTaskInput(_serialization.Model): + """Input for a Task. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar description: Description of the input. + :vartype description: str + :ivar type: Type of the input. Known values are: "string", "number", and "boolean". + :vartype type: str or ~azure.mgmt.devcenter.models.CustomizationTaskInputType + :ivar required: Whether or not the input is required. + :vartype required: bool + """ + + _validation = { + "description": {"readonly": True}, + "type": {"readonly": True}, + "required": {"readonly": True}, + } + + _attribute_map = { + "description": {"key": "description", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "required": {"key": "required", "type": "bool"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.description = None + self.type = None + self.required = None + + +class CustomizationTaskListResult(_serialization.Model): + """Results of the Task list operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Current page of results. + :vartype value: list[~azure.mgmt.devcenter.models.CustomizationTask] + :ivar next_link: URL to get the next set of results if there are any. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[CustomizationTask]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value = None + self.next_link = None + + class TrackedResource(Resource): """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. @@ -711,6 +1101,9 @@ class DevBoxDefinition(TrackedResource): # pylint: disable=too-many-instance-at image validation is not successful. :vartype image_validation_error_details: ~azure.mgmt.devcenter.models.ImageValidationErrorDetails + :ivar validation_status: Validation status for the Dev Box Definition. Known values are: + "Unknown", "Pending", "Succeeded", and "Failed". + :vartype validation_status: str or ~azure.mgmt.devcenter.models.CatalogResourceValidationStatus :ivar active_image_reference: Image reference information for the currently active image (only populated during updates). :vartype active_image_reference: ~azure.mgmt.devcenter.models.ImageReference @@ -725,6 +1118,7 @@ class DevBoxDefinition(TrackedResource): # pylint: disable=too-many-instance-at "provisioning_state": {"readonly": True}, "image_validation_status": {"readonly": True}, "image_validation_error_details": {"readonly": True}, + "validation_status": {"readonly": True}, "active_image_reference": {"readonly": True}, } @@ -745,6 +1139,7 @@ class DevBoxDefinition(TrackedResource): # pylint: disable=too-many-instance-at "key": "properties.imageValidationErrorDetails", "type": "ImageValidationErrorDetails", }, + "validation_status": {"key": "properties.validationStatus", "type": "str"}, "active_image_reference": {"key": "properties.activeImageReference", "type": "ImageReference"}, } @@ -784,6 +1179,7 @@ def __init__( self.provisioning_state = None self.image_validation_status = None self.image_validation_error_details = None + self.validation_status = None self.active_image_reference = None @@ -896,6 +1292,9 @@ class DevBoxDefinitionProperties(DevBoxDefinitionUpdateProperties): image validation is not successful. :vartype image_validation_error_details: ~azure.mgmt.devcenter.models.ImageValidationErrorDetails + :ivar validation_status: Validation status for the Dev Box Definition. Known values are: + "Unknown", "Pending", "Succeeded", and "Failed". + :vartype validation_status: str or ~azure.mgmt.devcenter.models.CatalogResourceValidationStatus :ivar active_image_reference: Image reference information for the currently active image (only populated during updates). :vartype active_image_reference: ~azure.mgmt.devcenter.models.ImageReference @@ -905,6 +1304,7 @@ class DevBoxDefinitionProperties(DevBoxDefinitionUpdateProperties): "provisioning_state": {"readonly": True}, "image_validation_status": {"readonly": True}, "image_validation_error_details": {"readonly": True}, + "validation_status": {"readonly": True}, "active_image_reference": {"readonly": True}, } @@ -916,6 +1316,7 @@ class DevBoxDefinitionProperties(DevBoxDefinitionUpdateProperties): "provisioning_state": {"key": "provisioningState", "type": "str"}, "image_validation_status": {"key": "imageValidationStatus", "type": "str"}, "image_validation_error_details": {"key": "imageValidationErrorDetails", "type": "ImageValidationErrorDetails"}, + "validation_status": {"key": "validationStatus", "type": "str"}, "active_image_reference": {"key": "activeImageReference", "type": "ImageReference"}, } @@ -951,6 +1352,7 @@ def __init__( self.provisioning_state = None self.image_validation_status = None self.image_validation_error_details = None + self.validation_status = None self.active_image_reference = None @@ -1068,6 +1470,9 @@ class DevCenter(TrackedResource): :vartype location: str :ivar identity: Managed identity properties. :vartype identity: ~azure.mgmt.devcenter.models.ManagedServiceIdentity + :ivar encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :vartype encryption: ~azure.mgmt.devcenter.models.Encryption :ivar provisioning_state: The provisioning state of the resource. Known values are: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Updating", "Updated", "Deleting", "Deleted", "Succeeded", "Failed", "Canceled", "MovingResources", @@ -1095,6 +1500,7 @@ class DevCenter(TrackedResource): "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "identity": {"key": "identity", "type": "ManagedServiceIdentity"}, + "encryption": {"key": "properties.encryption", "type": "Encryption"}, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, "dev_center_uri": {"key": "properties.devCenterUri", "type": "str"}, } @@ -1105,6 +1511,7 @@ def __init__( location: str, tags: Optional[Dict[str, str]] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, + encryption: Optional["_models.Encryption"] = None, **kwargs: Any ) -> None: """ @@ -1114,9 +1521,13 @@ def __init__( :paramtype location: str :keyword identity: Managed identity properties. :paramtype identity: ~azure.mgmt.devcenter.models.ManagedServiceIdentity + :keyword encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :paramtype encryption: ~azure.mgmt.devcenter.models.Encryption """ super().__init__(tags=tags, location=location, **kwargs) self.identity = identity + self.encryption = encryption self.provisioning_state = None self.dev_center_uri = None @@ -1149,6 +1560,68 @@ def __init__(self, **kwargs: Any) -> None: self.next_link = None +class DevCenterUpdateProperties(_serialization.Model): + """Properties of the devcenter. These properties can be updated after the resource has been + created. + + :ivar encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :vartype encryption: ~azure.mgmt.devcenter.models.Encryption + """ + + _attribute_map = { + "encryption": {"key": "encryption", "type": "Encryption"}, + } + + def __init__(self, *, encryption: Optional["_models.Encryption"] = None, **kwargs: Any) -> None: + """ + :keyword encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :paramtype encryption: ~azure.mgmt.devcenter.models.Encryption + """ + super().__init__(**kwargs) + self.encryption = encryption + + +class DevCenterProperties(DevCenterUpdateProperties): + """Properties of the devcenter. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :vartype encryption: ~azure.mgmt.devcenter.models.Encryption + :ivar provisioning_state: The provisioning state of the resource. Known values are: + "NotSpecified", "Accepted", "Running", "Creating", "Created", "Updating", "Updated", + "Deleting", "Deleted", "Succeeded", "Failed", "Canceled", "MovingResources", + "TransientFailure", "RolloutInProgress", and "StorageProvisioningFailed". + :vartype provisioning_state: str or ~azure.mgmt.devcenter.models.ProvisioningState + :ivar dev_center_uri: The URI of the Dev Center. + :vartype dev_center_uri: str + """ + + _validation = { + "provisioning_state": {"readonly": True}, + "dev_center_uri": {"readonly": True}, + } + + _attribute_map = { + "encryption": {"key": "encryption", "type": "Encryption"}, + "provisioning_state": {"key": "provisioningState", "type": "str"}, + "dev_center_uri": {"key": "devCenterUri", "type": "str"}, + } + + def __init__(self, *, encryption: Optional["_models.Encryption"] = None, **kwargs: Any) -> None: + """ + :keyword encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :paramtype encryption: ~azure.mgmt.devcenter.models.Encryption + """ + super().__init__(encryption=encryption, **kwargs) + self.provisioning_state = None + self.dev_center_uri = None + + class Sku(_serialization.Model): """The resource model definition representing SKU. @@ -1309,12 +1782,16 @@ class DevCenterUpdate(TrackedResourceUpdate): :vartype location: str :ivar identity: Managed identity properties. :vartype identity: ~azure.mgmt.devcenter.models.ManagedServiceIdentity + :ivar encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :vartype encryption: ~azure.mgmt.devcenter.models.Encryption """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "identity": {"key": "identity", "type": "ManagedServiceIdentity"}, + "encryption": {"key": "properties.encryption", "type": "Encryption"}, } def __init__( @@ -1323,6 +1800,7 @@ def __init__( tags: Optional[Dict[str, str]] = None, location: Optional[str] = None, identity: Optional["_models.ManagedServiceIdentity"] = None, + encryption: Optional["_models.Encryption"] = None, **kwargs: Any ) -> None: """ @@ -1332,9 +1810,42 @@ def __init__( :paramtype location: str :keyword identity: Managed identity properties. :paramtype identity: ~azure.mgmt.devcenter.models.ManagedServiceIdentity + :keyword encryption: Encryption settings to be used for server-side encryption for proprietary + content (such as catalogs, logs, customizations). + :paramtype encryption: ~azure.mgmt.devcenter.models.Encryption """ super().__init__(tags=tags, location=location, **kwargs) self.identity = identity + self.encryption = encryption + + +class Encryption(_serialization.Model): + """Encryption. + + :ivar customer_managed_key_encryption: All Customer-managed key encryption properties for the + resource. + :vartype customer_managed_key_encryption: + ~azure.mgmt.devcenter.models.CustomerManagedKeyEncryption + """ + + _attribute_map = { + "customer_managed_key_encryption": { + "key": "customerManagedKeyEncryption", + "type": "CustomerManagedKeyEncryption", + }, + } + + def __init__( + self, *, customer_managed_key_encryption: Optional["_models.CustomerManagedKeyEncryption"] = None, **kwargs: Any + ) -> None: + """ + :keyword customer_managed_key_encryption: All Customer-managed key encryption properties for + the resource. + :paramtype customer_managed_key_encryption: + ~azure.mgmt.devcenter.models.CustomerManagedKeyEncryption + """ + super().__init__(**kwargs) + self.customer_managed_key_encryption = customer_managed_key_encryption class EndpointDependency(_serialization.Model): @@ -1395,6 +1906,142 @@ def __init__(self, **kwargs: Any) -> None: self.port = None +class EnvironmentDefinition(ProxyResource): + """Represents an environment definition catalog item. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~azure.mgmt.devcenter.models.SystemData + :ivar description: A short description of the environment definition. + :vartype description: str + :ivar parameters: Input parameters passed to an environment. + :vartype parameters: list[~azure.mgmt.devcenter.models.EnvironmentDefinitionParameter] + :ivar template_path: Path to the Environment Definition entrypoint file. + :vartype template_path: str + :ivar validation_status: Validation status for the environment definition. Known values are: + "Unknown", "Pending", "Succeeded", and "Failed". + :vartype validation_status: str or ~azure.mgmt.devcenter.models.CatalogResourceValidationStatus + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "type": {"readonly": True}, + "system_data": {"readonly": True}, + "description": {"readonly": True}, + "parameters": {"readonly": True}, + "template_path": {"readonly": True}, + "validation_status": {"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"}, + "description": {"key": "properties.description", "type": "str"}, + "parameters": {"key": "properties.parameters", "type": "[EnvironmentDefinitionParameter]"}, + "template_path": {"key": "properties.templatePath", "type": "str"}, + "validation_status": {"key": "properties.validationStatus", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.description = None + self.parameters = None + self.template_path = None + self.validation_status = None + + +class EnvironmentDefinitionListResult(_serialization.Model): + """Results of the environment definition list operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Current page of results. + :vartype value: list[~azure.mgmt.devcenter.models.EnvironmentDefinition] + :ivar next_link: URL to get the next set of results if there are any. + :vartype next_link: str + """ + + _validation = { + "value": {"readonly": True}, + "next_link": {"readonly": True}, + } + + _attribute_map = { + "value": {"key": "value", "type": "[EnvironmentDefinition]"}, + "next_link": {"key": "nextLink", "type": "str"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.value = None + self.next_link = None + + +class EnvironmentDefinitionParameter(_serialization.Model): + """Properties of an Environment Definition parameter. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Unique ID of the parameter. + :vartype id: str + :ivar name: Display name of the parameter. + :vartype name: str + :ivar description: Description of the parameter. + :vartype description: str + :ivar type: A string of one of the basic JSON types (number, integer, array, object, boolean, + string). Known values are: "array", "boolean", "integer", "number", "object", and "string". + :vartype type: str or ~azure.mgmt.devcenter.models.ParameterType + :ivar read_only: Whether or not this parameter is read-only. If true, default should have a + value. + :vartype read_only: bool + :ivar required: Whether or not this parameter is required. + :vartype required: bool + """ + + _validation = { + "id": {"readonly": True}, + "name": {"readonly": True}, + "description": {"readonly": True}, + "type": {"readonly": True}, + "read_only": {"readonly": True}, + "required": {"readonly": True}, + } + + _attribute_map = { + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "description": {"key": "description", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "read_only": {"key": "readOnly", "type": "bool"}, + "required": {"key": "required", "type": "bool"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.id = None + self.name = None + self.description = None + self.type = None + self.read_only = None + self.required = None + + class EnvironmentRole(_serialization.Model): """A role that can be assigned to a user. @@ -1908,44 +2555,6 @@ def __init__(self, **kwargs: Any) -> None: self.message = None -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have - tags and a location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy - information. - :vartype system_data: ~azure.mgmt.devcenter.models.SystemData - """ - - _validation = { - "id": {"readonly": True}, - "name": {"readonly": True}, - "type": {"readonly": True}, - "system_data": {"readonly": True}, - } - - _attribute_map = { - "id": {"key": "id", "type": "str"}, - "name": {"key": "name", "type": "str"}, - "type": {"key": "type", "type": "str"}, - "system_data": {"key": "systemData", "type": "SystemData"}, - } - - def __init__(self, **kwargs: Any) -> None: - """ """ - super().__init__(**kwargs) - - class Image(ProxyResource): # pylint: disable=too-many-instance-attributes """Represents an image. @@ -3072,6 +3681,10 @@ class Pool(TrackedResource): # pylint: disable=too-many-instance-attributes :ivar stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :vartype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :ivar single_sign_on_status: Indicates whether Dev Boxes in this pool are created with single + sign on enabled. The also requires that single sign on be enabled on the tenant. Known values + are: "Disabled" and "Enabled". + :vartype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus :ivar health_status: Overall health status of the Pool. Indicates whether or not the Pool is available to create Dev Boxes. Known values are: "Unknown", "Pending", "Healthy", "Warning", and "Unhealthy". @@ -3079,6 +3692,8 @@ class Pool(TrackedResource): # pylint: disable=too-many-instance-attributes :ivar health_status_details: Details on the Pool health status to help diagnose issues. This is only populated when the pool status indicates the pool is in a non-healthy state. :vartype health_status_details: list[~azure.mgmt.devcenter.models.HealthStatusDetail] + :ivar dev_box_count: Indicates the number of provisioned Dev Boxes in this pool. + :vartype dev_box_count: int :ivar provisioning_state: The provisioning state of the resource. Known values are: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Updating", "Updated", "Deleting", "Deleted", "Succeeded", "Failed", "Canceled", "MovingResources", @@ -3094,6 +3709,7 @@ class Pool(TrackedResource): # pylint: disable=too-many-instance-attributes "location": {"required": True}, "health_status": {"readonly": True}, "health_status_details": {"readonly": True}, + "dev_box_count": {"readonly": True}, "provisioning_state": {"readonly": True}, } @@ -3109,8 +3725,10 @@ class Pool(TrackedResource): # pylint: disable=too-many-instance-attributes "license_type": {"key": "properties.licenseType", "type": "str"}, "local_administrator": {"key": "properties.localAdministrator", "type": "str"}, "stop_on_disconnect": {"key": "properties.stopOnDisconnect", "type": "StopOnDisconnectConfiguration"}, + "single_sign_on_status": {"key": "properties.singleSignOnStatus", "type": "str"}, "health_status": {"key": "properties.healthStatus", "type": "str"}, "health_status_details": {"key": "properties.healthStatusDetails", "type": "[HealthStatusDetail]"}, + "dev_box_count": {"key": "properties.devBoxCount", "type": "int"}, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, } @@ -3124,6 +3742,7 @@ def __init__( license_type: Optional[Union[str, "_models.LicenseType"]] = None, local_administrator: Optional[Union[str, "_models.LocalAdminStatus"]] = None, stop_on_disconnect: Optional["_models.StopOnDisconnectConfiguration"] = None, + single_sign_on_status: Optional[Union[str, "_models.SingleSignOnStatus"]] = None, **kwargs: Any ) -> None: """ @@ -3144,6 +3763,10 @@ def __init__( :keyword stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :paramtype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :keyword single_sign_on_status: Indicates whether Dev Boxes in this pool are created with + single sign on enabled. The also requires that single sign on be enabled on the tenant. Known + values are: "Disabled" and "Enabled". + :paramtype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus """ super().__init__(tags=tags, location=location, **kwargs) self.dev_box_definition_name = dev_box_definition_name @@ -3151,8 +3774,10 @@ def __init__( self.license_type = license_type self.local_administrator = local_administrator self.stop_on_disconnect = stop_on_disconnect + self.single_sign_on_status = single_sign_on_status self.health_status = None self.health_status_details = None + self.dev_box_count = None self.provisioning_state = None @@ -3200,6 +3825,10 @@ class PoolUpdateProperties(_serialization.Model): :ivar stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :vartype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :ivar single_sign_on_status: Indicates whether Dev Boxes in this pool are created with single + sign on enabled. The also requires that single sign on be enabled on the tenant. Known values + are: "Disabled" and "Enabled". + :vartype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus """ _attribute_map = { @@ -3208,6 +3837,7 @@ class PoolUpdateProperties(_serialization.Model): "license_type": {"key": "licenseType", "type": "str"}, "local_administrator": {"key": "localAdministrator", "type": "str"}, "stop_on_disconnect": {"key": "stopOnDisconnect", "type": "StopOnDisconnectConfiguration"}, + "single_sign_on_status": {"key": "singleSignOnStatus", "type": "str"}, } def __init__( @@ -3218,6 +3848,7 @@ def __init__( license_type: Optional[Union[str, "_models.LicenseType"]] = None, local_administrator: Optional[Union[str, "_models.LocalAdminStatus"]] = None, stop_on_disconnect: Optional["_models.StopOnDisconnectConfiguration"] = None, + single_sign_on_status: Optional[Union[str, "_models.SingleSignOnStatus"]] = None, **kwargs: Any ) -> None: """ @@ -3234,6 +3865,10 @@ def __init__( :keyword stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :paramtype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :keyword single_sign_on_status: Indicates whether Dev Boxes in this pool are created with + single sign on enabled. The also requires that single sign on be enabled on the tenant. Known + values are: "Disabled" and "Enabled". + :paramtype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus """ super().__init__(**kwargs) self.dev_box_definition_name = dev_box_definition_name @@ -3241,6 +3876,7 @@ def __init__( self.license_type = license_type self.local_administrator = local_administrator self.stop_on_disconnect = stop_on_disconnect + self.single_sign_on_status = single_sign_on_status class PoolProperties(PoolUpdateProperties): @@ -3261,6 +3897,10 @@ class PoolProperties(PoolUpdateProperties): :ivar stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :vartype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :ivar single_sign_on_status: Indicates whether Dev Boxes in this pool are created with single + sign on enabled. The also requires that single sign on be enabled on the tenant. Known values + are: "Disabled" and "Enabled". + :vartype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus :ivar health_status: Overall health status of the Pool. Indicates whether or not the Pool is available to create Dev Boxes. Known values are: "Unknown", "Pending", "Healthy", "Warning", and "Unhealthy". @@ -3268,6 +3908,8 @@ class PoolProperties(PoolUpdateProperties): :ivar health_status_details: Details on the Pool health status to help diagnose issues. This is only populated when the pool status indicates the pool is in a non-healthy state. :vartype health_status_details: list[~azure.mgmt.devcenter.models.HealthStatusDetail] + :ivar dev_box_count: Indicates the number of provisioned Dev Boxes in this pool. + :vartype dev_box_count: int :ivar provisioning_state: The provisioning state of the resource. Known values are: "NotSpecified", "Accepted", "Running", "Creating", "Created", "Updating", "Updated", "Deleting", "Deleted", "Succeeded", "Failed", "Canceled", "MovingResources", @@ -3278,6 +3920,7 @@ class PoolProperties(PoolUpdateProperties): _validation = { "health_status": {"readonly": True}, "health_status_details": {"readonly": True}, + "dev_box_count": {"readonly": True}, "provisioning_state": {"readonly": True}, } @@ -3287,8 +3930,10 @@ class PoolProperties(PoolUpdateProperties): "license_type": {"key": "licenseType", "type": "str"}, "local_administrator": {"key": "localAdministrator", "type": "str"}, "stop_on_disconnect": {"key": "stopOnDisconnect", "type": "StopOnDisconnectConfiguration"}, + "single_sign_on_status": {"key": "singleSignOnStatus", "type": "str"}, "health_status": {"key": "healthStatus", "type": "str"}, "health_status_details": {"key": "healthStatusDetails", "type": "[HealthStatusDetail]"}, + "dev_box_count": {"key": "devBoxCount", "type": "int"}, "provisioning_state": {"key": "provisioningState", "type": "str"}, } @@ -3300,6 +3945,7 @@ def __init__( license_type: Optional[Union[str, "_models.LicenseType"]] = None, local_administrator: Optional[Union[str, "_models.LocalAdminStatus"]] = None, stop_on_disconnect: Optional["_models.StopOnDisconnectConfiguration"] = None, + single_sign_on_status: Optional[Union[str, "_models.SingleSignOnStatus"]] = None, **kwargs: Any ) -> None: """ @@ -3316,6 +3962,10 @@ def __init__( :keyword stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :paramtype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :keyword single_sign_on_status: Indicates whether Dev Boxes in this pool are created with + single sign on enabled. The also requires that single sign on be enabled on the tenant. Known + values are: "Disabled" and "Enabled". + :paramtype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus """ super().__init__( dev_box_definition_name=dev_box_definition_name, @@ -3323,10 +3973,12 @@ def __init__( license_type=license_type, local_administrator=local_administrator, stop_on_disconnect=stop_on_disconnect, + single_sign_on_status=single_sign_on_status, **kwargs ) self.health_status = None self.health_status_details = None + self.dev_box_count = None self.provisioning_state = None @@ -3351,6 +4003,10 @@ class PoolUpdate(TrackedResourceUpdate): :ivar stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :vartype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :ivar single_sign_on_status: Indicates whether Dev Boxes in this pool are created with single + sign on enabled. The also requires that single sign on be enabled on the tenant. Known values + are: "Disabled" and "Enabled". + :vartype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus """ _attribute_map = { @@ -3361,6 +4017,7 @@ class PoolUpdate(TrackedResourceUpdate): "license_type": {"key": "properties.licenseType", "type": "str"}, "local_administrator": {"key": "properties.localAdministrator", "type": "str"}, "stop_on_disconnect": {"key": "properties.stopOnDisconnect", "type": "StopOnDisconnectConfiguration"}, + "single_sign_on_status": {"key": "properties.singleSignOnStatus", "type": "str"}, } def __init__( @@ -3373,6 +4030,7 @@ def __init__( license_type: Optional[Union[str, "_models.LicenseType"]] = None, local_administrator: Optional[Union[str, "_models.LocalAdminStatus"]] = None, stop_on_disconnect: Optional["_models.StopOnDisconnectConfiguration"] = None, + single_sign_on_status: Optional[Union[str, "_models.SingleSignOnStatus"]] = None, **kwargs: Any ) -> None: """ @@ -3393,6 +4051,10 @@ def __init__( :keyword stop_on_disconnect: Stop on disconnect configuration settings for Dev Boxes created in this pool. :paramtype stop_on_disconnect: ~azure.mgmt.devcenter.models.StopOnDisconnectConfiguration + :keyword single_sign_on_status: Indicates whether Dev Boxes in this pool are created with + single sign on enabled. The also requires that single sign on be enabled on the tenant. Known + values are: "Disabled" and "Enabled". + :paramtype single_sign_on_status: str or ~azure.mgmt.devcenter.models.SingleSignOnStatus """ super().__init__(tags=tags, location=location, **kwargs) self.dev_box_definition_name = dev_box_definition_name @@ -3400,6 +4062,7 @@ def __init__( self.license_type = license_type self.local_administrator = local_administrator self.stop_on_disconnect = stop_on_disconnect + self.single_sign_on_status = single_sign_on_status class Project(TrackedResource): # pylint: disable=too-many-instance-attributes @@ -4490,6 +5153,89 @@ def __init__( self.grace_period_minutes = grace_period_minutes +class SyncErrorDetails(_serialization.Model): + """Synchronization error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar operation_error: Error information for the overall synchronization operation. + :vartype operation_error: ~azure.mgmt.devcenter.models.CatalogErrorDetails + :ivar conflicts: Catalog items that have conflicting names. + :vartype conflicts: list[~azure.mgmt.devcenter.models.CatalogConflictError] + :ivar errors: Errors that occured during synchronization. + :vartype errors: list[~azure.mgmt.devcenter.models.CatalogSyncError] + """ + + _validation = { + "operation_error": {"readonly": True}, + "conflicts": {"readonly": True}, + "errors": {"readonly": True}, + } + + _attribute_map = { + "operation_error": {"key": "operationError", "type": "CatalogErrorDetails"}, + "conflicts": {"key": "conflicts", "type": "[CatalogConflictError]"}, + "errors": {"key": "errors", "type": "[CatalogSyncError]"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.operation_error = None + self.conflicts = None + self.errors = None + + +class SyncStats(_serialization.Model): + """Stats of the synchronization. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar added: Count of catalog items added during synchronization. + :vartype added: int + :ivar updated: Count of catalog items updated during synchronization. + :vartype updated: int + :ivar unchanged: Count of catalog items that were unchanged during synchronization. + :vartype unchanged: int + :ivar removed: Count of catalog items removed during synchronization. + :vartype removed: int + :ivar validation_errors: Count of catalog items that had validation errors during + synchronization. + :vartype validation_errors: int + :ivar synchronization_errors: Count of synchronization errors that occured during + synchronization. + :vartype synchronization_errors: int + """ + + _validation = { + "added": {"readonly": True, "minimum": 0}, + "updated": {"readonly": True, "minimum": 0}, + "unchanged": {"readonly": True, "minimum": 0}, + "removed": {"readonly": True, "minimum": 0}, + "validation_errors": {"readonly": True, "minimum": 0}, + "synchronization_errors": {"readonly": True, "minimum": 0}, + } + + _attribute_map = { + "added": {"key": "added", "type": "int"}, + "updated": {"key": "updated", "type": "int"}, + "unchanged": {"key": "unchanged", "type": "int"}, + "removed": {"key": "removed", "type": "int"}, + "validation_errors": {"key": "validationErrors", "type": "int"}, + "synchronization_errors": {"key": "synchronizationErrors", "type": "int"}, + } + + def __init__(self, **kwargs: Any) -> None: + """ """ + super().__init__(**kwargs) + self.added = None + self.updated = None + self.unchanged = None + self.removed = None + self.validation_errors = None + self.synchronization_errors = None + + class SystemData(_serialization.Model): """Metadata pertaining to creation and last modification of the resource. diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/__init__.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/__init__.py index 8db3786da467..dccc7a3f54e8 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/__init__.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/__init__.py @@ -21,6 +21,9 @@ from ._operation_statuses_operations import OperationStatusesOperations from ._usages_operations import UsagesOperations from ._check_name_availability_operations import CheckNameAvailabilityOperations +from ._catalog_dev_box_definitions_operations import CatalogDevBoxDefinitionsOperations +from ._customization_tasks_operations import CustomizationTasksOperations +from ._environment_definitions_operations import EnvironmentDefinitionsOperations from ._skus_operations import SkusOperations from ._pools_operations import PoolsOperations from ._schedules_operations import SchedulesOperations @@ -46,6 +49,9 @@ "OperationStatusesOperations", "UsagesOperations", "CheckNameAvailabilityOperations", + "CatalogDevBoxDefinitionsOperations", + "CustomizationTasksOperations", + "EnvironmentDefinitionsOperations", "SkusOperations", "PoolsOperations", "SchedulesOperations", diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_attached_networks_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_attached_networks_operations.py index 94ac0ee96cd0..f61894727e9f 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_attached_networks_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_attached_networks_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_project_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -57,10 +58,17 @@ def build_list_by_project_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -83,7 +91,7 @@ def build_get_by_project_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -96,13 +104,25 @@ def build_get_by_project_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), "attachedNetworkConnectionName": _SERIALIZER.url( - "attached_network_connection_name", attached_network_connection_name, "str" + "attached_network_connection_name", + attached_network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -119,7 +139,7 @@ def build_list_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -132,10 +152,17 @@ def build_list_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -158,7 +185,7 @@ def build_get_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -171,13 +198,25 @@ def build_get_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), "attachedNetworkConnectionName": _SERIALIZER.url( - "attached_network_connection_name", attached_network_connection_name, "str" + "attached_network_connection_name", + attached_network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -198,7 +237,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -212,13 +251,25 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), "attachedNetworkConnectionName": _SERIALIZER.url( - "attached_network_connection_name", attached_network_connection_name, "str" + "attached_network_connection_name", + attached_network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -241,7 +292,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -254,13 +305,25 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), "attachedNetworkConnectionName": _SERIALIZER.url( - "attached_network_connection_name", attached_network_connection_name, "str" + "attached_network_connection_name", + attached_network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -642,7 +705,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "AttachedNetworkConnection") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalog_dev_box_definitions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalog_dev_box_definitions_operations.py new file mode 100644 index 000000000000..8c5b7e6174af --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalog_dev_box_definitions_operations.py @@ -0,0 +1,487 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Iterable, Optional, TypeVar +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.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 .. import models as _models +from .._serialization import Serializer +from .._vendor import _convert_request + +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_catalog_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + subscription_id: str, + *, + 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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "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_get_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + dev_box_definition_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**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_get_error_details_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + dev_box_definition_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}/getErrorDetails", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**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 CatalogDevBoxDefinitionsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.devcenter.DevCenterMgmtClient`'s + :attr:`catalog_dev_box_definitions` 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_catalog( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + top: Optional[int] = None, + **kwargs: Any + ) -> Iterable["_models.DevBoxDefinition"]: + """List Dev Box definitions in the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param top: The maximum number of resources to return from the operation. Example: '$top=10'. + 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 DevBoxDefinition or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.devcenter.models.DevBoxDefinition] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.DevBoxDefinitionListResult] = 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_catalog_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + top=top, + api_version=api_version, + template_url=self.list_by_catalog.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("DevBoxDefinitionListResult", 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + list_by_catalog.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions" + } + + @distributed_trace + def get( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + dev_box_definition_name: str, + **kwargs: Any + ) -> _models.DevBoxDefinition: + """Gets a Dev Box definition from the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param dev_box_definition_name: The name of the Dev Box definition. Required. + :type dev_box_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DevBoxDefinition or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.DevBoxDefinition + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.DevBoxDefinition] = kwargs.pop("cls", None) + + request = build_get_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + dev_box_definition_name=dev_box_definition_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("DevBoxDefinition", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}" + } + + @distributed_trace + def get_error_details( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + dev_box_definition_name: str, + **kwargs: Any + ) -> _models.CatalogResourceValidationErrorDetails: + """Gets Catalog Devbox Definition error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param dev_box_definition_name: The name of the Dev Box definition. Required. + :type dev_box_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CatalogResourceValidationErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CatalogResourceValidationErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CatalogResourceValidationErrorDetails] = kwargs.pop("cls", None) + + request = build_get_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + dev_box_definition_name=dev_box_definition_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CatalogResourceValidationErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/devboxdefinitions/{devBoxDefinitionName}/getErrorDetails" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalogs_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalogs_operations.py index 28681e7ec39c..70dd88a7cd9c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalogs_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_catalogs_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -57,10 +58,17 @@ def build_list_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -79,7 +87,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,11 +100,25 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "catalogName": _SERIALIZER.url("catalog_name", catalog_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -113,7 +135,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -127,11 +149,25 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "catalogName": _SERIALIZER.url("catalog_name", catalog_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -150,7 +186,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -164,11 +200,25 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "catalogName": _SERIALIZER.url("catalog_name", catalog_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -187,7 +237,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -200,11 +250,25 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "catalogName": _SERIALIZER.url("catalog_name", catalog_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -215,13 +279,61 @@ def build_delete_request( return HttpRequest(method="DELETE", url=_url, params=_params, headers=_headers, **kwargs) +def build_get_sync_error_details_request( + resource_group_name: str, dev_center_name: str, catalog_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/getSyncErrorDetails", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**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_sync_request( resource_group_name: str, dev_center_name: str, catalog_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -234,11 +346,73 @@ def build_sync_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "catalogName": _SERIALIZER.url("catalog_name", catalog_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**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_connect_request( + resource_group_name: str, dev_center_name: str, catalog_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -454,7 +628,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Catalog") @@ -685,7 +859,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "CatalogUpdate") @@ -1012,6 +1186,73 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}" } + @distributed_trace + def get_sync_error_details( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, **kwargs: Any + ) -> _models.SyncErrorDetails: + """Gets catalog synchronization error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SyncErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.SyncErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.SyncErrorDetails] = kwargs.pop("cls", None) + + request = build_get_sync_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_sync_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("SyncErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_sync_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/getSyncErrorDetails" + } + def _sync_initial( # pylint: disable=inconsistent-return-statements self, resource_group_name: str, dev_center_name: str, catalog_name: str, **kwargs: Any ) -> None: @@ -1130,3 +1371,122 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- begin_sync.metadata = { "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/sync" } + + def _connect_initial( # pylint: disable=inconsistent-return-statements + self, resource_group_name: str, dev_center_name: str, catalog_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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[None] = kwargs.pop("cls", None) + + request = build_connect_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self._connect_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 [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _connect_initial.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect" + } + + @distributed_trace + def begin_connect( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, **kwargs: Any + ) -> LROPoller[None]: + """Connects a catalog to enable syncing. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_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: str = 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._connect_initial( # type: ignore + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_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": "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_connect.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_check_name_availability_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_check_name_availability_operations.py index f3eb11a9579c..8a982bdb4e62 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_check_name_availability_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_check_name_availability_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload from azure.core.exceptions import ( @@ -25,7 +26,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -38,7 +39,7 @@ def build_execute_request(subscription_id: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -50,7 +51,7 @@ def build_execute_request(subscription_id: str, **kwargs: Any) -> HttpRequest: "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -158,7 +159,7 @@ def execute( content_type = content_type or "application/json" _json = None _content = None - if isinstance(name_availability_request, (IO, bytes)): + if isinstance(name_availability_request, (IOBase, bytes)): _content = name_availability_request else: _json = self._serialize.body(name_availability_request, "CheckNameAvailabilityRequest") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_customization_tasks_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_customization_tasks_operations.py new file mode 100644 index 000000000000..4a0cabdcdcd1 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_customization_tasks_operations.py @@ -0,0 +1,467 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Iterable, Optional, TypeVar +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.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 .. import models as _models +from .._serialization import Serializer +from .._vendor import _convert_request + +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_catalog_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + subscription_id: str, + *, + 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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "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_get_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + task_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "taskName": _SERIALIZER.url( + "task_name", task_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), + } + + _url: str = _url.format(**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_get_error_details_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + task_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}/getErrorDetails", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "taskName": _SERIALIZER.url( + "task_name", task_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), + } + + _url: str = _url.format(**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 CustomizationTasksOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.devcenter.DevCenterMgmtClient`'s + :attr:`customization_tasks` 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_catalog( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + top: Optional[int] = None, + **kwargs: Any + ) -> Iterable["_models.CustomizationTask"]: + """List Tasks in the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param top: The maximum number of resources to return from the operation. Example: '$top=10'. + 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 CustomizationTask or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.devcenter.models.CustomizationTask] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CustomizationTaskListResult] = 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_catalog_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + top=top, + api_version=api_version, + template_url=self.list_by_catalog.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("CustomizationTaskListResult", 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + list_by_catalog.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks" + } + + @distributed_trace + def get( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, task_name: str, **kwargs: Any + ) -> _models.CustomizationTask: + """Gets a Task from the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param task_name: The name of the Task. Required. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomizationTask or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CustomizationTask + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CustomizationTask] = kwargs.pop("cls", None) + + request = build_get_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + task_name=task_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CustomizationTask", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}" + } + + @distributed_trace + def get_error_details( + self, resource_group_name: str, dev_center_name: str, catalog_name: str, task_name: str, **kwargs: Any + ) -> _models.CatalogResourceValidationErrorDetails: + """Gets Customization Task error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param task_name: The name of the Task. Required. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CatalogResourceValidationErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CatalogResourceValidationErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CatalogResourceValidationErrorDetails] = kwargs.pop("cls", None) + + request = build_get_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + task_name=task_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CatalogResourceValidationErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}/getErrorDetails" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_box_definitions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_box_definitions_operations.py index c6325ad592a3..bfeb49f15f12 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_box_definitions_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_box_definitions_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -57,10 +58,17 @@ def build_list_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -79,7 +87,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,11 +100,25 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "devBoxDefinitionName": _SERIALIZER.url("dev_box_definition_name", dev_box_definition_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -113,7 +135,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -127,11 +149,25 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "devBoxDefinitionName": _SERIALIZER.url("dev_box_definition_name", dev_box_definition_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -150,7 +186,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -164,11 +200,25 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "devBoxDefinitionName": _SERIALIZER.url("dev_box_definition_name", dev_box_definition_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -187,7 +237,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -200,11 +250,25 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "devBoxDefinitionName": _SERIALIZER.url("dev_box_definition_name", dev_box_definition_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -221,7 +285,7 @@ def build_list_by_project_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -234,10 +298,17 @@ def build_list_by_project_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -256,7 +327,7 @@ def build_get_by_project_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -269,11 +340,25 @@ def build_get_by_project_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "devBoxDefinitionName": _SERIALIZER.url("dev_box_definition_name", dev_box_definition_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "devBoxDefinitionName": _SERIALIZER.url( + "dev_box_definition_name", + dev_box_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -491,7 +576,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevBoxDefinition") @@ -730,7 +815,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevBoxDefinitionUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_centers_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_centers_operations.py index 1bd6894b984b..e17607faee5c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_centers_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_dev_centers_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_subscription_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -53,7 +54,7 @@ def build_list_by_subscription_request( "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -72,7 +73,7 @@ def build_list_by_resource_group_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -87,7 +88,7 @@ def build_list_by_resource_group_request( ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -106,7 +107,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -119,10 +120,17 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -139,7 +147,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -153,10 +161,17 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -175,7 +190,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -189,10 +204,17 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -211,7 +233,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -224,10 +246,17 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -516,7 +545,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevCenter") @@ -731,7 +760,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "DevCenterUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_definitions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_definitions_operations.py new file mode 100644 index 000000000000..70c60c4e00b5 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_definitions_operations.py @@ -0,0 +1,488 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Iterable, Optional, TypeVar +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.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 .. import models as _models +from .._serialization import Serializer +from .._vendor import _convert_request + +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_catalog_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + subscription_id: str, + *, + 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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**path_format_arguments) # type: ignore + + # Construct parameters + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "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_get_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + environment_definition_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentDefinitionName": _SERIALIZER.url( + "environment_definition_name", + environment_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**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_get_error_details_request( + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + environment_definition_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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) + accept = _headers.pop("Accept", "application/json") + + # Construct URL + _url = kwargs.pop( + "template_url", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails", + ) # 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 + ), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "catalogName": _SERIALIZER.url( + "catalog_name", + catalog_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentDefinitionName": _SERIALIZER.url( + "environment_definition_name", + environment_definition_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + } + + _url: str = _url.format(**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 EnvironmentDefinitionsOperations: + """ + .. warning:: + **DO NOT** instantiate this class directly. + + Instead, you should access the following operations through + :class:`~azure.mgmt.devcenter.DevCenterMgmtClient`'s + :attr:`environment_definitions` 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_catalog( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + top: Optional[int] = None, + **kwargs: Any + ) -> Iterable["_models.EnvironmentDefinition"]: + """List environment definitions in the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param top: The maximum number of resources to return from the operation. Example: '$top=10'. + 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 EnvironmentDefinition or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.devcenter.models.EnvironmentDefinition] + :raises ~azure.core.exceptions.HttpResponseError: + """ + _headers = kwargs.pop("headers", {}) or {} + _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) + + api_version: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.EnvironmentDefinitionListResult] = 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_catalog_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + subscription_id=self._config.subscription_id, + top=top, + api_version=api_version, + template_url=self.list_by_catalog.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("EnvironmentDefinitionListResult", 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged(get_next, extract_data) + + list_by_catalog.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions" + } + + @distributed_trace + def get( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + environment_definition_name: str, + **kwargs: Any + ) -> _models.EnvironmentDefinition: + """Gets an environment definition from the catalog. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param environment_definition_name: The name of the Environment Definition. Required. + :type environment_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EnvironmentDefinition or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.EnvironmentDefinition + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.EnvironmentDefinition] = kwargs.pop("cls", None) + + request = build_get_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + environment_definition_name=environment_definition_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("EnvironmentDefinition", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}" + } + + @distributed_trace + def get_error_details( + self, + resource_group_name: str, + dev_center_name: str, + catalog_name: str, + environment_definition_name: str, + **kwargs: Any + ) -> _models.CatalogResourceValidationErrorDetails: + """Gets Environment Definition error details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + Required. + :type resource_group_name: str + :param dev_center_name: The name of the devcenter. Required. + :type dev_center_name: str + :param catalog_name: The name of the Catalog. Required. + :type catalog_name: str + :param environment_definition_name: The name of the Environment Definition. Required. + :type environment_definition_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CatalogResourceValidationErrorDetails or the result of cls(response) + :rtype: ~azure.mgmt.devcenter.models.CatalogResourceValidationErrorDetails + :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: str = kwargs.pop("api_version", _params.pop("api-version", self._config.api_version)) + cls: ClsType[_models.CatalogResourceValidationErrorDetails] = kwargs.pop("cls", None) + + request = build_get_error_details_request( + resource_group_name=resource_group_name, + dev_center_name=dev_center_name, + catalog_name=catalog_name, + environment_definition_name=environment_definition_name, + subscription_id=self._config.subscription_id, + api_version=api_version, + template_url=self.get_error_details.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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize("CatalogResourceValidationErrorDetails", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_error_details.metadata = { + "url": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails" + } diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_types_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_types_operations.py index 6e66421de0bf..a18c70c99b47 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_types_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_environment_types_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload import urllib.parse @@ -27,7 +28,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -42,7 +43,7 @@ def build_list_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -55,10 +56,17 @@ def build_list_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -77,7 +85,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -90,11 +98,25 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -111,7 +133,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -125,11 +147,25 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -148,7 +184,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -162,11 +198,25 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -185,7 +235,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -198,11 +248,25 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -503,7 +567,7 @@ def create_or_update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "EnvironmentType") @@ -655,7 +719,7 @@ def update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "EnvironmentTypeUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_galleries_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_galleries_operations.py index 713f83613df8..6f7c3ad1b94c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_galleries_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_galleries_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -57,10 +58,17 @@ def build_list_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -79,7 +87,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,11 +100,25 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -113,7 +135,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -127,11 +149,25 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -150,7 +186,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -163,11 +199,25 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -383,7 +433,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Gallery") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_image_versions_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_image_versions_operations.py index de97619a52da..5b8df7e724cf 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_image_versions_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_image_versions_operations.py @@ -27,7 +27,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -47,7 +47,7 @@ def build_list_by_image_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -60,12 +60,26 @@ def build_list_by_image_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), "imageName": _SERIALIZER.url("image_name", image_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -88,7 +102,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -101,13 +115,27 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), "imageName": _SERIALIZER.url("image_name", image_name, "str"), "versionName": _SERIALIZER.url("version_name", version_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_images_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_images_operations.py index dc274133c2ef..8f8c75b70ea9 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_images_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_images_operations.py @@ -27,7 +27,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -42,7 +42,7 @@ def build_list_by_dev_center_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -55,10 +55,17 @@ def build_list_by_dev_center_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -83,7 +90,7 @@ def build_list_by_gallery_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -96,11 +103,25 @@ def build_list_by_gallery_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -124,7 +145,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -137,12 +158,26 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "devCenterName": _SERIALIZER.url("dev_center_name", dev_center_name, "str"), - "galleryName": _SERIALIZER.url("gallery_name", gallery_name, "str"), + "devCenterName": _SERIALIZER.url( + "dev_center_name", + dev_center_name, + "str", + max_length=26, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + ), + "galleryName": _SERIALIZER.url( + "gallery_name", + gallery_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), "imageName": _SERIALIZER.url("image_name", image_name, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_network_connections_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_network_connections_operations.py index 38b3cec717cb..d2cc29303b3a 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_network_connections_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_network_connections_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_subscription_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -55,7 +56,7 @@ def build_list_by_subscription_request( "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -74,7 +75,7 @@ def build_list_by_resource_group_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -89,7 +90,7 @@ def build_list_by_resource_group_request( ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -108,7 +109,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -121,10 +122,17 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -141,7 +149,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -155,10 +163,17 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -177,7 +192,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -191,10 +206,17 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -213,7 +235,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -226,10 +248,17 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -251,7 +280,7 @@ def build_list_health_details_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -264,10 +293,17 @@ def build_list_health_details_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -286,7 +322,7 @@ def build_get_health_details_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -299,10 +335,17 @@ def build_get_health_details_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -319,7 +362,7 @@ def build_run_health_checks_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -332,10 +375,17 @@ def build_run_health_checks_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -346,7 +396,7 @@ def build_run_health_checks_request( return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_list_outbound_network_dependencies_endpoints_request( # pylint: disable=name-too-long +def build_list_outbound_network_dependencies_endpoints_request( resource_group_name: str, network_connection_name: str, subscription_id: str, @@ -357,7 +407,7 @@ def build_list_outbound_network_dependencies_endpoints_request( # pylint: disab _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -370,10 +420,17 @@ def build_list_outbound_network_dependencies_endpoints_request( # pylint: disab "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "networkConnectionName": _SERIALIZER.url("network_connection_name", network_connection_name, "str"), + "networkConnectionName": _SERIALIZER.url( + "network_connection_name", + network_connection_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -671,7 +728,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "NetworkConnection") @@ -901,7 +958,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "NetworkConnectionUpdate") @@ -1498,7 +1555,7 @@ def get_long_running_output(pipeline_response): # pylint: disable=inconsistent- } @distributed_trace - def list_outbound_network_dependencies_endpoints( # pylint: disable=name-too-long + def list_outbound_network_dependencies_endpoints( self, resource_group_name: str, network_connection_name: str, top: Optional[int] = None, **kwargs: Any ) -> Iterable["_models.OutboundEnvironmentEndpoint"]: """Lists the endpoints that agents may call as part of Dev Box service administration. These FQDNs diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operation_statuses_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operation_statuses_operations.py index 174ba8647af8..07969b643f78 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operation_statuses_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operation_statuses_operations.py @@ -25,7 +25,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -38,7 +38,7 @@ def build_get_request(location: str, operation_id: str, subscription_id: str, ** _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -52,7 +52,7 @@ def build_get_request(location: str, operation_id: str, subscription_id: str, ** "operationId": _SERIALIZER.url("operation_id", operation_id, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operations.py index 76bece119279..8fd1f813d2b1 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_operations.py @@ -40,7 +40,7 @@ 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: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_pools_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_pools_operations.py index c564ff131c4b..523669c91aae 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_pools_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_pools_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_project_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -57,10 +58,17 @@ def build_list_by_project_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -79,7 +87,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -92,11 +100,20 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -113,7 +130,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -127,11 +144,20 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -150,7 +176,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -164,11 +190,20 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -187,7 +222,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -200,11 +235,20 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -221,7 +265,7 @@ def build_run_health_checks_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -234,11 +278,20 @@ def build_run_health_checks_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -449,7 +502,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Pool") @@ -679,7 +732,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "PoolUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_allowed_environment_types_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_allowed_environment_types_operations.py index 165948852975..20638f9c9be6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_allowed_environment_types_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_allowed_environment_types_operations.py @@ -27,7 +27,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -42,7 +42,7 @@ def build_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -55,10 +55,17 @@ def build_list_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -77,7 +84,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -90,11 +97,25 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_environment_types_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_environment_types_operations.py index 72e762aacb37..bf79be615cdc 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_environment_types_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_project_environment_types_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, overload import urllib.parse @@ -27,7 +28,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -42,7 +43,7 @@ def build_list_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -55,10 +56,17 @@ def build_list_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -77,7 +85,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -90,11 +98,25 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -111,7 +133,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -125,11 +147,25 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -148,7 +184,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -162,11 +198,25 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -185,7 +235,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -198,11 +248,25 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "environmentTypeName": _SERIALIZER.url("environment_type_name", environment_type_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "environmentTypeName": _SERIALIZER.url( + "environment_type_name", + environment_type_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -504,7 +568,7 @@ def create_or_update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ProjectEnvironmentType") @@ -656,7 +720,7 @@ def update( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ProjectEnvironmentTypeUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_projects_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_projects_operations.py index 210ca5690540..f12e70dd4cf6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_projects_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_projects_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -44,7 +45,7 @@ def build_list_by_subscription_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -53,7 +54,7 @@ def build_list_by_subscription_request( "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -72,7 +73,7 @@ def build_list_by_resource_group_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -87,7 +88,7 @@ def build_list_by_resource_group_request( ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -104,7 +105,7 @@ def build_get_request(resource_group_name: str, project_name: str, subscription_ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -117,10 +118,17 @@ def build_get_request(resource_group_name: str, project_name: str, subscription_ "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -137,7 +145,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -151,10 +159,17 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -173,7 +188,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -187,10 +202,17 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -209,7 +231,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -222,10 +244,17 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -514,7 +543,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Project") @@ -729,7 +758,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ProjectUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_schedules_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_schedules_operations.py index d794c2e05540..a2568f222977 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_schedules_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_schedules_operations.py @@ -6,6 +6,7 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from io import IOBase from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload import urllib.parse @@ -29,7 +30,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -50,7 +51,7 @@ def build_list_by_pool_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -63,11 +64,20 @@ def build_list_by_pool_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -93,7 +103,7 @@ def build_get_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -106,14 +116,23 @@ def build_get_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), "scheduleName": _SERIALIZER.url( "schedule_name", schedule_name, "str", max_length=100, min_length=1, pattern=r"^[-\w]+$" ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -139,7 +158,7 @@ def build_create_or_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -153,14 +172,23 @@ def build_create_or_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), "scheduleName": _SERIALIZER.url( "schedule_name", schedule_name, "str", max_length=100, min_length=1, pattern=r"^[-\w]+$" ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -188,7 +216,7 @@ def build_update_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None)) accept = _headers.pop("Accept", "application/json") @@ -202,14 +230,23 @@ def build_update_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), "scheduleName": _SERIALIZER.url( "schedule_name", schedule_name, "str", max_length=100, min_length=1, pattern=r"^[-\w]+$" ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -237,7 +274,7 @@ def build_delete_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -250,14 +287,23 @@ def build_delete_request( "resourceGroupName": _SERIALIZER.url( "resource_group_name", resource_group_name, "str", max_length=90, min_length=1 ), - "projectName": _SERIALIZER.url("project_name", project_name, "str"), - "poolName": _SERIALIZER.url("pool_name", pool_name, "str"), + "projectName": _SERIALIZER.url( + "project_name", + project_name, + "str", + max_length=63, + min_length=3, + pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + ), + "poolName": _SERIALIZER.url( + "pool_name", pool_name, "str", max_length=63, min_length=3, pattern=r"^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$" + ), "scheduleName": _SERIALIZER.url( "schedule_name", schedule_name, "str", max_length=100, min_length=1, pattern=r"^[-\w]+$" ), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") @@ -495,7 +541,7 @@ def _create_or_update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "Schedule") @@ -757,7 +803,7 @@ def _update_initial( content_type = content_type or "application/json" _json = None _content = None - if isinstance(body, (IO, bytes)): + if isinstance(body, (IOBase, bytes)): _content = body else: _json = self._serialize.body(body, "ScheduleUpdate") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_skus_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_skus_operations.py index 1975468a80e4..67290411538a 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_skus_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_skus_operations.py @@ -27,7 +27,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -42,7 +42,7 @@ def build_list_by_subscription_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -51,7 +51,7 @@ def build_list_by_subscription_request( "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, "str", min_length=1), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") diff --git a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_usages_operations.py b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_usages_operations.py index 8b508e04490f..a58d81050a3a 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_usages_operations.py +++ b/sdk/devcenter/azure-mgmt-devcenter/azure/mgmt/devcenter/operations/_usages_operations.py @@ -27,7 +27,7 @@ from .. import models as _models from .._serialization import Serializer -from .._vendor import _convert_request, _format_url_section +from .._vendor import _convert_request T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -40,7 +40,7 @@ def build_list_by_location_request(location: str, subscription_id: str, **kwargs _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-04-01")) + api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2023-08-01-preview")) accept = _headers.pop("Accept", "application/json") # Construct URL @@ -52,7 +52,7 @@ def build_list_by_location_request(location: str, subscription_id: str, **kwargs "location": _SERIALIZER.url("location", location, "str"), } - _url: str = _format_url_section(_url, **path_format_arguments) # type: ignore + _url: str = _url.format(**path_format_arguments) # type: ignore # Construct parameters _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_create.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_create.py index d322ee7d30ac..a28c66dbee67 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_create.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_create.py @@ -42,6 +42,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/AttachedNetworks_Create.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/AttachedNetworks_Create.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_delete.py index 6abd1aca8cd4..650100ef0fdc 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.attached_networks.begin_delete( + client.attached_networks.begin_delete( resource_group_name="rg1", dev_center_name="Contoso", attached_network_connection_name="network-uswest3", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/AttachedNetworks_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/AttachedNetworks_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_dev_center.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_dev_center.py index 3ebeeb934290..b6f173e7da40 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_dev_center.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_dev_center.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/AttachedNetworks_GetByDevCenter.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/AttachedNetworks_GetByDevCenter.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_project.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_project.py index 294bf6c743d7..645b6b863d92 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_project.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_get_by_project.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/AttachedNetworks_GetByProject.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/AttachedNetworks_GetByProject.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_dev_center.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_dev_center.py index eafbc8416b58..c23bec9e2657 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_dev_center.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_dev_center.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/AttachedNetworks_ListByDevCenter.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/AttachedNetworks_ListByDevCenter.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_project.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_project.py index a1d5114e2353..29f96a7d08c4 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_project.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/attached_networks_list_by_project.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/AttachedNetworks_ListByProject.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/AttachedNetworks_ListByProject.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_get.py new file mode 100644 index 000000000000..0e5eef739865 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_get.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python catalog_dev_box_definitions_get.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.catalog_dev_box_definitions.get( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + dev_box_definition_name="WebDevBox", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CatalogDevBoxDefinitions_Get.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_get_error_details.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_get_error_details.py new file mode 100644 index 000000000000..c5fa222f2e93 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_get_error_details.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python catalog_dev_box_definitions_get_error_details.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.catalog_dev_box_definitions.get_error_details( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + dev_box_definition_name="WebDevBox", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CatalogDevBoxDefinitions_GetErrorDetails.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_list_by_catalog.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_list_by_catalog.py new file mode 100644 index 000000000000..b2d4e95d5150 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalog_dev_box_definitions_list_by_catalog.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python catalog_dev_box_definitions_list_by_catalog.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.catalog_dev_box_definitions.list_by_catalog( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CatalogDevBoxDefinitions_ListByCatalog.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_connect.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_connect.py new file mode 100644 index 000000000000..49bd920b3550 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_connect.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python catalogs_connect.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + client.catalogs.begin_connect( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + ).result() + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_Connect.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_ado.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_ado.py index f7eaa28411d4..63e80d35cec4 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_ado.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_ado.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_CreateAdo.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_CreateAdo.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_git_hub.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_git_hub.py index 9fcc2ff95ee5..eeb86ef37cb5 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_git_hub.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_create_git_hub.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_CreateGitHub.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_CreateGitHub.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_delete.py index 823edb0cc672..f57636b59a79 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.catalogs.begin_delete( + client.catalogs.begin_delete( resource_group_name="rg1", dev_center_name="Contoso", catalog_name="CentralCatalog", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get.py index cd43d393b6e5..8b4fde291bdc 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get_sync_error_details.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get_sync_error_details.py new file mode 100644 index 000000000000..d53e0fc86f31 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_get_sync_error_details.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python catalogs_get_sync_error_details.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.catalogs.get_sync_error_details( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_GetSyncErrorDetails.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_list.py index 54f867a2f464..043822603b8d 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_patch.py index e8f05dd1dd51..4153e4d43527 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_sync.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_sync.py index 014555f6f05d..04450893f69f 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_sync.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/catalogs_sync.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.catalogs.begin_sync( + client.catalogs.begin_sync( resource_group_name="rg1", dev_center_name="Contoso", catalog_name="CentralCatalog", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Catalogs_Sync.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Catalogs_Sync.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/check_name_availability.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/check_name_availability.py index 0aba3c853249..49f940557843 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/check_name_availability.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/check_name_availability.py @@ -35,6 +35,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/CheckNameAvailability.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CheckNameAvailability.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_get.py new file mode 100644 index 000000000000..952497307833 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_get.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python customization_tasks_get.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.customization_tasks.get( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + task_name="SampleTask", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CustomizationTasks_Get.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_get_error_details.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_get_error_details.py new file mode 100644 index 000000000000..17a2da3f25ef --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_get_error_details.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python customization_tasks_get_error_details.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.customization_tasks.get_error_details( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + task_name="SampleTask", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CustomizationTasks_GetErrorDetails.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_list_by_catalog.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_list_by_catalog.py new file mode 100644 index 000000000000..bcf34694ece6 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/customization_tasks_list_by_catalog.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python customization_tasks_list_by_catalog.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.customization_tasks.list_by_catalog( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="CentralCatalog", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/CustomizationTasks_ListByCatalog.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_create.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_create.py index 4078bc89e8a3..79cead10c6d6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_create.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_create.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_Create.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_Create.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_delete.py index dc34a1974112..d9e46b1a88d8 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.dev_box_definitions.begin_delete( + client.dev_box_definitions.begin_delete( resource_group_name="rg1", dev_center_name="Contoso", dev_box_definition_name="WebDevBox", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get.py index 6da9dc542e17..d0fa115e2c96 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get_by_project.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get_by_project.py index 86d76fd5913c..9dca31a8e3cd 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get_by_project.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_get_by_project.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_GetByProject.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_GetByProject.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_dev_center.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_dev_center.py index 0245328bee81..b1d82926f1d6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_dev_center.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_dev_center.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_ListByDevCenter.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_project.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_project.py index 359bd6866362..7ead7a0c160b 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_project.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_list_by_project.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_ListByProject.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_ListByProject.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_patch.py index 2ab783ff7343..396eacf498fe 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_box_definitions_patch.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevBoxDefinitions_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevBoxDefinitions_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create.py index 166630e0552f..10b1d4c398bd 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_Create.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_Create.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_encryption.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_encryption.py new file mode 100644 index 000000000000..b24979e2c7c5 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_encryption.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python dev_centers_create_with_encryption.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.dev_centers.begin_create_or_update( + resource_group_name="rg1", + dev_center_name="Contoso", + body={ + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + }, + }, + "location": "centralus", + "properties": { + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1", + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek", + } + } + }, + "tags": {"CostCode": "12345"}, + }, + ).result() + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_CreateWithEncryption.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_user_identity.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_user_identity.py index cfa2b4ed1bef..aeac550e002b 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_user_identity.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_create_with_user_identity.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_CreateWithUserIdentity.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_CreateWithUserIdentity.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_delete.py index 041ee32d2f5b..1c5f48e0fc55 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_delete.py @@ -29,13 +29,12 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.dev_centers.begin_delete( + client.dev_centers.begin_delete( resource_group_name="rg1", dev_center_name="Contoso", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_get.py index 46c6ed93d458..0cd297c08958 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_resource_group.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_resource_group.py index c8dafb383249..152fac6f9998 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_resource_group.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_resource_group.py @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_ListByResourceGroup.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_subscription.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_subscription.py index 9b96c32b0d70..939f49077319 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_subscription.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_list_by_subscription.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_ListBySubscription.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_patch.py index 677290b26242..999a6623e720 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/dev_centers_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/DevCenters_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/DevCenters_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_get.py new file mode 100644 index 000000000000..2d767961d455 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_get.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python environment_definitions_get.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.environment_definitions.get( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="myCatalog", + environment_definition_name="myEnvironmentDefinition", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentDefinitions_Get.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_get_error_details.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_get_error_details.py new file mode 100644 index 000000000000..bb0f8fd66fa9 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_get_error_details.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python environment_definitions_get_error_details.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.environment_definitions.get_error_details( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="myCatalog", + environment_definition_name="myEnvironmentDefinition", + ) + print(response) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_list_by_catalog.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_list_by_catalog.py new file mode 100644 index 000000000000..0a110330b1f1 --- /dev/null +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_definitions_list_by_catalog.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.devcenter import DevCenterMgmtClient + +""" +# PREREQUISITES + pip install azure-identity + pip install azure-mgmt-devcenter +# USAGE + python environment_definitions_list_by_catalog.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 = DevCenterMgmtClient( + credential=DefaultAzureCredential(), + subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", + ) + + response = client.environment_definitions.list_by_catalog( + resource_group_name="rg1", + dev_center_name="Contoso", + catalog_name="myCatalog", + ) + for item in response: + print(item) + + +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json +if __name__ == "__main__": + main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_delete.py index 538b298c44eb..e2ca357326c0 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.environment_types.delete( + client.environment_types.delete( resource_group_name="rg1", dev_center_name="Contoso", environment_type_name="DevTest", ) - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/EnvironmentTypes_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentTypes_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_get.py index a0581c5b7bda..e8d272d5c762 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/EnvironmentTypes_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentTypes_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_list.py index 5b8ec59550bc..a5da577c3e6e 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/EnvironmentTypes_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentTypes_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_patch.py index a80da0c3e010..f9857b278f52 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/EnvironmentTypes_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentTypes_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_put.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_put.py index a1c98b16f1f8..298ad489a1f7 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_put.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/environment_types_put.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/EnvironmentTypes_Put.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/EnvironmentTypes_Put.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_create.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_create.py index 9bc725007801..ae4e7444ec9b 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_create.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_create.py @@ -42,6 +42,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Galleries_Create.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Galleries_Create.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_delete.py index 0a8df9fa89a4..03863ff9463c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.galleries.begin_delete( + client.galleries.begin_delete( resource_group_name="rg1", dev_center_name="Contoso", gallery_name="StandardGallery", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Galleries_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Galleries_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_get.py index 0014eadd4ddd..71d204d7dbb6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Galleries_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Galleries_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_list.py index 9b595f0590bd..d56d3d882407 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/galleries_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Galleries_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Galleries_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_get.py index 56ed91c80b8c..6337b1b9b90c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_get.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ImageVersions_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ImageVersions_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_list.py index c998f1c8ba1f..93bc0704bd98 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/image_versions_list.py @@ -39,6 +39,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ImageVersions_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ImageVersions_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_get.py index 7486c4dd8326..b9128ce82472 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Images_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Images_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_dev_center.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_dev_center.py index 022399fd85c4..fad4b3c4494a 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_dev_center.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_dev_center.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Images_ListByDevCenter.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Images_ListByDevCenter.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_gallery.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_gallery.py index 498a47343ae1..b86d59019c27 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_gallery.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/images_list_by_gallery.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Images_ListByGallery.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Images_ListByGallery.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_delete.py index ada92e384907..d5217d525930 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_delete.py @@ -29,13 +29,12 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.network_connections.begin_delete( + client.network_connections.begin_delete( resource_group_name="rg1", network_connection_name="eastusnetwork", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get.py index 879ab968fd3b..72725386c3cf 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get_health_details.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get_health_details.py index b5cd92f89ca3..f64849d05ff7 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get_health_details.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_get_health_details.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_GetHealthDetails.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_GetHealthDetails.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_resource_group.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_resource_group.py index d26dfd06ffa6..74e046e1ddab 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_resource_group.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_resource_group.py @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_ListByResourceGroup.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_subscription.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_subscription.py index 56561032d58e..2933a5220b6f 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_subscription.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_by_subscription.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_ListBySubscription.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_health_details.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_health_details.py index be5eca6494d0..88acdc7bbe12 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_health_details.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_health_details.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_ListHealthDetails.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_ListHealthDetails.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_outbound_network_dependencies_endpoints.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_outbound_network_dependencies_endpoints.py index 36cb64a69341..776ff3a89129 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_outbound_network_dependencies_endpoints.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_list_outbound_network_dependencies_endpoints.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_patch.py index 334c3cb315fc..8a7399e1e3dd 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_put.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_put.py index deed9b71af1f..a1ed5c54fc36 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_put.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_put.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_Put.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_Put.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_run_health_checks.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_run_health_checks.py index 8c9b9e235369..d68b3f002e31 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_run_health_checks.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/network_connections_run_health_checks.py @@ -29,13 +29,12 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.network_connections.begin_run_health_checks( + client.network_connections.begin_run_health_checks( resource_group_name="rg1", network_connection_name="uswest3network", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/NetworkConnections_RunHealthChecks.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/NetworkConnections_RunHealthChecks.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operation_status_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operation_status_get.py index e33d37e2826c..927b5cfe845c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operation_status_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operation_status_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/OperationStatus_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/OperationStatus_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operations_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operations_get.py index d885c7c12e16..a1390d258ab9 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operations_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/operations_get.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Operations_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Operations_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_delete.py index 43b3ba3ae385..2ba89bbe21df 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.pools.begin_delete( + client.pools.begin_delete( resource_group_name="rg1", project_name="DevProject", pool_name="poolName", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get.py index e495c9c28a67..a4662a603806 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get_unhealthy_status.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get_unhealthy_status.py index 90eca2be528e..592ad6f6e95c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get_unhealthy_status.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_get_unhealthy_status.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_GetUnhealthyStatus.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_GetUnhealthyStatus.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_list.py index d0d0ce1cb973..3a56453e6c8d 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_patch.py index 69d39a457dee..a5a314edf90a 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_patch.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_put.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_put.py index df227ff15f7c..aa71362778b4 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_put.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_put.py @@ -40,6 +40,7 @@ def main(): "licenseType": "Windows_Client", "localAdministrator": "Enabled", "networkConnectionName": "Network1-westus2", + "singleSignOnStatus": "Disabled", "stopOnDisconnect": {"gracePeriodMinutes": 60, "status": "Enabled"}, }, }, @@ -47,6 +48,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_Put.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_Put.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_run_health_checks.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_run_health_checks.py index 3d306fb27a12..4e4da20091dc 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_run_health_checks.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/pools_run_health_checks.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.pools.begin_run_health_checks( + client.pools.begin_run_health_checks( resource_group_name="rg1", project_name="DevProject", pool_name="DevPool", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Pools_RunHealthChecks.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Pools_RunHealthChecks.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_get.py index c0e347a022d2..30318cfe4bdf 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectAllowedEnvironmentTypes_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_list.py index 4bb4239dbaa5..dc17176f059f 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_allowed_environment_types_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectAllowedEnvironmentTypes_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_delete.py index 7faa191113d9..286edfba4116 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_delete.py @@ -29,14 +29,13 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.project_environment_types.delete( + client.project_environment_types.delete( resource_group_name="rg1", project_name="ContosoProj", environment_type_name="DevTest", ) - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectEnvironmentTypes_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectEnvironmentTypes_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_get.py index 9701b9e5067c..f53ea5c92999 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_get.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectEnvironmentTypes_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectEnvironmentTypes_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_list.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_list.py index 0f53c430d880..90d42c5da9ed 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_list.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_list.py @@ -37,6 +37,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectEnvironmentTypes_List.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectEnvironmentTypes_List.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_patch.py index d91f3d1a51ee..9b7c924018ca 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_patch.py @@ -53,6 +53,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectEnvironmentTypes_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectEnvironmentTypes_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_put.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_put.py index bf56472d8f9d..1790488b14a2 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_put.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/project_environment_types_put.py @@ -54,6 +54,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/ProjectEnvironmentTypes_Put.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/ProjectEnvironmentTypes_Put.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_delete.py index 3f98831cd9e7..e55aea7efee9 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_delete.py @@ -29,13 +29,12 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.projects.begin_delete( + client.projects.begin_delete( resource_group_name="rg1", project_name="DevProject", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_get.py index 1e08ba2fe8aa..e253e69bf9d3 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_get.py @@ -36,6 +36,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_resource_group.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_resource_group.py index 74547888fb7c..0a748d3647fd 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_resource_group.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_resource_group.py @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_ListByResourceGroup.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_ListByResourceGroup.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_subscription.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_subscription.py index 60d3443e7fe5..5c30b29f5d14 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_subscription.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_list_by_subscription.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_ListBySubscription.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_patch.py index 532ceea39d9d..bbe8eb1e3112 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_patch.py @@ -37,6 +37,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put.py index 5725412d1eae..15be10614ea7 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put.py @@ -44,6 +44,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_Put.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_Put.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put_with_max_dev_box_per_user.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put_with_max_dev_box_per_user.py index 44f910eea7f6..725808115ffe 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put_with_max_dev_box_per_user.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/projects_put_with_max_dev_box_per_user.py @@ -45,6 +45,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Projects_PutWithMaxDevBoxPerUser.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_create_daily_shutdown_pool_schedule.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_create_daily_shutdown_pool_schedule.py index fa2c3dc09848..6b0440672109 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_create_daily_shutdown_pool_schedule.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_create_daily_shutdown_pool_schedule.py @@ -47,6 +47,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Schedules_CreateDailyShutdownPoolSchedule.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_delete.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_delete.py index b5ef4bc7fedf..74cd310e8cf5 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_delete.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_delete.py @@ -29,15 +29,14 @@ def main(): subscription_id="0ac520ee-14c0-480f-b6c9-0a90c58ffff", ) - response = client.schedules.begin_delete( + client.schedules.begin_delete( resource_group_name="rg1", project_name="TestProject", pool_name="DevPool", schedule_name="autoShutdown", ).result() - print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Schedules_Delete.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Schedules_Delete.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_get.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_get.py index ce47cbec6f25..19abc6af4103 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_get.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_get.py @@ -38,6 +38,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Schedules_Get.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Schedules_Get.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_list_by_pool.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_list_by_pool.py index b919d10b6c1f..c10c0f6516a5 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_list_by_pool.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_list_by_pool.py @@ -38,6 +38,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Schedules_ListByPool.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Schedules_ListByPool.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_patch.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_patch.py index 9dc519148799..0fb5384af39c 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_patch.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/schedules_patch.py @@ -39,6 +39,6 @@ def main(): print(response) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Schedules_Patch.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Schedules_Patch.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/skus_list_by_subscription.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/skus_list_by_subscription.py index 35055c9a3b91..881b67e32d6e 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/skus_list_by_subscription.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/skus_list_by_subscription.py @@ -34,6 +34,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Skus_ListBySubscription.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Skus_ListBySubscription.json if __name__ == "__main__": main() diff --git a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/usages_list_by_location.py b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/usages_list_by_location.py index 360b956f678c..c8995d0cb4d6 100644 --- a/sdk/devcenter/azure-mgmt-devcenter/generated_samples/usages_list_by_location.py +++ b/sdk/devcenter/azure-mgmt-devcenter/generated_samples/usages_list_by_location.py @@ -36,6 +36,6 @@ def main(): print(item) -# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/stable/2023-04-01/examples/Usages_ListByLocation.json +# x-ms-original-file: specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2023-08-01-preview/examples/Usages_ListByLocation.json if __name__ == "__main__": main()